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].Товар, "Поставщик"); + ЮТест.ОжидаетЧто(ПоставщикТовара).Равно(Поставщик); + +КонецПроцедуры + Процедура ФикцияОбязательныхПолей() Экспорт Данные = ЮТест.Данные().КонструкторОбъекта("Справочники.Контрагенты")