mirror of
https://github.com/bia-technologies/yaxunit.git
synced 2025-03-17 20:48:01 +02:00
Новые методы модуля ЮТЗапросы
This commit is contained in:
parent
437245ce7c
commit
ba4e82b9f4
@ -46,10 +46,9 @@
|
||||
// ИмяРеквизита - Строка - Имя получаемого реквизита, можно указать путь к вложенному реквизиту через точку
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из Произвольный - Значения реквизитов ссылки
|
||||
// Произвольный - Значение реквизита ссылки
|
||||
Функция ЗначениеРеквизита(Ссылка, ИмяРеквизита) Экспорт
|
||||
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитов(Ссылка, ИмяРеквизита, Истина);
|
||||
|
||||
КонецФункции
|
||||
@ -89,6 +88,45 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает значения реквизитов первой записи таблицы, соответствующей условиям
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТаблицы - Строка
|
||||
// Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить
|
||||
// - см. ЮТФабрика.ВыражениеПредиката
|
||||
// - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат
|
||||
// ИменаРеквизитов - Строка - Имена получаемых реквизитов
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Произвольный - Значение реквизита записи
|
||||
//
|
||||
Функция ЗначенияРеквизитовЗаписи(ИмяТаблицы, Предикат, ИменаРеквизитов) Экспорт
|
||||
|
||||
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИменаРеквизитов);
|
||||
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Ложь);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает значение реквизита первой записи таблицы, соответствующей условиям
|
||||
//
|
||||
// Параметры:
|
||||
// ИмяТаблицы - Строка
|
||||
// Предикат - Массив из см. ЮТФабрика.ВыражениеПредиката - Набор условий, см. ЮТПредикаты.Получить
|
||||
// - см. ЮТФабрика.ВыражениеПредиката
|
||||
// - ОбщийМодуль - Модуль настройки предикатов, см. ЮТест.Предикат
|
||||
// ИмяРеквизита - Строка - Имя получаемого реквизита
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из Произвольный - Значения реквизитов записи
|
||||
//
|
||||
Функция ЗначениеРеквизитаЗаписи(ИмяТаблицы, Предикат, ИмяРеквизита) Экспорт
|
||||
|
||||
ОписаниеЗапроса = ЮТЗапросыКлиентСервер.ОписаниеЗапроса(ИмяТаблицы, Предикат, ИмяРеквизита);
|
||||
//@skip-check constructor-function-return-section
|
||||
Возврат ЮТЗапросыВызовСервера.ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, Истина);
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Вернет признак содержит ли таблица записи удовлетворяющие переданным условиям
|
||||
//
|
||||
// Параметры:
|
||||
|
@ -51,8 +51,8 @@
|
||||
// ОдинРеквизит - Булево
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// Структура Из Произвольный - Значения реквизитов ссылки, про значений получения множества реквизитов
|
||||
// Произвольный - Значения реквизитов ссылки, если при получении значения одного реквизита
|
||||
// - Структура Из Произвольный - Значения реквизитов ссылки при получении значений множества реквизитов
|
||||
// - Произвольный - Значение реквизита ссылки при получении значения одного реквизита
|
||||
Функция ЗначенияРеквизитов(Ссылка, ИменаРеквизитов, ОдинРеквизит) Экспорт
|
||||
|
||||
ИмяТаблицы = Ссылка.Метаданные().ПолноеИмя();
|
||||
@ -98,6 +98,39 @@
|
||||
|
||||
КонецФункции
|
||||
|
||||
// Возвращает значения реквизитов записи
|
||||
//
|
||||
// Параметры:
|
||||
// ОписаниеЗапроса - см. ЮТЗапросы.ОписаниеЗапроса
|
||||
// ОдинРеквизит - Булево
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// - Структура Из Произвольный - Значения множества реквизитов записи
|
||||
// - Произвольный - Значение одного реквизита записи
|
||||
//
|
||||
Функция ЗначенияРеквизитовЗаписи(ОписаниеЗапроса, ОдинРеквизит) Экспорт
|
||||
|
||||
Запись = Записи(ОписаниеЗапроса, Истина);
|
||||
|
||||
Если ТипЗнч(Запись) <> Тип("Структура") Тогда
|
||||
Если ОдинРеквизит Тогда
|
||||
Возврат Неопределено;
|
||||
Иначе
|
||||
Реквизиты = СтрСоединить(ОписаниеЗапроса.ВыбираемыеПоля, ",");
|
||||
Возврат Новый Структура(Реквизиты);
|
||||
КонецЕсли;
|
||||
КонецЕсли;
|
||||
|
||||
Если ОдинРеквизит Тогда
|
||||
Для каждого КлючЗнач Из Запись Цикл
|
||||
Возврат КлючЗнач.Значение;
|
||||
КонецЦикла;
|
||||
Иначе
|
||||
Возврат Запись;
|
||||
КонецЕсли;
|
||||
|
||||
КонецФункции
|
||||
|
||||
#КонецОбласти
|
||||
|
||||
#Область СлужебныеПроцедурыИФункции
|
||||
|
@ -28,6 +28,8 @@
|
||||
.ДобавитьТест("РезультатПустой")
|
||||
.ДобавитьТест("Запись")
|
||||
.ДобавитьТест("Записи")
|
||||
.ДобавитьТест("ЗначенияРеквизитовЗаписи")
|
||||
.ДобавитьТест("ЗначениеРеквизитаЗаписи")
|
||||
;
|
||||
|
||||
КонецПроцедуры
|
||||
@ -261,4 +263,70 @@
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗначенияРеквизитовЗаписи() Экспорт
|
||||
|
||||
Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")
|
||||
.Фикция("Наименование")
|
||||
.Фикция("Штрихкод")
|
||||
.Фикция("Поставщик");
|
||||
Данные = Конструктор.ДанныеОбъекта();
|
||||
Конструктор.Записать();
|
||||
|
||||
Предикат = ЮТест.Предикат().Реквизит("Наименование").Равно(Данные.Наименование);
|
||||
ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитовЗаписи("Справочник.Товары", Предикат, "Наименование");
|
||||
ЮТест.ОжидаетЧто(ДанныеСсылки)
|
||||
.ИмеетТип("Структура")
|
||||
.Заполнено()
|
||||
.Свойство("Наименование").Равно(Данные.Наименование);
|
||||
|
||||
Предикат = ЮТест.Предикат()
|
||||
.Реквизит("Штрихкод").Равно(Данные.Штрихкод)
|
||||
.Реквизит("Поставщик").Равно(Данные.Поставщик);
|
||||
ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитовЗаписи("Справочник.Товары", Предикат, "Штрихкод, Поставщик");
|
||||
ЮТест.ОжидаетЧто(ДанныеСсылки)
|
||||
.ИмеетТип("Структура")
|
||||
.Заполнено()
|
||||
.Свойство("Штрихкод").Равно(Данные.Штрихкод)
|
||||
.Свойство("Поставщик").Равно(Данные.Поставщик);
|
||||
|
||||
Предикат = ЮТест.Предикат().Реквизит("Ссылка").Равно(ПредопределенноеЗначение("Справочник.Товары.ПустаяСсылка"));
|
||||
ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитовЗаписи("Справочник.Товары", Предикат, "Код, Поставщик");
|
||||
ЮТест.ОжидаетЧто(ДанныеСсылки)
|
||||
.ИмеетТип("Структура")
|
||||
.Заполнено()
|
||||
.Свойство("Код").Равно(Неопределено)
|
||||
.Свойство("Поставщик").Равно(Неопределено);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
Процедура ЗначениеРеквизитаЗаписи() Экспорт
|
||||
|
||||
Конструктор = ЮТест.Данные().КонструкторОбъекта("Справочники.Товары")
|
||||
.Фикция("Наименование")
|
||||
.Фикция("Поставщик");
|
||||
Данные = Конструктор.ДанныеОбъекта();
|
||||
Конструктор.Записать();
|
||||
|
||||
Предикат = ЮТест.Предикат().Реквизит("Наименование").Равно(Данные.Наименование);
|
||||
ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Наименование"))
|
||||
.ИмеетТип("Строка")
|
||||
.Заполнено()
|
||||
.Равно(Данные.Наименование);
|
||||
|
||||
Предикат = ЮТест.Предикат().Реквизит("Поставщик").Равно(Данные.Поставщик);
|
||||
ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Поставщик"))
|
||||
.Равно(Данные.Поставщик);
|
||||
|
||||
Предикат = ЮТест.Предикат()
|
||||
.Реквизит("Наименование").Равно(Данные.Наименование)
|
||||
.Реквизит("Поставщик").Равно(Данные.Поставщик);
|
||||
ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Наименование, Поставщик"))
|
||||
.Равно(Данные.Наименование);
|
||||
|
||||
Предикат = ЮТест.Предикат().Реквизит("Ссылка").Равно(ПредопределенноеЗначение("Справочник.Товары.ПустаяСсылка"));
|
||||
ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Наименование"))
|
||||
.Равно(Неопределено);
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
#КонецОбласти
|
||||
|
Loading…
x
Reference in New Issue
Block a user