diff --git a/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанных/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанных/Module.bsl index 1891a30b..677c04af 100644 --- a/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанных/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТКонструкторТестовыхДанных/Module.bsl @@ -131,7 +131,7 @@ // Создает новый объект и возвращает его или ссылку. // -// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество объектов. +// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. // Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор. // // Параметры: @@ -156,6 +156,19 @@ КонецФункции +// Создает и возвращяет новый объект (не записывая его). +// +// Важно, после создания данные не очищаются, поэтому многократный вызов метода создаст множество одинаковых объектов. +// Если вы хотите создать полностью новый объект, необходимо по-новой инициировать конструктор. +// +// Возвращаемое значение: +// Произвольный - Созданный объект. +Функция НовыйОбъект() Экспорт + + Контекст = Контекст(); + Возврат ЮТТестовыеДанныеВызовСервера.НовыйОбъект(Контекст.Менеджер, Контекст.Данные, Контекст.ДополнительныеСвойства); + +КонецФункции // Создает и проводит новый документ. Возвращает объект или или ссылку на него. // // Важно, после создания данные не очищаются, поэтому многократный вызов метода создать множество объектов. diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl index 1e0f53eb..b58d8e67 100644 --- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl +++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl @@ -65,8 +65,43 @@ Менеджер = ЮТОбщий.Менеджер(Менеджер); + Если ПараметрыЗаписи = Неопределено Тогда + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + Иначе + ПереданныеПараметрыЗаписи = ПараметрыЗаписи; + ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); + ЗаполнитьЗначенияСвойств(ПараметрыЗаписи, ПереданныеПараметрыЗаписи); + КонецЕсли; + + Объект = НовыйОбъект(Менеджер, Данные, ПараметрыЗаписи.ДополнительныеСвойства); + + ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектМетаданных(ТипЗнч(Менеджер)); + + РежимЗаписи = ?(СтрСравнить(ОписаниеОбъектаМетаданных.ОписаниеТипа.Имя, "Документ") = 0, ПараметрыЗаписи.РежимЗаписи, Неопределено); + КлючЗаписи = ЗаписатьОбъект(Объект, ПараметрыЗаписи.ОбменДаннымиЗагрузка, РежимЗаписи); + + Если ВернутьОбъект Тогда + Возврат Объект; + Иначе + Возврат КлючЗаписи; + КонецЕсли; + +КонецФункции + +// Создает новый объект и заполняет его данными +// +// Параметры: +// Менеджер - Произвольный +// Данные - Структура - Данные заполнения объекта +// ДополнительныеСвойства - Структура - Дополнительные свойства объекта +// +// Возвращаемое значение: +// Произвольный - Созданный объект +Функция НовыйОбъект(Знач Менеджер, Знач Данные, Знач ДополнительныеСвойства = Неопределено) Экспорт + + Менеджер = ЮТОбщий.Менеджер(Менеджер); + ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектМетаданных(ТипЗнч(Менеджер)); - ЭтоСсылочный = ОписаниеОбъектаМетаданных.ОписаниеТипа.Ссылочный; Объект = СоздатьОбъект(Менеджер, ОписаниеОбъектаМетаданных.ОписаниеТипа); ЗаполнитьЗначенияСвойств(Объект, Данные); @@ -89,28 +124,13 @@ КонецЕсли; - Если ПараметрыЗаписи = Неопределено Тогда - ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); - Иначе - ПереданныеПараметрыЗаписи = ПараметрыЗаписи; - ПараметрыЗаписи = ЮТОбщий.ПараметрыЗаписи(); - ЗаполнитьЗначенияСвойств(ПараметрыЗаписи, ПереданныеПараметрыЗаписи); - КонецЕсли; - ЗаполнитьБазовыеРеквизиты(Объект, ОписаниеОбъектаМетаданных); - Если ЭтоСсылочный Тогда - ЮТОбщий.ОбъединитьВСтруктуру(Объект.ДополнительныеСвойства, ПараметрыЗаписи.ДополнительныеСвойства); + Если ОписаниеОбъектаМетаданных.ОписаниеТипа.Ссылочный И ДополнительныеСвойства <> Неопределено Тогда + ЮТОбщий.ОбъединитьВСтруктуру(Объект.ДополнительныеСвойства, ДополнительныеСвойства); КонецЕсли; - РежимЗаписи = ?(СтрСравнить(ОписаниеОбъектаМетаданных.ОписаниеТипа.Имя, "Документ") = 0, ПараметрыЗаписи.РежимЗаписи, Неопределено); - КлючЗаписи = ЗаписатьОбъект(Объект, ПараметрыЗаписи.ОбменДаннымиЗагрузка, РежимЗаписи); - - Если ВернутьОбъект Тогда - Возврат Объект; - Иначе - Возврат КлючЗаписи; - КонецЕсли; + Возврат Объект; КонецФункции