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