Запросы
Для получения данных базы предоставлен API выполнения запросов ЮТЗапросы
.
Позволяет как с сервера, так и с клиента получать данные информационной базы и имеет следующие методы:
ЗначенияРеквизитов
- Возвращает значения реквизитов ссылки в виде структуры.ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитов(Ссылка, "Штрихкод, Поставщик");
ЮТест.ОжидаетЧто(ДанныеСсылки)
.ИмеетТип("Структура")
.Заполнено()
.Свойство("Штрихкод").Равно(Данные.Штрихкод)
.Свойство("Поставщик").Равно(Данные.Поставщик);ЗначениеРеквизита
- Возвращает значение реквизита ссылкиЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизита(Ссылка, "Наименование"))
.ИмеетТип("Строка")
.Заполнено()
.Равно(Данные.Наименование);Запись
- Возвращает первую запись таблицы, соответствующую условиям. Возвращается структура, со всеми данными объекта, включая табличные части.ДанныеЗаписи = ЮТЗапросы.Запись("Документ.ПриходТовара",
ЮТест.Предикат()
.Реквизит("Ссылка").Равно(Ссылка));
ЮТест.ОжидаетЧто(ДанныеЗаписи)
.Свойство("Ссылка").Равно(Ссылка)
.Свойство("Поставщик").Равно(ДанныеОбъекта.Поставщик)
.Свойство("Товары")
.ИмеетТип("Массив")
.ИмеетДлину(1)
.Свойство("Товары[0].НомерСтроки").Равно(1)
.Свойство("Товары[0].Товар")
.Равно(ДанныеОбъекта.Товары[0].Товар);Записи
- Возвращает записи таблицы, соответствующую условиям. Возвращается массив структур, со всеми данными объектов, включая табличные части.Записи = ЮТЗапросы.Записи("Справочник.Товары",
ЮТест.Предикат()
.Реквизит("Поставщик").Равно(Поставщик));
ЮТест.ОжидаетЧто(Записи)
.ИмеетТип("Массив")
.ИмеетДлину(5);
Для Каждого Запись Из Записи Цикл
ЮТест.ОжидаетЧто(Запись)
.ИмеетТип("Структура")
.Свойство("Ссылка")
.Свойство("Поставщик").Равно(Поставщик)
.Свойство("Код");
КонецЦикла;ЗначенияРеквизитовЗаписи
- Возвращает значения реквизитов первой записи таблицы, соответствующей условиямПредикат = ЮТест.Предикат()
.Реквизит("Штрихкод").Равно(Данные.Штрихкод);
ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитовЗаписи("Справочник.Товары", Предикат, "Штрихкод, Поставщик, Поставщик.Наименование");
ЮТест.ОжидаетЧто(ДанныеСсылки)
.ИмеетТип("Структура")
.Заполнено()
.Свойство("Штрихкод").Равно(Данные.Штрихкод)
.Свойство("Поставщик").Равно(Данные.Поставщик)
.Свойство("ПоставщикНаименование").Равно(Строка(Данные.Поставщик));ЗначениеРеквизитаЗаписи
- Возвращает значение реквизита первой записи таблицы, соответствующей условиямПредикат = ЮТест.Предикат()
.Реквизит("Поставщик").Равно(Данные.Поставщик);
Значение = ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Поставщик");
ЮТест.ОжидаетЧто(Значение)
.Равно(Данные.Поставщик);ТаблицаСодержитЗаписи
- Вернет признак, содержит ли таблица записи, удовлетворяющие переданным условиямЮТест.ОжидаетЧто(
ЮТЗапросы.ТаблицаСодержитЗаписи("Справочник.Товары",
ЮТест.Предикат()
.Реквизит("Наименование").Равно(ДанныеСправочника.Наименование)))
.ЭтоИстина();РезультатЗапроса
- Возвращает результат выполнения простого запроса, используя описание запросаОписаниеЗапроса = ЮТЗапросы.ОписаниеЗапроса();
ОписаниеЗапроса.ИмяТаблицы = "Справочник.Товары";
ОписаниеЗапроса.Условия.Добавить("Ссылка = &Ссылка");
ОписаниеЗапроса.Условия.Добавить("НЕ ПометкаУдаления");
ОписаниеЗапроса.ЗначенияПараметров.Вставить("Ссылка", Товар);
ОписаниеЗапроса.ВыбираемыеПоля.Добавить("Ссылка");
ОписаниеЗапроса.ВыбираемыеПоля.Добавить("1+1 КАК Число");
ЮТест.ОжидаетЧто(ЮТЗапросы.РезультатЗапроса(ОписаниеЗапроса))
.ИмеетДлину(1)
.Свойство("[0].Ссылка").Равно(Товар)
.Свойство("[0].Число").Равно(2);