From d151a810c5f6013b2bd64390b82e7a9628dc1e1c Mon Sep 17 00:00:00 2001 From: alkoleft Date: Sun, 24 Mar 2024 03:19:59 +0300 Subject: [PATCH] #249 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Установка реквизитов конструктора объекта XDTO --- .../ЮТКонструкторОбъектаXDTO/ObjectModule.bsl | 17 +++++++++++++++++ .../Обр_ЮТКонструкторОбъектаXDTO_МО/Module.bsl | 18 ++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/exts/yaxunit/src/DataProcessors/ЮТКонструкторОбъектаXDTO/ObjectModule.bsl b/exts/yaxunit/src/DataProcessors/ЮТКонструкторОбъектаXDTO/ObjectModule.bsl index bf9e7145..bb7da505 100644 --- a/exts/yaxunit/src/DataProcessors/ЮТКонструкторОбъектаXDTO/ObjectModule.bsl +++ b/exts/yaxunit/src/DataProcessors/ЮТКонструкторОбъектаXDTO/ObjectModule.bsl @@ -45,6 +45,23 @@ КонецФункции +// Устанавливает значения реквизитов объекта. +// +// Параметры: +// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов +// +// Возвращаемое значение: +// ОбработкаОбъект.ЮТКонструкторОбъектаXDTO - Конструктор +Функция УстановитьРеквизиты(ЗначенияРеквизитов) Экспорт + + Для Каждого ЗначениеРеквизита Из ЗначенияРеквизитов Цикл + ТекущийОбъект[ЗначениеРеквизита.Ключ] = ЗначениеРеквизита.Значение; + КонецЦикла; + + Возврат ЭтотОбъект; + +КонецФункции + // Устанавливает фиктивное значение реквизита объекта. // // На основании типа реквизита генерируется фиктивное значение. diff --git a/tests/src/CommonModules/Обр_ЮТКонструкторОбъектаXDTO_МО/Module.bsl b/tests/src/CommonModules/Обр_ЮТКонструкторОбъектаXDTO_МО/Module.bsl index 0d4d195f..1f8c6a58 100644 --- a/tests/src/CommonModules/Обр_ЮТКонструкторОбъектаXDTO_МО/Module.bsl +++ b/tests/src/CommonModules/Обр_ЮТКонструкторОбъектаXDTO_МО/Module.bsl @@ -22,6 +22,7 @@ ЮТТесты .ДобавитьТест("Установить") + .ДобавитьТест("УстановитьРеквизиты") .ДобавитьТест("Фикция") .ДобавитьТест("ФикцияОбязательныхПолей") .ДобавитьТест("ФикцияНезаполненных") @@ -52,6 +53,23 @@ КонецПроцедуры +Процедура УстановитьРеквизиты() Экспорт + + Номер = ЮТест.Данные().СлучайнаяСтрока(9); + Сумма = ЮТест.Данные().СлучайноеЧисло(); + Реквизиты = Новый Структура("Number, Сумма", Номер, Сумма); + + Объект = НовыйКонструктор() + .УстановитьРеквизиты(Реквизиты) + .ДанныеОбъекта(); + + ЮТест.ОжидаетЧто(Объект) + .ИмеетТип(Тип("ОбъектXDTO")) + .Свойство("Number").Равно(Номер) + .Свойство("Сумма").Равно(Сумма); + +КонецПроцедуры + Процедура Фикция() Экспорт Объект = НовыйКонструктор()