Перейти к основному содержимому

Запросы

Для получения данных базы предоставлен API выполнения запросов ЮТЗапросы.

Позволяет как с сервера, так и с клиента получать данные информационной базы и имеет следующие методы:

  • ЗначенияРеквизитов - Возвращает значения реквизитов ссылки в виде структуры.
    ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитов(Ссылка, "Штрихкод, Поставщик");
    ЮТест.ОжидаетЧто(ДанныеСсылки)
    .ИмеетТип("Структура")
    .Заполнено()
    .Свойство("Штрихкод").Равно(Данные.Штрихкод)
    .Свойство("Поставщик").Равно(Данные.Поставщик);
  • ЗначениеРеквизита - Возвращает значение реквизита ссылки
    ЮТест.ОжидаетЧто(ЮТЗапросы.ЗначениеРеквизита(Ссылка, "Наименование"))
    .ИмеетТип("Строка")
    .Заполнено()
    .Равно(Данные.Наименование);
  • Запись - Возвращает первую запись таблицы, соответствующую условиям. Возвращается структура, со всеми данными объекта, включая табличные части.
    ДанныеЗаписи = ЮТЗапросы.Запись("Документ.ПриходТовара",
    ЮТест.Предикат()
    .Реквизит("Ссылка").Равно(Ссылка));

    ЮТест.ОжидаетЧто(ДанныеЗаписи)
    .Свойство("Ссылка").Равно(Ссылка)
    .Свойство("Поставщик").Равно(ДанныеОбъекта.Поставщик)
    .Свойство("Товары")
    .ИмеетТип("Массив")
    .ИмеетДлину(1)
    .Свойство("Товары[0].НомерСтроки").Равно(1)
    .Свойство("Товары[0].Товар")
    .Равно(ДанныеОбъекта.Товары[0].Товар);
  • Записи - Возвращает записи таблицы, соответствующую условиям. Возвращается массив структур, со всеми данными объектов, включая табличные части.
    Записи = ЮТЗапросы.Записи("Справочник.Товары",
    ЮТест.Предикат()
    .Реквизит("Поставщик").Равно(Поставщик));

    ЮТест.ОжидаетЧто(Записи)
    .ИмеетТип("Массив")
    .ИмеетДлину(5);

    Для Каждого Запись Из Записи Цикл
    ЮТест.ОжидаетЧто(Запись)
    .ИмеетТип("Структура")
    .Свойство("Ссылка")
    .Свойство("Поставщик").Равно(Поставщик)
    .Свойство("Код");
    КонецЦикла;
  • ЗначенияРеквизитовЗаписи - Возвращает значения реквизитов первой записи таблицы, соответствующей условиям
    Предикат = ЮТест.Предикат()
    .Реквизит("Штрихкод").Равно(Данные.Штрихкод);

    ДанныеСсылки = ЮТЗапросы.ЗначенияРеквизитовЗаписи("Справочник.Товары", Предикат, "Штрихкод, Поставщик, Поставщик.Наименование");

    ЮТест.ОжидаетЧто(ДанныеСсылки)
    .ИмеетТип("Структура")
    .Заполнено()
    .Свойство("Штрихкод").Равно(Данные.Штрихкод)
    .Свойство("Поставщик").Равно(Данные.Поставщик)
    .Свойство("ПоставщикНаименование").Равно(Строка(Данные.Поставщик));
  • ЗначениеРеквизитаЗаписи - Возвращает значение реквизита первой записи таблицы, соответствующей условиям
    Предикат = ЮТест.Предикат()
    .Реквизит("Поставщик").Равно(Данные.Поставщик);

    Значение = ЮТЗапросы.ЗначениеРеквизитаЗаписи("Справочник.Товары", Предикат, "Поставщик");

    ЮТест.ОжидаетЧто(Значение)
    .Равно(Данные.Поставщик);
  • ТаблицаСодержитЗаписи - Вернет признак, содержит ли таблица записи, удовлетворяющие переданным условиям
    ЮТест.ОжидаетЧто(
    ЮТЗапросы.ТаблицаСодержитЗаписи("Справочник.Товары",
    ЮТест.Предикат()
    .Реквизит("Наименование").Равно(ДанныеСправочника.Наименование)))
    .ЭтоИстина();
  • РезультатЗапроса - Возвращает результат выполнения простого запроса, используя описание запроса
    ОписаниеЗапроса = ЮТЗапросы.ОписаниеЗапроса();
    ОписаниеЗапроса.ИмяТаблицы = "Справочник.Товары";
    ОписаниеЗапроса.Условия.Добавить("Ссылка = &Ссылка");
    ОписаниеЗапроса.Условия.Добавить("НЕ ПометкаУдаления");
    ОписаниеЗапроса.ЗначенияПараметров.Вставить("Ссылка", Товар);
    ОписаниеЗапроса.ВыбираемыеПоля.Добавить("Ссылка");
    ОписаниеЗапроса.ВыбираемыеПоля.Добавить("1+1 КАК Число");

    ЮТест.ОжидаетЧто(ЮТЗапросы.РезультатЗапроса(ОписаниеЗапроса))
    .ИмеетДлину(1)
    .Свойство("[0].Ссылка").Равно(Товар)
    .Свойство("[0].Число").Равно(2);
  • РезультатПустой - Определяет, есть ли в результате записи, используя описание запроса
    ОписаниеЗапроса = ЮТЗапросы.ОписаниеЗапроса();
    ОписаниеЗапроса.ИмяТаблицы = "Справочник.Товары";
    ОписаниеЗапроса.Условия.Добавить("Ссылка = &Ссылка");
    ОписаниеЗапроса.ЗначенияПараметров.Вставить("Ссылка", Ссылка);

    ЮТест.ОжидаетЧто(ЮТЗапросы.РезультатПустой(ОписаниеЗапроса)).ЭтоЛожь();
  • ОписаниеЗапроса - Формирует описание простого запроса
    ОписаниеЗапроса = ЮТЗапросы.ОписаниеЗапроса();
    ОписаниеЗапроса.ИмяТаблицы = "Справочник.Товары";
    ОписаниеЗапроса.Условия.Добавить("Ссылка = &Ссылка");
    ОписаниеЗапроса.Условия.Добавить("НЕ ПометкаУдаления");
    ОписаниеЗапроса.ЗначенияПараметров.Вставить("Ссылка", Товар);
    ОписаниеЗапроса.ВыбираемыеПоля.Добавить("Ссылка");
    ОписаниеЗапроса.ВыбираемыеПоля.Добавить("1+1 КАК Число");