From ffe3f6e4c7867fd03ca9dffac9ef1489d9908c4b Mon Sep 17 00:00:00 2001 From: alkoleft Date: Thu, 18 May 2023 01:38:05 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B5=D0=B0=D0=BB=D0=B8=D0=B7=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=20=D0=BF=D1=80=D0=BE=D0=B1=D1=80=D0=BE=D1=81?= =?UTF-8?q?=20=D1=80=D0=B5=D0=BA=D0=B2=D0=B8=D0=B7=D0=B8=D1=82=D0=BE=D0=B2?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D1=84=D0=B8=D0=BA=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ЮТКонструкторТестовыхДанных/Module.bsl | 8 ++--- .../ЮТТестовыеДанныеВызовСервера/Module.bsl | 6 +++- .../ЮТТестовыеДанныеСлужебный/Module.bsl | 6 ++-- .../ОМ_ЮТКонструкторТестовыхДанных/Module.bsl | 29 +++++++++++++++++++ 4 files changed, 42 insertions(+), 7 deletions(-) diff --git a/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанных/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанных/Module.bsl index 6094b9ce..25825564 100644 --- a/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанных/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанных/Module.bsl @@ -56,12 +56,12 @@ // // Параметры: // ИмяРеквизита - Строка - Имя реквизита объекта или табличной части -// Реквизиты - Структура - Значения реквизитов заполнения создаваемого объекта базы -// - Неопределено +// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы +// - Неопределено // // Возвращаемое значение: // ОбщийМодуль - Конструктор -Функция Фикция(ИмяРеквизита, Реквизиты = Неопределено) Экспорт +Функция Фикция(ИмяРеквизита, РеквизитыЗаполнения = Неопределено) Экспорт Контекст = Контекст(); @@ -73,7 +73,7 @@ ТекущаяЗапись = Контекст.Данные; КонецЕсли; - Значение = ЮТТестовыеДанныеСлужебный.Фикция(ОписаниеРеквизита.Тип); + Значение = ЮТТестовыеДанныеСлужебный.Фикция(ОписаниеРеквизита.Тип, РеквизитыЗаполнения); ТекущаяЗапись.Вставить(ИмяРеквизита, Значение); Возврат ЮТКонструкторТестовыхДанных; diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl index b58d8e67..a8ce26d9 100644 --- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl @@ -179,7 +179,7 @@ КонецПроцедуры -Функция ФикцияЗначенияБазы(Знач ТипЗначения) Экспорт +Функция ФикцияЗначенияБазы(Знач ТипЗначения, Знач РеквизитыЗаполнения = Неопределено) Экспорт ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения); @@ -203,6 +203,10 @@ Объект = СоздатьОбъект(Менеджер, ОписаниеТипа); + Если ЗначениеЗаполнено(РеквизитыЗаполнения) Тогда + ЗаполнитьЗначенияСвойств(Объект, РеквизитыЗаполнения); + КонецЕсли; + ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных); Возврат ЗаписатьОбъект(Объект); diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеСлужебный/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеСлужебный/Module.bsl index dffa7d84..8068714f 100644 --- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеСлужебный/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеСлужебный/Module.bsl @@ -22,10 +22,12 @@ // // Параметры: // ОписаниеТипа - ОписаниеТипов +// РеквизитыЗаполнения - Структура - Значения реквизитов заполнения создаваемого объекта базы +// - Неопределено // // Возвращаемое значение: // Произвольный -Функция Фикция(ОписаниеТипа) Экспорт +Функция Фикция(ОписаниеТипа, РеквизитыЗаполнения = Неопределено) Экспорт Если ОписаниеТипа.Типы().Количество() > 1 Тогда НомерТипа = ЮТТестовыеДанные.СлучайноеПоложительноеЧисло(ОписаниеТипа.Типы().Количество()); @@ -69,7 +71,7 @@ Иначе - Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип); + Значение = ЮТТестовыеДанныеВызовСервера.ФикцияЗначенияБазы(Тип, РеквизитыЗаполнения); ДобавитьТестовуюЗапись(Значение); КонецЕсли; diff --git a/tests/src/CommonModules/ОМ_ЮТКонструкторТестовыхДанных/Module.bsl b/tests/src/CommonModules/ОМ_ЮТКонструкторТестовыхДанных/Module.bsl index 36a8fba4..f8f2364a 100644 --- a/tests/src/CommonModules/ОМ_ЮТКонструкторТестовыхДанных/Module.bsl +++ b/tests/src/CommonModules/ОМ_ЮТКонструкторТестовыхДанных/Module.bsl @@ -23,6 +23,7 @@ ЮТТесты.ВТранзакции().УдалениеТестовыхДанных() .ДобавитьТест("ЗаполнитьСправочник") .ДобавитьТест("ЗаполнитьДокумент") + .ДобавитьТест("Фикция") .ДобавитьТест("ФикцияОбязательныхПолей") ; @@ -110,6 +111,34 @@ КонецПроцедуры +Процедура Фикция() Экспорт + + Поставщик = Ютест.Данные().СоздатьЭлемент("Справочники.Контрагенты"); + + Данные = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара") + .Установить("Поставщик", Поставщик) + .Фикция("Дата") + .Фикция("Номер") + .Фикция("Склад") + .Фикция("Валюта") + .ТабличнаяЧасть("Товары") + .ДобавитьСтроку() + .Фикция("Товар", Новый Структура("Поставщик", Поставщик)) + .Фикция("Цена") + .ДанныеОбъекта(); + + ЮТест.ОжидаетЧто(Данные) + .Свойство("Дата").Заполнено() + .Свойство("Номер").Заполнено() + .Свойство("Склад").Заполнено() + .Свойство("Валюта").Заполнено() + .Свойство("Товары[0].Товар").Заполнено(); + + ПоставщикТовара = ЮТЗапросы.ЗначениеРеквизита(Данные.Товары[0].Товар, "Поставщик"); + ЮТест.ОжидаетЧто(ПоставщикТовара).Равно(Поставщик); + +КонецПроцедуры + Процедура ФикцияОбязательныхПолей() Экспорт Данные = ЮТест.Данные().КонструкторОбъекта("Справочники.Контрагенты")