From 61666996316786cf20a883d1b35e9b3503f60b50 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 11 Mar 2024 02:07:14 +0300 Subject: [PATCH] #271 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Возможность использовать кастомную фабрику --- .../src/CommonModules/ЮТТестовыеДанные/Module.bsl | 3 ++- .../ЮТКонструкторОбъектаXDTO/ObjectModule.bsl | 13 ++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl index e6552baa..567fe83e 100644 --- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl @@ -557,10 +557,11 @@ // Параметры: // ИмяТипа - Строка - Имя типа объекта // ПространствоИмен - Строка - Пространство имен типа +// Фабрика - ФабрикаXDTO - Используемая фабрика XDTO // // Возвращаемое значение: // ОбработкаОбъект.ЮТКонструкторОбъектаXDTO - Конструктор объекта XDTO -Функция КонструкторОбъектаXDTO(ИмяТипа, ПространствоИмен) Экспорт +Функция КонструкторОбъектаXDTO(ИмяТипа, ПространствоИмен, Фабрика = Неопределено) Экспорт Обработка = Обработки.ЮТКонструкторОбъектаXDTO.Создать(); Обработка.Инициализировать(ИмяТипа, ПространствоИмен); diff --git a/exts/yaxunit/src/DataProcessors/ЮТКонструкторОбъектаXDTO/ObjectModule.bsl b/exts/yaxunit/src/DataProcessors/ЮТКонструкторОбъектаXDTO/ObjectModule.bsl index b575e41d..dfcbb5a1 100644 --- a/exts/yaxunit/src/DataProcessors/ЮТКонструкторОбъектаXDTO/ObjectModule.bsl +++ b/exts/yaxunit/src/DataProcessors/ЮТКонструкторОбъектаXDTO/ObjectModule.bsl @@ -23,6 +23,7 @@ Перем ТекущийОбъект; Перем ТекущийТип; Перем СтекОбъектов; +Перем Фабрика; #КонецОбласти @@ -167,10 +168,16 @@ #Область СлужебныйПрограммныйИнтерфейс -Процедура Инициализировать(ИмяТипаОбъекта, ПространствоИмен) Экспорт +Процедура Инициализировать(ИмяТипаОбъекта, ПространствоИмен, ФабрикаОбъектов = Неопределено) Экспорт + + Если ФабрикаОбъектов = Неопределено Тогда + Фабрика = ФабрикаXDTO; + Иначе + Фабрика = ФабрикаОбъектов; + КонецЕсли; СтекОбъектов = Новый Массив(); - ТипОбъекта = ФабрикаXDTO.Тип(ПространствоИмен, ИмяТипаОбъекта); + ТипОбъекта = Фабрика.Тип(ПространствоИмен, ИмяТипаОбъекта); ДобавитьНовыйОбъектВСтек(ТипОбъекта); КонецПроцедуры @@ -311,7 +318,7 @@ Функция НовыйОбъект(Тип) - Возврат ФабрикаXDTO.Создать(Тип); + Возврат Фабрика.Создать(Тип); КонецФункции