1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2024-11-30 08:36:50 +02:00
Установка реквизитов конструктора объекта
This commit is contained in:
alkoleft 2024-03-24 03:16:44 +03:00
parent d7556c736e
commit 2326d4a388
4 changed files with 101 additions and 15 deletions

View File

@ -27,6 +27,18 @@
КонецПроцедуры
Процедура УстановитьРеквизиты(Контекст, ЗначенияРеквизитов) Экспорт
ТекущаяЗапись = ТекущаяЗапись(Контекст);
Для Каждого ЗначениеРеквизита Из ЗначенияРеквизитов Цикл
ОписаниеРеквизита(Контекст, ЗначениеРеквизита.Ключ);
ТекущаяЗапись.Вставить(ЗначениеРеквизита.Ключ, ЗначениеРеквизита.Значение);
КонецЦикла;
КонецПроцедуры
Процедура Фикция(Контекст, ИмяРеквизита, РеквизитыЗаполнения, Знач ОграничениеТипа) Экспорт
ЮТПроверкиСлужебный.ПроверитьТипПараметра(ОграничениеТипа, "Тип, ОписаниеТипов, Строка", "Фикция", "ЮТКонструкторТестовыхДанных", Истина);
@ -71,11 +83,15 @@
КонецПроцедуры
Процедура ДобавитьСтроку(Контекст) Экспорт
Процедура ДобавитьСтроку(Контекст, ЗначенияРеквизитов) Экспорт
Запись = Новый Структура();
ДанныеТабличнойЧасти(Контекст).Добавить(Запись);
Если ЗначенияРеквизитов <> Неопределено Тогда
УстановитьРеквизиты(Контекст, ЗначенияРеквизитов);
КонецЕсли;
КонецПроцедуры
Процедура УстановитьДополнительноеСвойство(Контекст, ИмяСвойства, Значение = Неопределено) Экспорт

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -46,6 +46,23 @@
КонецФункции
// Устанавливает значения реквизитов создаваемого объекта.
//
// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливаются значения реквизитов строки табличной части
//
// Параметры:
// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов
//
// Возвращаемое значение:
// ОбщийМодуль - Установить реквизиты
&НаКлиенте
Функция УстановитьРеквизиты(ЗначенияРеквизитов) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.УстановитьРеквизиты(Контекст, ЗначенияРеквизитов);
Возврат ЭтотОбъект;
КонецФункции
// Устанавливает фиктивное значение реквизита создаваемого объекта.
//
// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливается значение реквизита строки табличной части.
@ -122,13 +139,17 @@
КонецФункции
// Добавляет новую строку табличной части объекта.
// При необходимости можно выполнить установку реквизитов новой строки
//
// Параметры:
// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов новой строки
//
// Возвращаемое значение:
// ОбщийМодуль - Конструктор
&НаКлиенте
Функция ДобавитьСтроку() Экспорт
Функция ДобавитьСтроку(ЗначенияРеквизитов = Неопределено) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.ДобавитьСтроку(Контекст);
ЮТКонструкторТестовыхДанныхСлужебный.ДобавитьСтроку(Контекст, ЗначенияРеквизитов);
Возврат ЭтотОбъект;
КонецФункции

View File

@ -1,6 +1,6 @@
//©///////////////////////////////////////////////////////////////////////////©//
//
// Copyright 2021-2023 BIA-Technologies Limited Liability Company
// Copyright 2021-2024 BIA-Technologies Limited Liability Company
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@ -36,7 +36,7 @@
// Значение - Произвольный - Значение реквизита объекта или табличной части
//
// Возвращаемое значение:
// ОбщийМодуль - Конструктор
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
Функция Установить(ИмяРеквизита, Значение) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.Установить(Контекст, ИмяРеквизита, Значение);
@ -44,6 +44,22 @@
КонецФункции
// Устанавливает значения реквизитов создаваемого объекта.
//
// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливаются значения реквизитов строки табличной части
//
// Параметры:
// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов
//
// Возвращаемое значение:
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Установить реквизиты
Функция УстановитьРеквизиты(ЗначенияРеквизитов) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.УстановитьРеквизиты(Контекст, ЗначенияРеквизитов);
Возврат ЭтотОбъект;
КонецФункции
// Устанавливает фиктивное значение реквизита создаваемого объекта.
//
// Если метод вызывается после вызова см. ТабличнаяЧасть, то устанавливается значение реквизита строки табличной части.
@ -62,7 +78,7 @@
// - Неопределено - Будет сгенерировано значение, на основании типа реквизита, если реквизит составной, то будет использован случайный тип
//
// Возвращаемое значение:
// ОбщийМодуль - Конструктор
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
Функция Фикция(ИмяРеквизита, РеквизитыЗаполнения = Неопределено, ОграничениеТипа = Неопределено) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.Фикция(Контекст, ИмяРеквизита, РеквизитыЗаполнения, ОграничениеТипа);
@ -82,7 +98,7 @@
// * Для перечислений (в том числе системных) выбирается случайно значение перечисления
//
// Возвращаемое значение:
// ОбщийМодуль - Конструктор
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
Функция ФикцияОбязательныхПолей() Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.ФикцияОбязательныхПолей(Контекст);
@ -96,7 +112,7 @@
// ИмяТабличнойЧасти - Строка - Имя табличной части
//
// Возвращаемое значение:
// ОбщийМодуль - Конструктор
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
Функция ТабличнаяЧасть(ИмяТабличнойЧасти) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.ТабличнаяЧасть(Контекст, ИмяТабличнойЧасти);
@ -107,7 +123,7 @@
// Переключает конструктор на заполнение объекта.
//
// Возвращаемое значение:
// ОбщийМодуль - Конструктор
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
Функция Объект() Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.ТабличнаяЧасть(Контекст, Неопределено);
@ -116,12 +132,16 @@
КонецФункции
// Добавляет новую строку табличной части объекта.
// При необходимости можно выполнить установку реквизитов новой строки
//
// Параметры:
// ЗначенияРеквизитов - Структура - Устанавливаемые значения реквизитов новой строки
//
// Возвращаемое значение:
// ОбщийМодуль - Конструктор
Функция ДобавитьСтроку() Экспорт
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
Функция ДобавитьСтроку(ЗначенияРеквизитов = Неопределено) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.ДобавитьСтроку(Контекст);
ЮТКонструкторТестовыхДанныхСлужебный.ДобавитьСтроку(Контекст, ЗначенияРеквизитов);
Возврат ЭтотОбъект;
КонецФункции
@ -133,7 +153,7 @@
// Значение - Произвольный - Значение дополнительного свойства
//
// Возвращаемое значение:
// ОбщийМодуль - Конструктор
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
Функция УстановитьДополнительноеСвойство(ИмяСвойства, Значение = Неопределено) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.УстановитьДополнительноеСвойство(Контекст, ИмяСвойства, Значение);
@ -167,7 +187,7 @@
// ОбменДаннымиЗагрузка - Булево - Записать объект с признаком `ОбменДанными.Загрузка = Истина`
//
// Возвращаемое значение:
// ОбщийМодуль - Конструктор
// ОбработкаОбъект.ЮТКонструкторТестовыхДанных - Конструктор
Функция ДобавитьЗапись(ОбменДаннымиЗагрузка = Ложь) Экспорт
ЮТКонструкторТестовыхДанныхСлужебный.Записать(Контекст, Ложь, ОбменДаннымиЗагрузка);

View File

@ -29,6 +29,7 @@
.ДобавитьТест("Фикция_ОбщийРеквизит")
.ДобавитьТест("ФикцияОбязательныхПолей")
.ДобавитьТест("СоздатьГруппу")
.ДобавитьТест("УстановитьРеквизиты")
;
КонецПроцедуры
@ -268,4 +269,32 @@
КонецПроцедуры
Процедура УстановитьРеквизиты() Экспорт
Поставщик = ЮТест.Данные().СоздатьЭлемент("Справочник.Контрагенты");
Склад = ЮТест.Данные().СоздатьЭлемент("Справочник.Склады");
Товар = ЮТест.Данные().СоздатьЭлемент("Справочник.Товары");
Цена = ЮТест.Данные().СлучайноеЧисло(99, 2);
Реквизиты = Новый Структура("Поставщик, Склад", Поставщик, Склад);
РеквизитыСтроки = Новый Структура("Товар, Цена", Товар, Цена);
Данные = ЮТест.Данные().КонструкторОбъекта("Документы.ПриходТовара")
.УстановитьРеквизиты(Реквизиты)
.ТабличнаяЧасть("Товары")
.ДобавитьСтроку()
.УстановитьРеквизиты(РеквизитыСтроки)
.ДобавитьСтроку(РеквизитыСтроки)
.ДанныеОбъекта();
ЮТест.ОжидаетЧто(Данные)
.Свойство("Поставщик").Равно(Поставщик)
.Свойство("Склад").Равно(Склад)
.Свойство("Товары[0].Товар").Равно(Товар)
.Свойство("Товары[0].Цена").Равно(Цена)
.Свойство("Товары[1].Товар").Равно(Товар)
.Свойство("Товары[1].Цена").Равно(Цена);
КонецПроцедуры
#КонецОбласти