diff --git a/exts/yaxunit/src/CommonModules/ЮТКомпоненты/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКомпоненты/Module.bsl
index b5051eae..cac59d23 100644
--- a/exts/yaxunit/src/CommonModules/ЮТКомпоненты/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТКомпоненты/Module.bsl
@@ -18,6 +18,10 @@
#Область ПрограммныйИнтерфейс
+// Возвращает внешнюю компоненту, реализующую паузу
+//
+// Возвращаемое значение:
+// ВнешнийОбъект
Функция Пауза() Экспорт
Возврат СоздатьКомпоненту(ОписаниеКомпонентыПауза());
@@ -28,34 +32,65 @@
#Область СлужебныйПрограммныйИнтерфейс
+// Создает внешнюю компоненту по описанию
+//
+// Параметры:
+// ОписаниеКомпоненты - см. ОписаниеКомпоненты
+//
+// Возвращаемое значение:
+// ВнешнийОбъект
Функция СоздатьКомпоненту(ОписаниеКомпоненты) Экспорт
- ПодключитьКомпоненту(ОписаниеКомпоненты.ИмяМакета, ОписаниеКомпоненты.ИмяКомпоненты, Истина);
- Возврат Новый (ОписаниеКомпоненты.ИмяКласса);
+ Если ПодключитьКомпоненту(ОписаниеКомпоненты.ИмяМакета, ОписаниеКомпоненты.ИмяКомпоненты, Истина) Тогда
+ Возврат Новый (ОписаниеКомпоненты.ИмяКласса);
+ Иначе
+ ВызватьИсключение "Не удалось подключить внешнюю компоненту " + ОписаниеКомпоненты.ИмяКласса;
+ КонецЕсли;
КонецФункции
+// Подключает внещнюю компоненту из макета
+//
+// Параметры:
+// ИмяМакета - Строка - Имя макета, в котором хранится компонента
+// ИмяКомпоненты - Строка - Имя компоненты
+// Кэшировать - Булево - Кэшировать создание компоненты
+//
+// Возвращаемое значение:
+// Булево - Успешность подключения
Функция ПодключитьКомпоненту(ИмяМакета, ИмяКомпоненты, Кэшировать) Экспорт
Если Кэшировать Тогда
- Возврат ЮТПовторногоИспользования.ПодключитьКомпоненту(ИмяМакета, ИмяКомпоненты)
+ Возврат ЮТПовторногоИспользования.ПодключитьКомпоненту(ИмяМакета, ИмяКомпоненты);
КонецЕсли;
Возврат ПодключитьВнешнююКомпоненту(ИмяМакета, ИмяКомпоненты, ТипВнешнейКомпоненты.Native);
КонецФункции
-#КонецОбласти
-
-#Область СлужебныеПроцедурыИФункции
-
+// Описание компоненты реализующей паузу.
+//
+// Возвращаемое значение:
+// см. ОписаниеКомпоненты
Функция ОписаниеКомпонентыПауза() Экспорт
Возврат ОписаниеКомпоненты("ОбщийМакет.ЮТYaxUnitAddIn", "YaxUnitAddin", "Sleep");
КонецФункции
-Функция ОписаниеКомпоненты(ИмяМакета, ИмяКомпоненты, ИмяКласса)
+// Описание внешней компоненты.
+//
+// Параметры:
+// ИмяМакета - Строка - Имя макета, в котором хранится компонента
+// ИмяКомпоненты - Строка -Имя компоненты
+// ИмяКласса - Строка - Имя класса, по которому создается компонента
+//
+// Возвращаемое значение:
+// ФиксированнаяСтруктура - Описание компоненты:
+// * ИмяМакета - Строка - Имя макета, в котором хранится компонента
+// * ИмяКомпоненты - Строка -Имя компоненты
+// * ИмяКласса - Строка - Имя класса
+Функция ОписаниеКомпоненты(ИмяМакета, ИмяКомпоненты, ИмяКласса) Экспорт
Описание = Новый Структура;
Описание.Вставить("ИмяМакета", ИмяМакета);
diff --git a/exts/yaxunit/src/CommonModules/ЮТКомпонентыВызовСервера/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКомпонентыВызовСервера/Module.bsl
index b4aaab2c..ec01d630 100644
--- a/exts/yaxunit/src/CommonModules/ЮТКомпонентыВызовСервера/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТКомпонентыВызовСервера/Module.bsl
@@ -27,7 +27,7 @@
ИмяФайлаКомпоненты = ИмяФайлаКомпоненты(ЧтениеАрхива, ОперационнаяСистема, Архитектура);
Если ИмяФайлаКомпоненты = Неопределено Тогда
- ВызватьИсключение "Компонента не поддреживает клиентское окружение";
+ ВызватьИсключение "Компонента не поддерживает клиентское окружение";
КонецЕсли;
Данные = ДвоичныеДанныеЭлемента(ЧтениеАрхива, ИмяФайлаКомпоненты);
@@ -55,30 +55,9 @@
Пока ЧтениеXML.Прочитать() Цикл
- Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента И СтрСравнить(ЧтениеXML.Имя, "component") = 0 Тогда
-
- ОперационнаяСистемаУзла = Неопределено;
- АрхитектураУзла = Неопределено;
- ПутьУзла = Неопределено;
-
- Для Инд = 0 По ЧтениеXML.КоличествоАтрибутов() - 1 Цикл
-
- ИмяАтрибута = ЧтениеXML.ЛокальноеИмяАтрибута(Инд);
- Если СтрСравнить(ИмяАтрибута, "os") = 0 Тогда
- ОперационнаяСистемаУзла = ЧтениеXML.ЗначениеАтрибута(Инд);
- ИначеЕсли СтрСравнить(ИмяАтрибута, "path") = 0 Тогда
- ПутьУзла = ЧтениеXML.ЗначениеАтрибута(Инд);
- ИначеЕсли СтрСравнить(ИмяАтрибута, "arch") = 0 Тогда
- АрхитектураУзла = ЧтениеXML.ЗначениеАтрибута(Инд);
- КонецЕсли;
-
- КонецЦикла;
-
- Если ОперационнаяСистема = ОперационнаяСистемаУзла И Архитектура = АрхитектураУзла Тогда
- ИмяФайлаКомпоненты = ПутьУзла;
- Прервать;
- КонецЕсли;
-
+ Если ЭтоПодходящийУзел(ЧтениеXML, ОперационнаяСистема, Архитектура) Тогда
+ ИмяФайлаКомпоненты = ЧтениеXML.ЗначениеАтрибута("path");
+ Прервать;
КонецЕсли;
КонецЦикла;
@@ -89,6 +68,19 @@
КонецФункции
+Функция ЭтоПодходящийУзел(ЧтениеXML, ОперационнаяСистема, Архитектура)
+
+ Если ЧтениеXML.ТипУзла <> ТипУзлаXML.НачалоЭлемента ИЛИ СтрСравнить(ЧтениеXML.Имя, "component") <> 0 Тогда
+ Возврат Ложь;
+ КонецЕсли;
+
+ ОперационнаяСистемаУзла = ЧтениеXML.ЗначениеАтрибута("os");
+ АрхитектураУзла = ЧтениеXML.ЗначениеАтрибута("arch");
+
+ Возврат ОперационнаяСистема = ОперационнаяСистемаУзла И Архитектура = АрхитектураУзла;
+
+КонецФункции
+
Функция ДвоичныеДанныеЭлемента(ЧтениеАрхива, ИмяФайла)
ЭлементФайла = Неопределено;
diff --git a/exts/yaxunit/src/CommonModules/ЮТКомпонентыКлиент/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКомпонентыКлиент/Module.bsl
index c201d119..90adc1bd 100644
--- a/exts/yaxunit/src/CommonModules/ЮТКомпонентыКлиент/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТКомпонентыКлиент/Module.bsl
@@ -44,26 +44,32 @@
ОперационнаяСистема = Неопределено;
Архитектура = Неопределено;
+ Linux = "Linux";
+ Windows = "Windows";
+ MacOS = "MacOS";
+ x86 = "i386";
+ x64 = "x86_64";
+
ТипКлиентскойПлатформы = Информация.ТипПлатформы;
Если ТипКлиентскойПлатформы = ТипПлатформы.Linux_x86 Тогда
- ОперационнаяСистема = "Linux";
- Архитектура = "i386";
+ ОперационнаяСистема = Linux;
+ Архитектура = x86;
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Linux_x86_64 Тогда
- ОперационнаяСистема = "Linux";
- Архитектура = "x86_64";
+ ОперационнаяСистема = Linux;
+ Архитектура = x64;
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Windows_x86 Тогда
- ОперационнаяСистема = "Windows";
- Архитектура = "i386";
+ ОперационнаяСистема = Windows;
+ Архитектура = x86;
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.Windows_x86_64 Тогда
- ОперационнаяСистема = "Windows";
- Архитектура = "x86_64";
+ ОперационнаяСистема = Windows;
+ Архитектура = x64;
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.MacOS_x86 Тогда
- ОперационнаяСистема = "MacOS";
- Архитектура = "x86_64";
+ ОперационнаяСистема = MacOS;
+ Архитектура = x86;
ИначеЕсли ТипКлиентскойПлатформы = ТипПлатформы.MacOS_x86_64 Тогда
- ОперационнаяСистема = "MacOS";
- Архитектура = "x86_64";
+ ОперационнаяСистема = MacOS;
+ Архитектура = x64;
Иначе
ВызватьИсключение "Неподдерживаемый тип платформы";
КонецЕсли;
@@ -82,7 +88,7 @@
КонецПроцедуры
-Функция ЗаписатьВРеестр(ФайлРеестра, ИмяФайла)
+Процедура ЗаписатьВРеестр(ФайлРеестра, ИмяФайла)
Данные = Новый ДвоичныеДанные(ФайлРеестра);
Текст = ПолучитьСтрокуИзДвоичныхДанных(Данные);
@@ -93,7 +99,7 @@
|
|", ИмяФайла);
ИначеЕсли СтрНайти(Текст, СтрШаблон("path=""%1""", ИмяФайла)) <> 0 Тогда // Компонента уже зарегистрированна
- Возврат Неопределено;
+ Возврат;
Иначе // Добавляем компоненту
Запись = СтрШаблон(" ", ИмяФайла);
Текст = СтрЗаменить(Текст, "", Запись + Символы.ПС + "");
@@ -102,6 +108,6 @@
Данные = ПолучитьДвоичныеДанныеИзСтроки(Текст, КодировкаТекста.UTF8, Истина);
Данные.Записать(ФайлРеестра);
-КонецФункции
+КонецПроцедуры
#КонецОбласти
diff --git a/exts/yaxunit/src/CommonModules/ЮТОбщийВызовСервера/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТОбщийВызовСервера/Module.bsl
index 223b0527..32522042 100644
--- a/exts/yaxunit/src/CommonModules/ЮТОбщийВызовСервера/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТОбщийВызовСервера/Module.bsl
@@ -64,7 +64,7 @@
Макет = Менеджер.ПолучитьМакет(ЧастиИмени[2]);
ИндексОбласти = 3;
Иначе
- ВызватьИсключение СтрШаблон("Некорреткное имя макета `%1`", ИмяМакета);
+ ВызватьИсключение СтрШаблон("Некорректное имя макета `%1`", ИмяМакета);
КонецЕсли;
Если ЧастиИмени.Количество() > ИндексОбласти Тогда
diff --git a/exts/yaxunit/src/CommonTemplates/ЮТYaxUnitAddIn/Template.bin b/exts/yaxunit/src/CommonTemplates/ЮТYaxUnitAddIn/Template.addin
similarity index 100%
rename from exts/yaxunit/src/CommonTemplates/ЮТYaxUnitAddIn/Template.bin
rename to exts/yaxunit/src/CommonTemplates/ЮТYaxUnitAddIn/Template.addin
diff --git a/exts/yaxunit/src/CommonTemplates/ЮТYaxUnitAddIn/ЮТYaxUnitAddIn.mdo b/exts/yaxunit/src/CommonTemplates/ЮТYaxUnitAddIn/ЮТYaxUnitAddIn.mdo
index 31ddd172..23825ac9 100644
--- a/exts/yaxunit/src/CommonTemplates/ЮТYaxUnitAddIn/ЮТYaxUnitAddIn.mdo
+++ b/exts/yaxunit/src/CommonTemplates/ЮТYaxUnitAddIn/ЮТYaxUnitAddIn.mdo
@@ -5,5 +5,5 @@
ru
ЮТYax unit add in
- BinaryData
+ AddIn
diff --git a/tests/src/CommonModules/ОМ_Общий/Module.bsl b/tests/src/CommonModules/ОМ_Общий/Module.bsl
index c97402e4..2e8aa1fe 100644
--- a/tests/src/CommonModules/ОМ_Общий/Module.bsl
+++ b/tests/src/CommonModules/ОМ_Общий/Module.bsl
@@ -32,10 +32,14 @@
Процедура Пауза() Экспорт
- ЮТОбщий.Пауза(0.001);
- ЮТОбщий.Пауза(0.01);
- ЮТОбщий.Пауза(0.1);
+ Начало = ТекущаяУниверсальнаяДатаВМиллисекундах();
ЮТОбщий.Пауза(1);
+ ЮТОбщий.Пауза(1);
+ ЮТОбщий.Пауза(1);
+ Дельта = ТекущаяУниверсальнаяДатаВМиллисекундах() - Начало;
+
+ ЮТест.ОжидаетЧто(Дельта)
+ .МеждуИсключаяГраницы(3010, 3050);
КонецПроцедуры