From 7350014bbc26755a7df97214571033d4c131acbf Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sun, 3 Sep 2023 02:47:54 +0300 Subject: [PATCH 1/2] #136 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Асинхронная установка компонент --- .../Module.bsl | 64 ++++++++ .../ЮТАсинхроннаяОбработкаСлужебныйКлиент.mdo | 10 ++ .../ЮТИсполнительКлиент/Module.bsl | 58 ++------ .../ЮТКомпонентыКлиент/Module.bsl | 137 +++++++++++++----- .../src/CommonModules/ЮТОтчет/Module.bsl | 4 +- .../ЮТПараметрыЗапуска/Module.bsl | 4 +- .../src/CommonModules/ЮТФайлы/Module.bsl | 2 +- .../src/Configuration/Configuration.mdo | 1 + 8 files changed, 196 insertions(+), 84 deletions(-) create mode 100644 exts/yaxunit/src/CommonModules/ЮТАсинхроннаяОбработкаСлужебныйКлиент/Module.bsl create mode 100644 exts/yaxunit/src/CommonModules/ЮТАсинхроннаяОбработкаСлужебныйКлиент/ЮТАсинхроннаяОбработкаСлужебныйКлиент.mdo diff --git a/exts/yaxunit/src/CommonModules/ЮТАсинхроннаяОбработкаСлужебныйКлиент/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТАсинхроннаяОбработкаСлужебныйКлиент/Module.bsl new file mode 100644 index 00000000..adfd43a8 --- /dev/null +++ b/exts/yaxunit/src/CommonModules/ЮТАсинхроннаяОбработкаСлужебныйКлиент/Module.bsl @@ -0,0 +1,64 @@ +//©///////////////////////////////////////////////////////////////////////////©// +// +// Copyright 2021-2023 BIA-Technologies Limited Liability Company +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//©///////////////////////////////////////////////////////////////////////////©// + +#Область СлужебныйПрограммныйИнтерфейс + +Процедура ВызватьОбработчик(Обработчик, Результат = Неопределено) Экспорт + + Если Обработчик <> Неопределено Тогда + ВыполнитьОбработкуОповещения(Обработчик, Результат); + КонецЕсли; + +КонецПроцедуры + +Процедура ВызватьСледующийОбработчик(ПараметрыИсполнения, Результат = Неопределено) Экспорт + + Обработчик = СледующийОбработчик(ПараметрыИсполнения); + ЮТЛогирование.Отладка("Вызов обработчика исполнителя: " + Обработчик.ИмяПроцедуры); + ВызватьОбработчик(Обработчик, Результат); + +КонецПроцедуры + +Функция СледующийОбработчик(ПараметрыИсполнения) Экспорт + + ПараметрыИсполнения.ИндексСледующегоОбработчика = ПараметрыИсполнения.ИндексСледующегоОбработчика + 1; + Обработчик = ПараметрыИсполнения.Цепочка[ПараметрыИсполнения.ИндексСледующегоОбработчика]; + ЮТЛогирование.Отладка("Следующий обработчик исполнителя: " + Обработчик.ИмяПроцедуры); + + Возврат Обработчик; + +КонецФункции + +Процедура ДобавитьОбработчикЦепочки(ПараметрыИсполнения, Модуль, ИмяМетода) Экспорт + + Обработчик = Новый ОписаниеОповещения(ИмяМетода, Модуль, ПараметрыИсполнения); + ПараметрыИсполнения.Цепочка.Добавить(Обработчик); + +КонецПроцедуры + +Функция ЦепочкаАсинхроннойОбработки() Экспорт + + Параметры = Новый Структура(); + Параметры.Вставить("Цепочка", Новый Массив()); + Параметры.Вставить("ИндексСледующегоОбработчика", -1); + + Возврат Параметры; + +КонецФункции + +#КонецОбласти diff --git a/exts/yaxunit/src/CommonModules/ЮТАсинхроннаяОбработкаСлужебныйКлиент/ЮТАсинхроннаяОбработкаСлужебныйКлиент.mdo b/exts/yaxunit/src/CommonModules/ЮТАсинхроннаяОбработкаСлужебныйКлиент/ЮТАсинхроннаяОбработкаСлужебныйКлиент.mdo new file mode 100644 index 00000000..40696a31 --- /dev/null +++ b/exts/yaxunit/src/CommonModules/ЮТАсинхроннаяОбработкаСлужебныйКлиент/ЮТАсинхроннаяОбработкаСлужебныйКлиент.mdo @@ -0,0 +1,10 @@ + + + ЮТАсинхроннаяОбработкаСлужебныйКлиент + + ru + Асинхронная обработка служебный + + true + true + diff --git a/exts/yaxunit/src/CommonModules/ЮТИсполнительКлиент/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТИсполнительКлиент/Module.bsl index ff7d9c05..d275e96f 100644 --- a/exts/yaxunit/src/CommonModules/ЮТИсполнительКлиент/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТИсполнительКлиент/Module.bsl @@ -33,7 +33,7 @@ ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикСохранитьКодВозврата"); ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикЗавершить"); - ВызватьСледующийОбработчик(ПараметрыИсполнения); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ПараметрыИсполнения); КонецПроцедуры @@ -47,25 +47,15 @@ ДобавитьОбработчикЦепочки(ПараметрыИсполнения, "ОбработчикВыполнитьТестирование"); ПараметрыИсполнения.Цепочка.Добавить(ОбработчикЗавершения); - ВызватьСледующийОбработчик(ПараметрыИсполнения); - -КонецПроцедуры - -Процедура ВызватьОбработчик(Обработчик, Результат = Неопределено) Экспорт - - Если Обработчик <> Неопределено Тогда - ВыполнитьОбработкуОповещения(Обработчик, Результат); - КонецЕсли; + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ПараметрыИсполнения); КонецПроцедуры Функция ПараметрыИсполнения() Экспорт - Параметры = Новый Структура(); + Параметры = ЮТАсинхроннаяОбработкаСлужебныйКлиент.ЦепочкаАсинхроннойОбработки(); Параметры.Вставить("АргументыЗапуска"); Параметры.Вставить("ПараметрыЗапуска"); - Параметры.Вставить("Цепочка", Новый Массив()); - Параметры.Вставить("ИндексСледующегоОбработчика", -1); Параметры.Вставить("ИсполняемыеТестовыеМодули"); Параметры.Вставить("РезультатыТестирования"); @@ -137,7 +127,7 @@ Процедура ОбработчикЗагрузитьПараметры(Результат, ДополнительныеПараметры) Экспорт - Обработчик = СледующийОбработчик(ДополнительныеПараметры); + Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры); ЮТПараметрыЗапуска.ПараметрыЗапуска(ДополнительныеПараметры.АргументыЗапуска, Обработчик); КонецПроцедуры @@ -150,7 +140,7 @@ Возврат; КонецЕсли; - ВызватьСледующийОбработчик(ДополнительныеПараметры); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры); КонецПроцедуры @@ -158,7 +148,7 @@ ЮТСобытия.Инициализация(ДополнительныеПараметры.ПараметрыЗапуска); - ВызватьСледующийОбработчик(ДополнительныеПараметры); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры); КонецПроцедуры @@ -179,7 +169,7 @@ ЮТСобытия.ПослеФормированияИсполняемыхНаборовТестов(ИсполняемыеТестовыеМодули); ДополнительныеПараметры.ИсполняемыеТестовыеМодули = ИсполняемыеТестовыеМодули; - ВызватьСледующийОбработчик(ДополнительныеПараметры, ИсполняемыеТестовыеМодули); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры, ИсполняемыеТестовыеМодули); КонецПроцедуры @@ -199,17 +189,17 @@ ЮТСобытия.ПослеВыполненияТестов(РезультатыТестирования); ДополнительныеПараметры.РезультатыТестирования = РезультатыТестирования; - ВызватьСледующийОбработчик(ДополнительныеПараметры, РезультатыТестирования); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры, РезультатыТестирования); КонецПроцедуры Процедура ОбработчикСохранитьОтчет(Результат, ДополнительныеПараметры) Экспорт Если ЗначениеЗаполнено(ДополнительныеПараметры.ПараметрыЗапуска.reportPath) Тогда - Обработчик = СледующийОбработчик(ДополнительныеПараметры); + Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры); ЮТОтчет.СформироватьОтчет(ДополнительныеПараметры.РезультатыТестирования, ДополнительныеПараметры.ПараметрыЗапуска, Обработчик); Иначе - ВызватьСледующийОбработчик(ДополнительныеПараметры); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры); КонецЕсли; КонецПроцедуры @@ -217,7 +207,7 @@ Процедура ОбработчикСохранитьКодВозврата(Результат, ДополнительныеПараметры) Экспорт ЗаписатьКодВозврата(ДополнительныеПараметры.РезультатыТестирования, ДополнительныеПараметры.ПараметрыЗапуска); - ВызватьСледующийОбработчик(ДополнительныеПараметры); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ДополнительныеПараметры); КонецПроцедуры @@ -236,8 +226,8 @@ Процедура ОбработчикПодключитьКомпоненты(Результат, ДополнительныеПараметры) Экспорт - ЮТКомпонентыКлиент.ТихаяУстановкаКомпонент(); - ВызватьСледующийОбработчик(ДополнительныеПараметры); + Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ДополнительныеПараметры); + ЮТКомпонентыКлиент.ТихаяУстановкаКомпонент(Обработчик); КонецПроцедуры @@ -262,28 +252,6 @@ #КонецОбласти -Процедура ВызватьСледующийОбработчик(ПараметрыИсполнения, Результат = Неопределено) - - Обработчик = СледующийОбработчик(ПараметрыИсполнения); - ЮТЛогирование.Отладка("Вызов обработчика исполнителя: " + Обработчик.ИмяПроцедуры); - ВыполнитьОбработкуОповещения(Обработчик, Результат); - -КонецПроцедуры - -Функция СледующийОбработчик(ПараметрыИсполнения) - - Если ТипЗнч(ПараметрыИсполнения) = Тип("ОписаниеОповещения") Тогда - Возврат ПараметрыИсполнения; - КонецЕсли; - - ПараметрыИсполнения.ИндексСледующегоОбработчика = ПараметрыИсполнения.ИндексСледующегоОбработчика + 1; - Обработчик = ПараметрыИсполнения.Цепочка[ПараметрыИсполнения.ИндексСледующегоОбработчика]; - ЮТЛогирование.Отладка("Следующий обработчик исполнителя: " + Обработчик.ИмяПроцедуры); - - Возврат Обработчик; - -КонецФункции - Процедура ДобавитьОбработчикЦепочки(ПараметрыИсполнения, ИмяМетода) Обработчик = Новый ОписаниеОповещения(ИмяМетода, ЭтотОбъект, ПараметрыИсполнения, "ОбработчикОшибки", ЭтотОбъект); diff --git a/exts/yaxunit/src/CommonModules/ЮТКомпонентыКлиент/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКомпонентыКлиент/Module.bsl index 90adc1bd..3301e241 100644 --- a/exts/yaxunit/src/CommonModules/ЮТКомпонентыКлиент/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТКомпонентыКлиент/Module.bsl @@ -18,28 +18,49 @@ #Область СлужебныйПрограммныйИнтерфейс -Функция ТихаяУстановкаКомпонент() Экспорт +Процедура ТихаяУстановкаКомпонент(ОбработчикЗавершения) Экспорт - Успешно = Истина; -#Если Клиент И НЕ ВебКлиент Тогда + ПараметрыТихойУстановки = ПараметрыТихойУстановки(); + ПараметрыТихойУстановки.Компоненты.Добавить(ЮТКомпоненты.ОписаниеКомпонентыПауза()); - Компоненты = ЮТОбщий.ЗначениеВМассиве(ЮТКомпоненты.ОписаниеКомпонентыПауза()); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ДобавитьОбработчикЦепочки(ПараметрыТихойУстановки, + ЭтотОбъект, + "УстановитьПараметрыОкружения"); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ДобавитьОбработчикЦепочки(ПараметрыТихойУстановки, + ЭтотОбъект, + "ТихаяУстановкаВнешнихКомпонент"); - Для Каждого Компонента Из Компоненты Цикл - ТихаяУстановкаВнешнейКомпоненты(Компонента.ИмяМакета); - КонецЦикла; -#КонецЕсли + ПараметрыТихойУстановки.Цепочка.Добавить(ОбработчикЗавершения); - Возврат Успешно; + Обработчик = ЮТАсинхроннаяОбработкаСлужебныйКлиент.СледующийОбработчик(ПараметрыТихойУстановки); + НачатьПолучениеРабочегоКаталогаДанныхПользователя(Обработчик); -КонецФункции +КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции -Процедура ТихаяУстановкаВнешнейКомпоненты(ИмяМакета) +Функция ПараметрыТихойУстановки() + ПараметрыТихойУстановки = ЮТАсинхроннаяОбработкаСлужебныйКлиент.ЦепочкаАсинхроннойОбработки(); + ПараметрыТихойУстановки.Вставить("Компоненты", Новый Массив()); + ПараметрыТихойУстановки.Вставить("РабочийКаталог", ""); + ПараметрыТихойУстановки.Вставить("ОперационнаяСистема", ""); + ПараметрыТихойУстановки.Вставить("Архитектура", ""); + ПараметрыТихойУстановки.Вставить("ДанныеРеестра", ""); + ПараметрыТихойУстановки.Вставить("ИзмененРеестр", Ложь); + + Возврат ПараметрыТихойУстановки; + +КонецФункции + +Процедура УстановитьПараметрыОкружения(Результат, ПараметрыТихойУстановки) Экспорт + + КорневойКаталог = ЮТФайлы.ОбъединитьПути(Результат, "..", "..", ".."); + КаталогКомпонент = ЮТФайлы.ОбъединитьПути(КорневойКаталог, "ExtCompT"); + + ПараметрыТихойУстановки.РабочийКаталог = КаталогКомпонент; Информация = Новый СистемнаяИнформация(); ОперационнаяСистема = Неопределено; Архитектура = Неопределено; @@ -47,6 +68,7 @@ Linux = "Linux"; Windows = "Windows"; MacOS = "MacOS"; + x86 = "i386"; x64 = "x86_64"; @@ -71,43 +93,90 @@ ОперационнаяСистема = MacOS; Архитектура = x64; Иначе - ВызватьИсключение "Неподдерживаемый тип платформы"; + ЮТИсполнительКлиент.ОбработкаОшибки("Неподдерживаемый тип платформы"); КонецЕсли; - ДанныеФайла = ЮТКомпонентыВызовСервера.ФайлКомпоненты(ИмяМакета, ОперационнаяСистема, Архитектура); - - Путь = РабочийКаталогДанныхПользователя(); - КорневойКаталог = ЮТФайлы.ОбъединитьПути(Путь, "..", "..", ".."); - - КаталогКомпонент = ЮТФайлы.ОбъединитьПути(КорневойКаталог, "ExtCompT"); - ФайлРеестра = ЮТФайлы.ОбъединитьПути(КаталогКомпонент, "registry.xml"); - ФайлКомпоненты = ЮТФайлы.ОбъединитьПути(КаталогКомпонент, ДанныеФайла.ИмяФайла); - - ДанныеФайла.Данные.Записать(ФайлКомпоненты); - ЗаписатьВРеестр(ФайлРеестра, ДанныеФайла.ИмяФайла); + ПараметрыТихойУстановки.ОперационнаяСистема = ОперационнаяСистема; + ПараметрыТихойУстановки.Архитектура = Архитектура; + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ПараметрыТихойУстановки); КонецПроцедуры -Процедура ЗаписатьВРеестр(ФайлРеестра, ИмяФайла) +Процедура ПрочитатьФайлRegistry(ПараметрыТихойУстановки) Экспорт - Данные = Новый ДвоичныеДанные(ФайлРеестра); - Текст = ПолучитьСтрокуИзДвоичныхДанных(Данные); +#Если ВебКлиент Тогда + ЮТИсполнительКлиент.ОбработкаОшибки(ЮТОбщий.МетодНеДоступен("ЮТКомпонентыКлиент.ПрочитатьФайлRegistry")); + Возврат; +#Иначе + ФайлРеестра = ЮТФайлы.ОбъединитьПути(ПараметрыТихойУстановки.РабочийКаталог, "registry.xml"); + Чтение = Новый ЧтениеТекста(ФайлРеестра); + Данные = Чтение.Прочитать(); + Чтение.Закрыть(); + ПараметрыТихойУстановки.ДанныеРеестра = Данные; - Если СтрНайти(Текст, " +#КонецЕсли + +КонецПроцедуры + +Процедура ЗаписатьФайлRegistry(ПараметрыТихойУстановки) Экспорт + +#Если ВебКлиент Тогда + ЮТИсполнительКлиент.ОбработкаОшибки(ЮТОбщий.МетодНеДоступен("ЮТКомпонентыКлиент.ЗаписатьФайлRegistry")); + Возврат; +#Иначе + Если ПараметрыТихойУстановки.ИзмененРеестр Тогда + ФайлРеестра = ЮТФайлы.ОбъединитьПути(ПараметрыТихойУстановки.РабочийКаталог, "registry.xml"); + Запись = Новый ЗаписьТекста(ФайлРеестра); + Запись.Записать(ПараметрыТихойУстановки.ДанныеРеестра); + Запись.Закрыть(); + КонецЕсли; +#КонецЕсли + +КонецПроцедуры + +Процедура ТихаяУстановкаВнешнихКомпонент(Результат, ПараметрыТихойУстановки) Экспорт + + ПрочитатьФайлRegistry(ПараметрыТихойУстановки); + + Для Каждого Компонента Из ПараметрыТихойУстановки.Компоненты Цикл + ТихаяУстановкаВнешнейКомпоненты(Компонента, ПараметрыТихойУстановки); + КонецЦикла; + + ЗаписатьФайлRegistry(ПараметрыТихойУстановки); + + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьСледующийОбработчик(ПараметрыТихойУстановки); + +КонецПроцедуры + +Процедура ТихаяУстановкаВнешнейКомпоненты(Компонента, Параметры) Экспорт + + ДанныеФайла = ЮТКомпонентыВызовСервера.ФайлКомпоненты(Компонента.ИмяМакета, Параметры.ОперационнаяСистема, Параметры.Архитектура); + + Если ЗаписатьВРеестр(Параметры.ДанныеРеестра, ДанныеФайла.ИмяФайла) Тогда + Параметры.ИзмененРеестр = Истина; + КонецЕсли; + + ФайлКомпоненты = ЮТФайлы.ОбъединитьПути(Параметры.РабочийКаталог, ДанныеФайла.ИмяФайла); + ДанныеФайла.Данные.Записать(ФайлКомпоненты); + +КонецПроцедуры + +Функция ЗаписатьВРеестр(ДанныеРеестра, ИмяФайла) + + Если СтрНайти(ДанныеРеестра, " | | |", ИмяФайла); - ИначеЕсли СтрНайти(Текст, СтрШаблон("path=""%1""", ИмяФайла)) <> 0 Тогда // Компонента уже зарегистрированна - Возврат; + ИначеЕсли СтрНайти(ДанныеРеестра, СтрШаблон("path=""%1""", ИмяФайла)) <> 0 Тогда // Компонента уже зарегистрированна + Возврат Ложь; Иначе // Добавляем компоненту Запись = СтрШаблон(" ", ИмяФайла); - Текст = СтрЗаменить(Текст, "", Запись + Символы.ПС + ""); + ДанныеРеестра = СтрЗаменить(ДанныеРеестра, "", Запись + Символы.ПС + ""); КонецЕсли; - Данные = ПолучитьДвоичныеДанныеИзСтроки(Текст, КодировкаТекста.UTF8, Истина); - Данные.Записать(ФайлРеестра); + Возврат Истина; -КонецПроцедуры +КонецФункции #КонецОбласти diff --git a/exts/yaxunit/src/CommonModules/ЮТОтчет/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТОтчет/Module.bsl index 6df7198d..68d11ef9 100644 --- a/exts/yaxunit/src/CommonModules/ЮТОтчет/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТОтчет/Module.bsl @@ -85,7 +85,7 @@ ДанныеОтчета.Записать(ИмяФайлаОтчета); КонецЕсли; - ЮТИсполнительКлиент.ВызватьОбработчик(Параметры.Обработчик); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Параметры.Обработчик); КонецПроцедуры @@ -98,7 +98,7 @@ ИмяФайла = ПутьКОтчету; КонецЕсли; - ЮТИсполнительКлиент.ВызватьОбработчик(Параметры.Обработчик, ИмяФайла); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Параметры.Обработчик, ИмяФайла); КонецПроцедуры diff --git a/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl index b4b2cd37..e42b7e5f 100644 --- a/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТПараметрыЗапуска/Module.bsl @@ -69,7 +69,7 @@ Параметры = ЮТФабрика.ПараметрыЗапуска(); Если Не ЗначениеЗаполнено(ПараметрыЗапускаСтрокой) Тогда - ЮТИсполнительКлиент.ВызватьОбработчик(Обработчик, Параметры); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Обработчик, Параметры); Возврат Параметры; КонецЕсли; @@ -111,7 +111,7 @@ КонецЕсли; - ЮТИсполнительКлиент.ВызватьОбработчик(Обработчик, Параметры); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Обработчик, Параметры); Возврат Параметры; diff --git a/exts/yaxunit/src/CommonModules/ЮТФайлы/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТФайлы/Module.bsl index d3c4baec..528c0fe5 100644 --- a/exts/yaxunit/src/CommonModules/ЮТФайлы/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТФайлы/Module.bsl @@ -165,7 +165,7 @@ Процедура ПолучитьАтрибутФайла(Результат, Параметры) Экспорт Если НЕ Результат Тогда - ВыполнитьОбработкуОповещения(Параметры.Обработчик, Параметры.ЗначениеПоУмолчанию); + ЮТАсинхроннаяОбработкаСлужебныйКлиент.ВызватьОбработчик(Параметры.Обработчик, Параметры.ЗначениеПоУмолчанию); Возврат; КонецЕсли; diff --git a/exts/yaxunit/src/Configuration/Configuration.mdo b/exts/yaxunit/src/Configuration/Configuration.mdo index 7228e2ea..de257aea 100644 --- a/exts/yaxunit/src/Configuration/Configuration.mdo +++ b/exts/yaxunit/src/Configuration/Configuration.mdo @@ -49,6 +49,7 @@ CommonModule.МокитоОбучение CommonModule.МокитоПроверки CommonModule.МокитоСлужебный + CommonModule.ЮТАсинхроннаяОбработкаСлужебныйКлиент CommonModule.ЮТест CommonModule.ЮТЗапросы CommonModule.ЮТЗапросыВызовСервера From ebc9af5f37fec65e00e288fa4da3b48f52cffa33 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sun, 3 Sep 2023 17:21:04 +0300 Subject: [PATCH 2/2] #136 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Отключил синхронные вызовы --- .../src/Configuration/Configuration.mdo | 239 +++++++++--------- 1 file changed, 120 insertions(+), 119 deletions(-) diff --git a/fixtures/demo-configuration/src/Configuration/Configuration.mdo b/fixtures/demo-configuration/src/Configuration/Configuration.mdo index 5e936872..a29df40e 100644 --- a/fixtures/demo-configuration/src/Configuration/Configuration.mdo +++ b/fixtures/demo-configuration/src/Configuration/Configuration.mdo @@ -74,6 +74,7 @@ NotAutoFree DontUse DontUse + DontUse 8.3.21 CommonForm.ОбщиеНастройки @@ -91,199 +92,199 @@ Subsystem.Финансы Subsystem.ТоварныеЗапасы Subsystem.Интеграция - StyleItem.ЦветТекстаСущественныхИзмененийДанных + StyleItem.ЦветТекстаВажнойИнформации StyleItem.ЦветТекстаНормальногоСостояния StyleItem.ЦветТекстаОшибочногоСостояния + StyleItem.ЦветТекстаСущественныхИзмененийДанных StyleItem.ШрифтВажнойИнформации - StyleItem.ЦветТекстаВажнойИнформации + CommonPicture.ВыделитьВажное + CommonPicture.КоллекцияВидыАктивныхПользователей + CommonPicture.КоллекцияВидыСобытийЖурналаРегистрации + CommonPicture.КоллекцияДляПомеченныхНаУдалениеОбъектов + CommonPicture.ОткрытьХранимыйФайл + CommonPicture.ОтправитьСМС CommonPicture.ПодсистемаЗакупки CommonPicture.ПодсистемаПредприятие CommonPicture.ПодсистемаПродажи CommonPicture.ПодсистемаТоварныеЗапасы CommonPicture.ПодсистемаФинансы - CommonPicture.КоллекцияВидыАктивныхПользователей - CommonPicture.КоллекцияВидыСобытийЖурналаРегистрации - CommonPicture.КоллекцияДляПомеченныхНаУдалениеОбъектов + CommonPicture.Позвонить CommonPicture.ПолнотекстовыйПоискДалее CommonPicture.ПолнотекстовыйПоискНазад - CommonPicture.ОткрытьХранимыйФайл - CommonPicture.ВыделитьВажное CommonPicture.ПроверитьПочту CommonPicture.СписокЗаказов - CommonPicture.Позвонить CommonPicture.ШтрихКод - CommonPicture.ОтправитьСМС SessionParameter.ТекущийПользователь SessionParameter.ЯщикIMAP Role.Администратор Role.МенеджерПоЗакупкам Role.МенеджерПоПродажам - Role.Продавец Role.Помощник + Role.Продавец CommonTemplate.ДрайверСканераШтрихкодов - CommonTemplate.КомпонентаПечатиШтрихкодовWindows32 - CommonTemplate.КомпонентаПечатиШтрихкодовWindows64 CommonTemplate.КомпонентаПечатиШтрихкодовLinux32 CommonTemplate.КомпонентаПечатиШтрихкодовLinux64 + CommonTemplate.КомпонентаПечатиШтрихкодовWindows32 + CommonTemplate.КомпонентаПечатиШтрихкодовWindows64 FilterCriterion.ДокументыКонтрагента - CommonModule.РаботаСТорговымОборудованием - CommonModule.РаботаСПолнотекстовымПоиском - CommonModule.РаботаСХранилищемОбщихНастроек - CommonModule.РегламентныеЗаданияАгрегатов - CommonModule.СервисныеМеханизмы - CommonModule.РаботаСПочтой - CommonModule.РаботаСПочтойВызовСервера + CommonModule.ГеопозиционированиеКлиент + CommonModule.ГеопозиционированиеСервер + CommonModule.Интеграция + CommonModule.ИнтеграцияМагазин CommonModule.ОбменМобильныеОбщее CommonModule.ОбменМобильныеПереопределяемый CommonModule.Пользователи - CommonModule.РаботаСПанельюЗадач CommonModule.Помощник CommonModule.ПомощникКлиент CommonModule.РаботаСИсториейДанных - CommonModule.ГеопозиционированиеКлиент - CommonModule.ГеопозиционированиеСервер + CommonModule.РаботаСПанельюЗадач + CommonModule.РаботаСПолнотекстовымПоиском + CommonModule.РаботаСПочтой + CommonModule.РаботаСПочтойВызовСервера + CommonModule.РаботаСТорговымОборудованием + CommonModule.РаботаСХранилищемОбщихНастроек + CommonModule.РегистрацияОшибок + CommonModule.РегламентныеЗаданияАгрегатов + CommonModule.СервисныеМеханизмы CommonModule.УведомленияКлиент CommonModule.УведомленияСервер - CommonModule.Интеграция - CommonModule.ИнтеграцияМагазин - CommonModule.РегистрацияОшибок ExchangePlan.Мобильные XDTOPackage.ОбменСМобильнымУстройством WebService.MAExchange - HTTPService.Товары HTTPService.ОписанияТоваров - ScheduledJob.ОбновлениеИндексаППД - ScheduledJob.СлияниеИндексаППД + HTTPService.Товары ScheduledJob.ОбновлениеАгрегатовПродаж + ScheduledJob.ОбновлениеИндексаППД + ScheduledJob.ОбновлениеИсторииДанных ScheduledJob.ПерестроениеАгрегатовПродаж ScheduledJob.ПомощникНеотработанныеЗаказы - ScheduledJob.ОбновлениеИсторииДанных + ScheduledJob.СлияниеИндексаППД SettingsStorage.ХранилищеВариантовОтчетов + FunctionalOption.ВалютныйУчет FunctionalOption.РаботаСТорговымОборудованием FunctionalOption.УчетПоСкладам - FunctionalOption.ВалютныйУчет FunctionalOptionsParameter.Организация - CommonCommand.УстановитьСканерШтрихкодов CommonCommand.НастроитьСканерШтрихКодов - CommonCommand.УстановитьРасширениеРаботыСФайлами - CommonCommand.УстановитьРасширениеРаботыСКриптографией - CommonCommand.УстановитьВидимостьОбъектовЧерезODataAPI CommonCommand.ОбщиеНастройки + CommonCommand.УстановитьВидимостьОбъектовЧерезODataAPI + CommonCommand.УстановитьРасширениеРаботыСКриптографией + CommonCommand.УстановитьРасширениеРаботыСФайлами + CommonCommand.УстановитьСканерШтрихкодов CommandGroup.Информация CommandGroup.Печать - Constant.РаботаСТорговымОборудованием - Constant.УчетПоСкладам - Constant.АдресSMTPСервера - Constant.ПортSMTP - Constant.ПользовательSMTP - Constant.ПарольSMTP - Constant.АдресPOP3Сервера - Constant.ПортPOP3 - Constant.ПользовательPOP3 - Constant.ПарольPOP3 - Constant.ТаймаутИнтернетПочты - Constant.ИмяОтправителяПочтовогоСообщения - Constant.ПользовательIMAP - Constant.ПарольIMAP - Constant.АдресIMAPСервера - Constant.ПортIMAP Constant.SSLIMAP - Constant.ИспользоватьIMAP Constant.SSLPOP3 Constant.SSLSMTP + Constant.АдресIMAPСервера + Constant.АдресPOP3Сервера + Constant.АдресSMTPСервера + Constant.ВоспроизводитьТекстУведомления + Constant.ВыборПровайдераГеопозиционирования + Constant.ИдентификаторПриложенияWNS + Constant.ИмяОтправителяПочтовогоСообщения + Constant.ИмяПровайдера + Constant.ИспользоватьAPNS + Constant.ИспользоватьGCM + Constant.ИспользоватьIMAP + Constant.ИспользоватьPushУведомления + Constant.ИспользоватьWNS + Constant.ИспользоватьСетьПередачиДанных + Constant.ИспользоватьСотовуюСеть + Constant.ИспользоватьСпутники + Constant.КлючCервераОтправителяGCM + Constant.КлючПриложенияWNS + Constant.КодНовогоУзлаПланаОбмена + Constant.ЛогинСервисаПередачиPushУведомлений + Constant.МаркерДоступаWNS + Constant.НомерПриложенияGoogleCloud + Constant.ПарольIMAP + Constant.ПарольPOP3 + Constant.ПарольSMTP + Constant.ПериодПроверкиНеотработанныхЗаказов + Constant.ПользовательIMAP + Constant.ПользовательPOP3 + Constant.ПользовательSMTP + Constant.ПортIMAP + Constant.ПортPOP3 + Constant.ПортSMTP + Constant.РаботаСТорговымОборудованием + Constant.СертификатМобильногоПриложенияIOS + Constant.ТаймаутИнтернетПочты + Constant.ТолькоБесплатные Constant.ТолькоЗащищеннаяАутентификацияIMAP Constant.ТолькоЗащищеннаяАутентификацияPOP3 Constant.ТолькоЗащищеннаяАутентификацияSMTP - Constant.КодНовогоУзлаПланаОбмена - Constant.ИспользоватьPushУведомления - Constant.ИспользоватьAPNS - Constant.СертификатМобильногоПриложенияIOS - Constant.ИспользоватьGCM - Constant.НомерПриложенияGoogleCloud - Constant.КлючCервераОтправителяGCM - Constant.ИспользоватьWNS - Constant.КлючПриложенияWNS - Constant.МаркерДоступаWNS - Constant.ИдентификаторПриложенияWNS - Constant.ЛогинСервисаПередачиPushУведомлений - Constant.ПериодПроверкиНеотработанныхЗаказов - Constant.ВоспроизводитьТекстУведомления - Constant.ВыборПровайдераГеопозиционирования - Constant.ИмяПровайдера - Constant.ТолькоБесплатные - Constant.ИспользоватьСотовуюСеть - Constant.ИспользоватьСетьПередачиДанных - Constant.ИспользоватьСпутники - CommonForm.ОбщиеНастройки - CommonForm.НастройкиМобильногоУстройства - CommonForm.НастройкаПочты - CommonForm.ФормаПодбора - CommonForm.НастройкаПомощникаНеотработанныхЗаказов - CommonForm.НастройкаPushУведомлений - CommonForm.ФормаПодбораМобильная + Constant.УчетПоСкладам CommonForm.Звонок - Catalog.Товары - Catalog.Контрагенты - Catalog.Склады - Catalog.Валюты - Catalog.Регионы - Catalog.ВидыЦен - Catalog.РасчетныеСчетаКонтрагентов - Catalog.ЗначенияХарактеристик + CommonForm.НастройкаPushУведомлений + CommonForm.НастройкаПомощникаНеотработанныхЗаказов + CommonForm.НастройкаПочты + CommonForm.НастройкиМобильногоУстройства + CommonForm.ОбщиеНастройки + CommonForm.ФормаПодбора + CommonForm.ФормаПодбораМобильная Catalog.Банки - Catalog.РасчетныеСчета - Catalog.ХранимыеФайлы - Catalog.НастройкиТорговогоОборудования - Catalog.ХранилищеВариантовОтчетов - Catalog.Организации - Catalog.ВходящиеПисьма - Catalog.ИсходящиеПисьма - Catalog.ПочтовыеВложения - Catalog.Пользователи + Catalog.Валюты + Catalog.ВидыЦен Catalog.Встречи + Catalog.ВходящиеПисьма + Catalog.ЗначенияХарактеристик + Catalog.ИсходящиеПисьма + Catalog.Контрагенты Catalog.МобильныеУстройства Catalog.НастройкиИнтеграции - Document.ПриходТовара - Document.РасходТовара + Catalog.НастройкиТорговогоОборудования + Catalog.Организации + Catalog.Пользователи + Catalog.ПочтовыеВложения + Catalog.РасчетныеСчета + Catalog.РасчетныеСчетаКонтрагентов + Catalog.Регионы + Catalog.Склады + Catalog.Товары + Catalog.ХранилищеВариантовОтчетов + Catalog.ХранимыеФайлы + Document.Заказ + Document.ОперацияПоУчетуТоваров Document.Оплата Document.ПоступлениеДенег - Document.ОперацияПоУчетуТоваров - Document.Заказ - DocumentJournal.ФинансовыеДокументы + Document.ПриходТовара + Document.РасходТовара DocumentJournal.ДокументыПродаж - Enum.ВидыТоваров - Enum.НазначениеХарактеристик - Enum.ВидНастройкиАутентификацииSMTP - Enum.ВидыМобильныхОтчетов - Enum.СостоянияЗаказов - Enum.ВидСодержимогоВходящегоПисьма + DocumentJournal.ФинансовыеДокументы Enum.PushУведомления + Enum.ВидНастройкиАутентификацииSMTP + Enum.ВидСодержимогоВходящегоПисьма + Enum.ВидыМобильныхОтчетов + Enum.ВидыТоваров Enum.ИспользоватьПровайдерГеопозиционирования - Report.ОстаткиТоваровНаСкладах - Report.ДинамикаПродаж - Report.ОтчетПоВзаиморасчетам - Report.ДокументыОплата + Enum.НазначениеХарактеристик + Enum.СостоянияЗаказов Report.ВзаимосвязьПродажТоваров - DataProcessor.УправлениеПолнотекстовымПоиском + Report.ДинамикаПродаж + Report.ДокументыОплата + Report.ОстаткиТоваровНаСкладах + Report.ОтчетПоВзаиморасчетам DataProcessor.АдминистративныйСервис + DataProcessor.ЖурналРегистрации + DataProcessor.НастройкиПользователя DataProcessor.ПроведениеДокументов DataProcessor.Путеводитель DataProcessor.СписокАктивныхПользователей - DataProcessor.ЖурналРегистрации DataProcessor.УдалениеПомеченныхОбъектов - DataProcessor.УправлениеНастройкамиФорм - DataProcessor.НастройкиПользователя DataProcessor.УправлениеАгрегатамиПродаж - DataProcessor.ЭлектроннаяПочта + DataProcessor.УправлениеНастройкамиФорм + DataProcessor.УправлениеПолнотекстовымПоиском DataProcessor.УправлениеСистемойВзаимодействия + DataProcessor.ЭлектроннаяПочта InformationRegister.КурсыВалют - InformationRegister.Характеристики - InformationRegister.ЦеныТоваров + InformationRegister.МобильныеОтчеты InformationRegister.СостояниеВходящихПисем InformationRegister.СостояниеИсходящихПисем - InformationRegister.МобильныеОтчеты - AccumulationRegister.ТоварныеЗапасы + InformationRegister.Характеристики + InformationRegister.ЦеныТоваров AccumulationRegister.Взаиморасчеты AccumulationRegister.Продажи + AccumulationRegister.ТоварныеЗапасы ChartOfCharacteristicTypes.ВидыХарактеристик