From f296aef9e051c1f3cd7a3748abde50bb318643f6 Mon Sep 17 00:00:00 2001 From: alkoleft Date: Mon, 15 May 2023 22:47:04 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8?= =?UTF-8?q?=D0=B5=20=D0=BE=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B8?= =?UTF-8?q?=D0=B7=20=D0=BA=D0=BE=D0=BD=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B0=20=D0=B1=D0=B5=D0=B7=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ЮТКонструкторТестовыхДанных/Module.bsl | 15 ++++- .../ЮТТестовыеДанныеВызовСервера/Module.bsl | 58 +++++++++++++------ 2 files changed, 53 insertions(+), 20 deletions(-) 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, ПараметрыЗаписи.РежимЗаписи, Неопределено); - КлючЗаписи = ЗаписатьОбъект(Объект, ПараметрыЗаписи.ОбменДаннымиЗагрузка, РежимЗаписи); - - Если ВернутьОбъект Тогда - Возврат Объект; - Иначе - Возврат КлючЗаписи; - КонецЕсли; + Возврат Объект; КонецФункции