mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-03-17 20:48:01 +02:00
Рефакторинг
This commit is contained in:
parent
8ae0f03198
commit
f9c02ec94b
@ -552,17 +552,22 @@
|
||||
// ТабличныйДокумент - ТабличныйДокумент - Исходный табличный документ
|
||||
// ОписанияТипов - Соответствие из Строка - Соответствие имен колонок таблицы к типам значений
|
||||
// КэшЗначений - Соответствие из Произвольный - Соответствие для хранения создаваемых значений
|
||||
// Параметры - Соответствие из Строка - Соответствие значений в табличном документе значению таблицы
|
||||
// ЗаменяемыеЗначения - Соответствие из Строка - Значения, использующиеся для замены
|
||||
// ПараметрыСозданияОбъектов - Структура:
|
||||
// * ФикцияОбязательныхПолей - Булево - По умолчанию - Ложь
|
||||
// * ОбменДаннымиЗагрузка - Булево - По умолчанию - Истина
|
||||
// Возвращаемое значение:
|
||||
// см. ЮТТестовыеДанные_ТаблицыЗначений.ТаблицаЗначенийИзМассиваСтруктур
|
||||
Функция ТаблицаЗначенийИзТабличногоДокумента(ТабличныйДокумент, ОписанияТипов, КэшЗначений = Неопределено,
|
||||
Параметры = Неопределено) Экспорт
|
||||
ЗаменяемыеЗначения = Неопределено, ПараметрыСозданияОбъектов = Неопределено) Экспорт
|
||||
|
||||
Параметры = ЮТТестовыеДанные_ТаблицыЗначений.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов);
|
||||
ИсточникДанных = СтруктурыТабличногоДокумента(ТабличныйДокумент);
|
||||
ТаблицаЗначений = ЮТТестовыеДанные_ТаблицыЗначений.ТаблицаЗначенийИзМассиваСтруктур(
|
||||
ИсточникДанных,
|
||||
ОписанияТипов,
|
||||
КэшЗначений,
|
||||
ЗаменяемыеЗначения,
|
||||
Параметры
|
||||
);
|
||||
|
||||
@ -575,17 +580,22 @@
|
||||
// Строки - Строка - Таблица markdown
|
||||
// ОписанияТипов - Соответствие из Строка - Соответствие имен колонок таблицы к типам значений
|
||||
// КэшЗначений - Соответствие из Произвольный - Соответствие для хранения создаваемых значений
|
||||
// Параметры - Соответствие из Строка - Соответствие значений в табличном документе значению таблицы
|
||||
// ЗаменяемыеЗначения - Соответствие из Строка - Значения, использующиеся для замены
|
||||
// ПараметрыСозданияОбъектов - Структура:
|
||||
// * ФикцияОбязательныхПолей - Булево - По умолчанию - Ложь
|
||||
// * ОбменДаннымиЗагрузка - Булево - По умолчанию - Истина
|
||||
// Возвращаемое значение:
|
||||
// см. ЮТТестовыеДанные_ТаблицыЗначений.ТаблицаЗначенийИзМассиваСтруктур
|
||||
Функция ТаблицаЗначенийИзТаблицыMarkDown(Строки, ОписанияТипов, КэшЗначений = Неопределено,
|
||||
Параметры = Неопределено) Экспорт
|
||||
ЗаменяемыеЗначения = Неопределено, ПараметрыСозданияОбъектов = Неопределено) Экспорт
|
||||
|
||||
Параметры = ЮТТестовыеДанные_ТаблицыЗначений.ПараметрыЗаполненияТаблицыЗначений(ПараметрыСозданияОбъектов);
|
||||
ИсточникДанных = ТаблицаMarkDown(Строки);
|
||||
ТаблицаЗначений = ЮТТестовыеДанные_ТаблицыЗначений.ТаблицаЗначенийИзМассиваСтруктур(
|
||||
ИсточникДанных,
|
||||
ОписанияТипов,
|
||||
КэшЗначений,
|
||||
ЗаменяемыеЗначения,
|
||||
Параметры
|
||||
);
|
||||
|
||||
|
@ -20,23 +20,30 @@
|
||||
|
||||
// Возвращает таблицу значений, заполненную из массива структур
|
||||
// Параметры:
|
||||
// Данные - Массив из Структура
|
||||
// ОписанияТипов - Соответствие из Строка
|
||||
// КэшЗначений - Соответствие из Произвольный
|
||||
// Параметры - Соответствие из Строка
|
||||
// Данные - Массив из Структура - Значения для преобразования в таблицу
|
||||
// ОписанияТипов - Соответствие из Строка - Соответствие имен колонок таблицы к типам значений
|
||||
// КэшЗначений - Соответствие из Произвольный - Соответствие для хранения создаваемых значений
|
||||
// ЗаменяемыеЗначения - Соответствие из Строка - Значения, использующиеся для замены
|
||||
// Параметры - см. ЮТТестовыеДанные_ТаблицыЗначений.ПараметрыЗаполненияТаблицыЗначений
|
||||
// Возвращаемое значение:
|
||||
// ТаблицаЗначений
|
||||
Функция ТаблицаЗначенийИзМассиваСтруктур(Данные, ОписанияТипов, КэшЗначений = Неопределено,
|
||||
Параметры = Неопределено) Экспорт
|
||||
ЗаменяемыеЗначения = Неопределено, Параметры = Неопределено) Экспорт
|
||||
|
||||
Если Не ЗначениеЗаполнено(Данные) Тогда
|
||||
Возврат Новый ТаблицаЗначений;
|
||||
КонецЕсли;
|
||||
|
||||
Если Параметры = Неопределено Тогда
|
||||
Параметры = Новый Соответствие;
|
||||
Если ЗаменяемыеЗначения = Неопределено Тогда
|
||||
ЗаменяемыеЗначения = Новый Соответствие;
|
||||
КонецЕсли;
|
||||
|
||||
Если Параметры = Неопределено Тогда
|
||||
Параметры = ПараметрыЗаполненияТаблицыЗначений();
|
||||
КонецЕсли;
|
||||
|
||||
ПараметрыСозданияОбъектовМетаданных = Параметры.СозданиеОбъектовМетаданных;
|
||||
|
||||
ИменаКолонок = ПолучитьИменаКолонок(Данные[0]);
|
||||
|
||||
СведенияОбъектовМетаданных = СведенияОбъектовМетаданныхИзОписанийТипов(ИменаКолонок, ОписанияТипов);
|
||||
@ -61,11 +68,11 @@
|
||||
КонецЕсли;
|
||||
|
||||
СведенияОбъекта = СведенияОбъектовМетаданных.Получить(ИмяКолонки);
|
||||
ЗначениеПараметра = Параметры.Получить(ЗначениеИсточника);
|
||||
ЗаменяемоеЗначение = ЗаменяемыеЗначения.Получить(ЗначениеИсточника);
|
||||
|
||||
Если ЗначениеПараметра <> Неопределено Тогда
|
||||
Если ЗаменяемоеЗначение <> Неопределено Тогда
|
||||
|
||||
ЗначениеТаблицы = ЗначениеПараметра;
|
||||
ЗначениеТаблицы = ЗаменяемоеЗначение;
|
||||
|
||||
ИначеЕсли СведенияОбъекта <> Неопределено Тогда
|
||||
|
||||
@ -89,7 +96,8 @@
|
||||
СведенияРеквизитовОбъекта,
|
||||
Источник,
|
||||
КэшЗначений,
|
||||
Параметры
|
||||
ЗаменяемыеЗначения,
|
||||
ПараметрыСозданияОбъектовМетаданных
|
||||
);
|
||||
|
||||
КонецЕсли;
|
||||
@ -97,7 +105,8 @@
|
||||
ЗначениеТаблицы = ЗначениеОбъектаМетаданных(
|
||||
ОписаниеОбъектаМетаданных,
|
||||
Менеджер,
|
||||
ЗначенияРеквизитовОбъекта
|
||||
ЗначенияРеквизитовОбъекта,
|
||||
ПараметрыСозданияОбъектовМетаданных
|
||||
);
|
||||
|
||||
КэшЗначений[Менеджер].Вставить(ЗначениеИсточника, ЗначениеТаблицы);
|
||||
@ -120,10 +129,45 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает фиксированную структуру параметров для заполнения таблицы значений
|
||||
// Параметры:
|
||||
// СозданиеОбъектовМетаданных - Структура:
|
||||
// * ФикцияОбязательныхПолей - Булево
|
||||
// * ОбменДаннымиЗагрузка - Булево
|
||||
// Возвращаемое значение:
|
||||
// ФиксированнаяСтруктура:
|
||||
// * СозданиеОбъектовМетаданных - ФиксированнаяСтруктура:
|
||||
// * ФикцияОбязательныхПолей - Булево,
|
||||
// * ОбменДаннымиЗагрузка - Булево
|
||||
Функция ПараметрыЗаполненияТаблицыЗначений(СозданиеОбъектовМетаданных = Неопределено) Экспорт
|
||||
|
||||
ФикцияОбязательныхПолей = Ложь;
|
||||
ОбменДаннымиЗагрузка = Истина;
|
||||
|
||||
Если ТипЗнч(СозданиеОбъектовМетаданных) = Тип("Структура") Тогда
|
||||
Если СозданиеОбъектовМетаданных.Свойство("ФикцияОбязательныхПолей") Тогда
|
||||
ФикцияОбязательныхПолей = СозданиеОбъектовМетаданных.ФикцияОбязательныхПолей;
|
||||
КонецЕсли;
|
||||
Если СозданиеОбъектовМетаданных.Свойство("ОбменДаннымиЗагрузка") Тогда
|
||||
ОбменДаннымиЗагрузка = СозданиеОбъектовМетаданных.ОбменДаннымиЗагрузка;
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
СозданиеОбъектовМетаданных = Новый Структура;
|
||||
СозданиеОбъектовМетаданных.Вставить("ФикцияОбязательныхПолей", ФикцияОбязательныхПолей);
|
||||
СозданиеОбъектовМетаданных.Вставить("ОбменДаннымиЗагрузка", ОбменДаннымиЗагрузка);
|
||||
|
||||
Параметры = Новый Структура;
|
||||
Параметры.Вставить("СозданиеОбъектовМетаданных", СозданиеОбъектовМетаданных);
|
||||
|
||||
Возврат Новый ФиксированнаяСтруктура(Параметры);
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
||||
|
||||
Функция ПолучитьИменаКолонок(Структура)
|
||||
|
||||
ИменаКолонок = Новый Массив;
|
||||
@ -339,25 +383,26 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ДополнитьЗначенияРеквизитовОбъекта(Результат, СведенияРеквизитов, Источник, КешЗначений, Параметры)
|
||||
Функция ДополнитьЗначенияРеквизитовОбъекта(Результат, СведенияРеквизитов, Источник, КешЗначений, ЗаменяемыеЗначения,
|
||||
ПараметрыСозданияОбъектовМетаданных)
|
||||
|
||||
Для Каждого Сведения Из СведенияРеквизитов Цикл
|
||||
|
||||
ЗначениеИсточника = Источник[Сведения.Идентификатор];
|
||||
ОписаниеОбъектаМетаданных = ОписаниеОбъектМетаданныхПоОписаниюТипа(Сведения.ОписаниеТипа);
|
||||
|
||||
Если ЗначениеЗаполнено(ЗначениеИсточника) Тогда
|
||||
|
||||
Если ОписаниеОбъектаМетаданных = Неопределено Тогда
|
||||
ЗаменяемоеЗначение = ЗаменяемыеЗначения.Получить(ЗначениеИсточника);
|
||||
ОписаниеОбъектаМетаданных = ОписаниеОбъектМетаданныхПоОписаниюТипа(Сведения.ОписаниеТипа);
|
||||
|
||||
ЗначениеРеквизита = Сведения.ОписаниеТипа.ПривестиЗначение(ЗначениеИсточника);
|
||||
|
||||
ИначеЕсли ЗначениеЗаполнено(ЗначениеИсточника) Тогда
|
||||
|
||||
ЗначениеПараметра = Параметры.Получить(ЗначениеИсточника);
|
||||
|
||||
Если ЗначениеПараметра <> Неопределено Тогда
|
||||
Если ЗаменяемоеЗначение <> Неопределено Тогда
|
||||
|
||||
ЗначениеРеквизита = ЗначениеПараметра;
|
||||
ЗначениеРеквизита = ЗаменяемоеЗначение;
|
||||
|
||||
ИначеЕсли ОписаниеОбъектаМетаданных = Неопределено Тогда
|
||||
|
||||
ЗначениеРеквизита = Сведения.ОписаниеТипа.ПривестиЗначение(ЗначениеИсточника);
|
||||
|
||||
Иначе
|
||||
|
||||
Менеджер = МенеджерОбъектаИзОписанияОбъектаМетаданных(ОписаниеОбъектаМетаданных);
|
||||
@ -379,7 +424,8 @@
|
||||
ЗначениеРеквизита = ЗначениеОбъектаМетаданных(
|
||||
ОписаниеОбъектаМетаданных,
|
||||
Менеджер,
|
||||
ЗначенияРеквизитовОбъекта
|
||||
ЗначенияРеквизитовОбъекта,
|
||||
ПараметрыСозданияОбъектовМетаданных
|
||||
);
|
||||
|
||||
КешЗначений[Менеджер].Вставить(ЗначениеИсточника, ЗначениеРеквизита);
|
||||
@ -402,9 +448,7 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
Функция ЗначениеОбъектаМетаданных(ОписаниеОбъектаМетаданных, Менеджер, ЗначенияРеквизитов)
|
||||
|
||||
ОбменДаннымиЗагрузка = Истина;
|
||||
Функция ЗначениеОбъектаМетаданных(ОписаниеОбъектаМетаданных, Менеджер, ЗначенияРеквизитов, Параметры)
|
||||
|
||||
Если Метаданные.Перечисления.Найти(ОписаниеОбъектаМетаданных.Имя) <> Неопределено Тогда
|
||||
|
||||
@ -417,9 +461,11 @@
|
||||
КонструкторОбъекта.Установить(ДанныеЗначения.Ключ, ДанныеЗначения.Значение);
|
||||
КонецЦикла;
|
||||
|
||||
Значение = КонструкторОбъекта
|
||||
.ФикцияОбязательныхПолей()
|
||||
.Записать(, ОбменДаннымиЗагрузка);
|
||||
Если Параметры.ФикцияОбязательныхПолей Тогда
|
||||
КонструкторОбъекта.ФикцияОбязательныхПолей();
|
||||
КонецЕсли;
|
||||
|
||||
Значение = КонструкторОбъекта.Записать(, Параметры.ОбменДаннымиЗагрузка);
|
||||
|
||||
КонецЕсли;
|
||||
|
||||
|
@ -137,8 +137,8 @@
|
||||
|
||||
Поставщик = ЮТест.Данные().СоздатьЭлемент(Справочники.Контрагенты, "Поставщик");
|
||||
|
||||
Параметры = Новый Соответствие;
|
||||
Параметры.Вставить("Поставщик 1", Поставщик);
|
||||
ЗаменяемыеЗначения = Новый Соответствие;
|
||||
ЗаменяемыеЗначения.Вставить("Поставщик 1", Поставщик);
|
||||
|
||||
// Вызов тестируемого сценария
|
||||
|
||||
@ -146,7 +146,7 @@
|
||||
ИсходныеДанные,
|
||||
ОписанияТипов,
|
||||
КэшЗначений,
|
||||
Параметры
|
||||
ЗаменяемыеЗначения
|
||||
);
|
||||
|
||||
// Проверка поведения и результатов
|
||||
|
Loading…
x
Reference in New Issue
Block a user