diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl
index cd6afe2c..11862d8f 100644
--- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные/Module.bsl
@@ -565,9 +565,7 @@
// ОписанияТипов - Соответствие из ОписаниеТипов - Соответствие имен колонок таблицы к типам значений
// КэшЗначений - Соответствие из Произвольный - Соответствие для хранения создаваемых значений
// ЗаменяемыеЗначения - Соответствие из Произвольный - Значения, использующиеся для замены
-// ПараметрыСозданияОбъектов - Структура - Настройки создание объектов:
-// * ФикцияОбязательныхПолей - Булево - По умолчанию, Ложь
-// * ОбменДаннымиЗагрузка - Булево - По умолчанию, Истина
+// ПараметрыСозданияОбъектов - см. ЮТФабрика.ПараметрыСозданияОбъектов
// Возвращаемое значение:
// - ТаблицаЗначений - Для сервера, данные загруженные из макета
// - Массив из Структура - Для клиента, данные загруженные из макета
diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl
index 33ce89ef..a37037e1 100644
--- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанные_ТаблицыЗначений/Module.bsl
@@ -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.
@@ -248,10 +248,10 @@
КэшироватьЗначение = Значение = Неопределено И ОписаниеКолонки.Менеджер <> Неопределено;
Если КэшироватьЗначение Тогда
- Если КэшЗначений[ОписаниеКолонки.Менеджер] = Неопределено Тогда
- КэшЗначений.Вставить(ОписаниеКолонки.Менеджер, Новый Соответствие());
+ Если КэшЗначений[ОписаниеКолонки.КлючТипаЗначения] = Неопределено Тогда
+ КэшЗначений.Вставить(ОписаниеКолонки.КлючТипаЗначения, Новый Соответствие());
Иначе
- Значение = КэшЗначений[ОписаниеКолонки.Менеджер][ЗначениеПредставления];
+ Значение = КэшЗначений[ОписаниеКолонки.КлючТипаЗначения][ЗначениеПредставления];
КонецЕсли;
КонецЕсли;
@@ -263,7 +263,7 @@
Значение = ПривестиЗначениеКолонки(ОписаниеКолонки, ЗначениеПредставления, ЗначенияРеквизитов, ПараметрыСоздания);
Если КэшироватьЗначение Тогда
- КэшЗначений[ОписаниеКолонки.Менеджер].Вставить(ЗначениеПредставления, Значение);
+ КэшЗначений[ОписаниеКолонки.КлючТипаЗначения].Вставить(ЗначениеПредставления, Значение);
КонецЕсли;
Возврат Значение;
@@ -286,8 +286,8 @@
Продолжить;
КонецЕсли;
- Если КэшЗначений[Колонка.Менеджер] = Неопределено Тогда
- КэшЗначений.Вставить(Колонка.Менеджер, Новый Соответствие);
+ Если КэшЗначений[Колонка.КлючТипаЗначения] = Неопределено Тогда
+ КэшЗначений.Вставить(Колонка.КлючТипаЗначения, Новый Соответствие);
КонецЕсли;
КонецЦикла;
@@ -480,6 +480,7 @@
ОписаниеКолонки.Вставить("ДополнительныеРеквизиты", Новый Массив());
ОписаниеКолонки.Вставить("Составное", Ложь);
ОписаниеКолонки.Вставить("Менеджер", Неопределено);
+ ОписаниеКолонки.Вставить("КлючТипаЗначения", Неопределено);
ОписаниеКолонки.Вставить("ОписаниеОбъектаМетаданных", Неопределено);
ОписаниеКолонки.Вставить("ЭтоПеречисление", Ложь);
ОписаниеКолонки.Вставить("ЭтоЧисло", Ложь);
@@ -553,6 +554,7 @@
ОписаниеКолонки.ОписаниеОбъектаМетаданных = ЮТМетаданные.ОписаниеОбъектаМетаданных(ТипЗначения);
ОписаниеКолонки.ЭтоПеречисление = ЮТМетаданные.ЭтоПеречисление(ОписаниеКолонки.ОписаниеОбъектаМетаданных);
ОписаниеКолонки.Менеджер = ЮТОбщий.Менеджер(ОписаниеКолонки.ОписаниеОбъектаМетаданных);
+ ОписаниеКолонки.КлючТипаЗначения = ЮТТипыДанныхСлужебный.ИдентификаторТипа(ТипЗначения);
КонецЕсли;
КонецПроцедуры
diff --git a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl
index 6f62f464..f54c54ee 100644
--- a/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТТестовыеДанныеВызовСервера/Module.bsl
@@ -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.
@@ -164,7 +164,7 @@
Функция ЗагрузитьИзМакета(Знач Макет,
Знач ОписанияТипов,
- Знач КэшЗначений,
+ КэшЗначений,
Знач ЗаменяемыеЗначения,
Знач ПараметрыЗаполнения,
Знач ТаблицаЗначений) Экспорт
diff --git a/exts/yaxunit/src/CommonModules/ЮТФабрика/Module.bsl b/exts/yaxunit/src/CommonModules/ЮТФабрика/Module.bsl
index 9afa961a..5761e5d2 100644
--- a/exts/yaxunit/src/CommonModules/ЮТФабрика/Module.bsl
+++ b/exts/yaxunit/src/CommonModules/ЮТФабрика/Module.bsl
@@ -849,7 +849,7 @@
ЗаполнитьЗначенияСвойств(ПараметрыЗаписи, ВходныеПараметрыЗаписи);
КонецЕсли;
- Возврат Новый ФиксированнаяСтруктура("ФикцияОбязательныхПолей, ПараметрыЗаписи", ФикцияОбязательныхПолей, ПараметрыЗаписи);
+ Возврат Новый Структура("ФикцияОбязательныхПолей, ПараметрыЗаписи", ФикцияОбязательныхПолей, ПараметрыЗаписи);
КонецФункции
diff --git a/tests/src/CommonModules/ОМ_ЮТТестовыеДанные/Module.bsl b/tests/src/CommonModules/ОМ_ЮТТестовыеДанные/Module.bsl
index 0daaed04..c6afcc16 100644
--- a/tests/src/CommonModules/ОМ_ЮТТестовыеДанные/Module.bsl
+++ b/tests/src/CommonModules/ОМ_ЮТТестовыеДанные/Module.bsl
@@ -34,6 +34,8 @@
.ДобавитьТест("ЗагрузитьИзМакета_MarkDown")
.ДобавитьТест("ЗагрузитьИзМакета_ЧастичнаяЗагрузкаДанных")
.ДобавитьТест("ЗагрузитьИзМакета_Проверки")
+ .ДобавитьТест("ЗагрузитьИзМакета_ЦепочкаЗагрузок")
+ .ДобавитьТест("ЗагрузитьИзМакета_ОбменДаннымиЗагрузка")
.ДобавитьТест("СлучайныйИдентификатор")
.ДобавитьТест("СлучайноеЗначениеПеречисления")
.ДобавитьТест("УстановитьЗначениеРеквизита")
@@ -151,9 +153,9 @@
КонецЕсли;
ЮТУтверждения.Что(ЮТТестовыеДанные)
- .Метод(ТестируемыйМетод, ПараметрыМетода)
- .ВыбрасываетИсключение(ТекстИсключения);
-
+ .Метод(ТестируемыйМетод, ПараметрыМетода)
+ .ВыбрасываетИсключение(ТекстИсключения);
+
Мокито.Сбросить();
КонецПроцедуры
@@ -389,6 +391,63 @@
КонецПроцедуры
+Процедура ЗагрузитьИзМакета_ЦепочкаЗагрузок() Экспорт
+
+ ОписанияТипов = Новый Соответствие;
+ ОписанияТипов.Вставить("Период", Новый ОписаниеТипов("Дата"));
+ ОписанияТипов.Вставить("Товар", Новый ОписаниеТипов("СправочникСсылка.Товары"));
+ ОписанияТипов.Вставить("Цена", Новый ОписаниеТипов("Число"));
+ ОписанияТипов.Вставить("Количество", Новый ОписаниеТипов("Число"));
+
+ КэшЗначений = Неопределено;
+
+ ТаблицаРезультатов = ЮТест.Данные().ЗагрузитьИзМакета("ОбщийМакет.ЮТ_МакетТестовыхДанных.R2C1:R5C11",
+ ОписанияТипов,
+ КэшЗначений
+ );
+
+ ОписанияТипов = Новый Соответствие;
+ ОписанияТипов.Вставить("Период", Новый ОписаниеТипов("Дата"));
+ ОписанияТипов.Вставить("Активность", Новый ОписаниеТипов("Булево"));
+ ОписанияТипов.Вставить("Товар", Новый ОписаниеТипов("СправочникСсылка.Товары"));
+ ОписанияТипов.Вставить("Цена", Новый ОписаниеТипов("Число"));
+ ОписанияТипов.Вставить("Количество", Новый ОписаниеТипов("Число"));
+ ОписанияТипов.Вставить("Сумма", Новый ОписаниеТипов("Число"));
+
+ ОжидаемыеЗначения = ЮТест.Данные().ЗагрузитьИзМакета("ОбщийМакет.ЮТ_МакетТестовыхДанных.R8C1:R11C6",
+ ОписанияТипов,
+ КэшЗначений
+ );
+
+ ЮТест.ОжидаетЧто(КэшЗначений).НеРавно(Неопределено);
+
+ Для Каждого Строка Из ТаблицаРезультатов Цикл
+
+ ЮТест.ОжидаетЧто(ОжидаемыеЗначения)
+ .Содержит(ЮТест.Предикат().Реквизит("Товар").Равно(Строка.Товар));
+ КонецЦикла;
+
+КонецПроцедуры
+
+Процедура ЗагрузитьИзМакета_ОбменДаннымиЗагрузка() Экспорт
+
+ ОписанияТипов = Новый Соответствие;
+ ОписанияТипов.Вставить("Счет", Новый ОписаниеТипов("СправочникСсылка.РасчетныеСчета"));
+
+ ПараметрыСозданияОбъектов = ЮТФабрика.ПараметрыСозданияОбъектов();
+ ПараметрыСозданияОбъектов.ПараметрыЗаписи.ОбменДаннымиЗагрузка = Истина;
+
+ Параметры = ЮТОбщий.ЗначениеВМассиве("ОбщийМакет.ЮТ_МакетТестовыхДанных.R14C1:R16C3", ОписанияТипов, Неопределено, Неопределено, ПараметрыСозданияОбъектов);
+ ЮТест.ОжидаетЧто(ЮТест.Данные())
+ .Метод("ЗагрузитьИзМакета", Параметры)
+ .НеВыбрасываетИсключение();
+
+ ЮТест.ОжидаетЧто(ЮТест.Данные())
+ .Метод("ЗагрузитьИзМакета").Параметр("ОбщийМакет.ЮТ_МакетТестовыхДанных.R14C1:R16C3").Параметр(ОписанияТипов)
+ .ВыбрасываетИсключение("не заполнено или заполнено неверно");
+
+КонецПроцедуры
+
Процедура СлучайноеЗначениеПеречисления() Экспорт
Варианты = ЮТест.Варианты("Перечисление, Описание")
diff --git a/tests/src/CommonTemplates/ЮТ_МакетТестовыхДанных/Template.mxlx b/tests/src/CommonTemplates/ЮТ_МакетТестовыхДанных/Template.mxlx
index 6e67f1c6..45a9d6cb 100644
--- a/tests/src/CommonTemplates/ЮТ_МакетТестовыхДанных/Template.mxlx
+++ b/tests/src/CommonTemplates/ЮТ_МакетТестовыхДанных/Template.mxlx
@@ -6,6 +6,7 @@
ru
Русский
+
@@ -47,13 +48,13 @@
- 7
+ 6
7
- 6
+ 7
8
@@ -584,6 +585,12 @@
+
+ 5
+
+ true
+
+
6
@@ -884,9 +891,158 @@
+
+ 11
+
+ true
+
+
+
+ 12
+
+
+
+ 0
+
+
+ ru
+ РасчетныеСчета
+
+
+
+
+
+
+
+ 13
+
+
+
+ 28
+
+
+ ru
+ Счет
+
+
+
+
+
+
+ 28
+
+
+ ru
+ Счет.Номер
+
+
+
+
+
+
+ 28
+
+
+ ru
+ Счет.Банк
+
+
+
+
+
+
+ 29
+
+
+
+
+ 30
+
+
+
+
+ 31
+
+
+
+
+
+ 14
+
+
+
+ 27
+
+
+ ru
+ Счет 1
+
+
+
+
+
+
+ 32
+
+
+ ru
+ 1
+
+
+
+
+
+
+ 33
+
+
+ ru
+ Банк 1
+
+
+
+
+
+
+ 34
+
+
+
+
+ 35
+
+
+
+
+
+ 15
+
+
+
+ 27
+
+
+ ru
+ Счет 2
+
+
+
+
+
+
+ 27
+
+
+
+
+ 27
+
+
+
+
true
- 11
- 11
+ 16
+ 16
Solid
@@ -910,10 +1066,10 @@
77
- 209
+ 176
- 176
+ 209
65
@@ -1002,4 +1158,33 @@
0
+
+ 0
+ 0
+ 95
+ Center
+
+
+ 95
+
+
+ 147
+
+
+ 120
+
+
+ 0
+ 123
+
+
+ 0
+ 83
+
+
+ 56
+
+
+ 105
+
\ No newline at end of file