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

Запросы

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

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

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