1
0
mirror of https://github.com/bia-technologies/yaxunit.git synced 2025-03-17 20:48:01 +02:00
Тесты и исправления получения движений
This commit is contained in:
alkoleft 2023-09-14 23:54:22 +03:00
parent f90e33a316
commit 1cc6f4ce0f
4 changed files with 59 additions and 4 deletions

View File

@ -184,6 +184,7 @@
// * КоличествоЗаписей - Число, Неопределено - Ограничение количества выбираемых записей
// * Условия - Массив из Строка - Коллекция выражений условий, которые будут объединены через `И`
// * ЗначенияПараметров - Структура - Набор параметров запроса
// * Порядок - Массив из Строка - Поля сортировки
Функция ОписаниеЗапроса() Экспорт
Описание = Новый Структура();
@ -191,6 +192,7 @@
Описание.Вставить("ВыбираемыеПоля", Новый Массив);
Описание.Вставить("КоличествоЗаписей", Неопределено);
Описание.Вставить("Условия", Новый Массив());
Описание.Вставить("Порядок", Новый Массив());
Описание.Вставить("ЗначенияПараметров", Новый Структура());
//@skip-check constructor-function-return-section
@ -221,6 +223,7 @@
Предикат = ЮТест.Предикат().Реквизит("Регистратор").Равно(Документ);
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяРегистра, Предикат, "*");
ОписаниеЗапроса.Порядок.Добавить("НомерСтроки");
Возврат ЮТЗапросыВызовСервера.Записи(ОписаниеЗапроса, Ложь);

View File

@ -122,7 +122,7 @@
КонецЕсли;
Если ОдинРеквизит Тогда
Для каждого КлючЗнач Из Запись Цикл
Для Каждого КлючЗнач Из Запись Цикл
Возврат КлючЗнач.Значение;
КонецЦикла;
Иначе
@ -166,6 +166,11 @@
Строки.Добавить(")");
КонецЕсли;
Если ОписаниеЗапроса.Порядок.Количество() Тогда
Строки.Добавить("УПОРЯДОЧИТЬ ПО ");
Строки.Добавить(СтрСоединить(ОписаниеЗапроса.Порядок, ","));
КонецЕсли;
Запрос = Новый Запрос(СтрСоединить(Строки, Символы.ПС));
ЮТОбщий.ОбъединитьВСтруктуру(Запрос.Параметры, ОписаниеЗапроса.ЗначенияПараметров);
@ -254,8 +259,8 @@
СхемаЗапроса = Новый СхемаЗапроса();
СхемаЗапроса.УстановитьТекстЗапроса(Запрос.Текст);
Для каждого ЗапросСЗ Из СхемаЗапроса.ПакетЗапросов Цикл
Для каждого КолонкаСЗ Из ЗапросСЗ.Колонки Цикл
Для Каждого ЗапросСЗ Из СхемаЗапроса.ПакетЗапросов Цикл
Для Каждого КолонкаСЗ Из ЗапросСЗ.Колонки Цикл
Псевдонимы.Добавить(КолонкаСЗ.Псевдоним);
КонецЦикла;
КонецЦикла;

View File

@ -274,7 +274,12 @@
ТипыМетаданных = ЮТМетаданные.ТипыМетаданных();
ОписаниеТипа = ТипыМетаданных[ЧастиСтроки[0]];
Если ОписаниеТипа <> Неопределено Тогда
ОбъектМетаданных = Метаданные[ОписаниеТипа.ИмяКоллекции][ЧастиСтроки[1]];
ОбъектМетаданных = Метаданные[ОписаниеТипа.ИмяКоллекции].Найти(ЧастиСтроки[1]);
Если ОбъектМетаданных = Неопределено Тогда
ВызватьИсключение "Не найден объект метаданных " + Значение;
КонецЕсли;
КонецЕсли;
КонецЕсли;

View File

@ -30,6 +30,7 @@
.ДобавитьТест("Записи")
.ДобавитьТест("ЗначенияРеквизитовЗаписи")
.ДобавитьТест("ЗначениеРеквизитаЗаписи")
.ДобавитьТест("ДвиженияДокумента")
;
КонецПроцедуры
@ -330,4 +331,45 @@
КонецПроцедуры
Процедура ДвиженияДокумента() Экспорт
Конструктор = ЮТест.Данные().КонструкторОбъекта("Документ.ПриходТовара")
.ФикцияОбязательныхПолей()
.ТабличнаяЧасть("Товары")
.ДобавитьСтроку()
.Установить("Сумма", ЮТест.Данные().СлучайноеПоложительноеЧисло(999999)) // иначе возможно переполнение
.ФикцияОбязательныхПолей()
.ДобавитьСтроку()
.Установить("Сумма", ЮТест.Данные().СлучайноеПоложительноеЧисло(999999)) // иначе возможно переполнение
.ФикцияОбязательныхПолей();
Документ = Конструктор.Провести();
ДанныеОбъекта = Конструктор.ДанныеОбъекта();
ЮТест.ОжидаетЧто(ЮТЗапросы.ДвиженияДокумента(Документ, "Взаиморасчеты"))
.Заполнено()
.ИмеетДлину(1)
.Свойство("[0].Регистратор").Равно(Документ)
.Свойство("[0].НомерСтроки").Равно(1)
.Свойство("[0].Контрагент").Равно(ДанныеОбъекта.Поставщик)
.Свойство("[0].Валюта")
.Свойство("[0].Сумма").Равно(ДанныеОбъекта.Товары[0].Сумма + ДанныеОбъекта.Товары[1].Сумма)
;
ЮТест.ОжидаетЧто(ЮТЗапросы.ДвиженияДокумента(Документ, "ТоварныеЗапасы"))
.Заполнено()
.ИмеетДлину(2)
.Свойство("[0].Регистратор").Равно(Документ)
.Свойство("[0].НомерСтроки").Равно(1)
.Свойство("[0].Товар").Равно(ДанныеОбъекта.Товары[0].Товар)
.Свойство("[0].Склад").Равно(ДанныеОбъекта.Склад)
.Свойство("[0].Количество").Равно(ДанныеОбъекта.Товары[0].Количество)
.Свойство("[1].Регистратор").Равно(Документ)
.Свойство("[1].НомерСтроки").Равно(2)
.Свойство("[1].Товар").Равно(ДанныеОбъекта.Товары[1].Товар)
.Свойство("[1].Склад").Равно(ДанныеОбъекта.Склад)
.Свойство("[1].Количество").Равно(ДанныеОбъекта.Товары[1].Количество)
;
КонецПроцедуры
#КонецОбласти