1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2024-12-09 08:55:53 +02:00
Возможность использовать кастомную фабрику
This commit is contained in:
alkoleft 2024-03-11 02:07:14 +03:00
parent 01a30c1a35
commit 6166699631
2 changed files with 12 additions and 4 deletions

View File

@ -557,10 +557,11 @@
// Параметры:
// ИмяТипа - Строка - Имя типа объекта
// ПространствоИмен - Строка - Пространство имен типа
// Фабрика - ФабрикаXDTO - Используемая фабрика XDTO
//
// Возвращаемое значение:
// ОбработкаОбъект.ЮТКонструкторОбъектаXDTO - Конструктор объекта XDTO
Функция КонструкторОбъектаXDTO(ИмяТипа, ПространствоИмен) Экспорт
Функция КонструкторОбъектаXDTO(ИмяТипа, ПространствоИмен, Фабрика = Неопределено) Экспорт
Обработка = Обработки.ЮТКонструкторОбъектаXDTO.Создать();
Обработка.Инициализировать(ИмяТипа, ПространствоИмен);

View File

@ -23,6 +23,7 @@
Перем ТекущийОбъект;
Перем ТекущийТип;
Перем СтекОбъектов;
Перем Фабрика;
#КонецОбласти
@ -167,10 +168,16 @@
#Область СлужебныйПрограммныйИнтерфейс
Процедура Инициализировать(ИмяТипаОбъекта, ПространствоИмен) Экспорт
Процедура Инициализировать(ИмяТипаОбъекта, ПространствоИмен, ФабрикаОбъектов = Неопределено) Экспорт
Если ФабрикаОбъектов = Неопределено Тогда
Фабрика = ФабрикаXDTO;
Иначе
Фабрика = ФабрикаОбъектов;
КонецЕсли;
СтекОбъектов = Новый Массив();
ТипОбъекта = ФабрикаXDTO.Тип(ПространствоИмен, ИмяТипаОбъекта);
ТипОбъекта = Фабрика.Тип(ПространствоИмен, ИмяТипаОбъекта);
ДобавитьНовыйОбъектВСтек(ТипОбъекта);
КонецПроцедуры
@ -311,7 +318,7 @@
Функция НовыйОбъект(Тип)
Возврат ФабрикаXDTO.Создать(Тип);
Возврат Фабрика.Создать(Тип);
КонецФункции