вторник, 11 февраля 2014 г.

Использование пакетов последовательных запросов



Чтобы объединить несколько запросов в один, очень удобно воспользоваться пакетными запросами. Рассмотрим подробнее.

    //Создаем запрос
    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    НашДокументТовары.НомерСтроки,
        |    НашДокументТовары.Товар,
        |    НашДокументТовары.Количество,
        |    НашДокументТовары.Цена,
        |    НашДокументТовары.Сумма
        |ИЗ
        |    Документ.НашДокумен.Товары КАК НашДокументТовары
        |ГДЕ
        |    НашДокументТовары.Ссылка = &Ссылка
    // Пакетные запросы между собой разделяются с помощью ";"   
        |;
        |
        |///////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |    НашДокументУслуги.НомерСтроки,
        |    НашДокументУслуги.Услуга,
        |    НашДокументУслуги.Цена
        |ИЗ
        |    Документ.НашДокумент.Услуги КАК НашДокументУслуги
        |ГДЕ
        |    НашДокументУслуги.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Ссылка);
    // Для пакетных запросов используем метод
ВыполнитьПакет()результатом которого будет массив с индексами в порядке выполнения запросов
    МассивРезультатов = Запрос.ВыполнитьПакет();
    // Обращаемся по нулевому индексу массива к первому запросу
    РезультатТовары = МассивРезультатов[0];
    // Выгружаем результат первого запроса в таблицу значений
    ТЗТовары = РезультатТовары.Выгрузить();
    // Ко второму запросу обращаемся по индексу 1
    РезультатУслуги = МассивРезультатов[1];
    ТЗУслуги = РезультатУслуги.Выгрузить();
     
    // Проверяем есть ли значения в таблице значений ТЗТовары
    Если ТЗТовары.Количество() > 0 Тогда
        // Если значения есть, то обходим ТЗТовары
        Для каждого СтрокаТовары Из ТЗТовары Цикл
        // Тут выполняем какие-то действия
        Сообщить(СтрокаТовары.Товар);             
        КонецЦикла;
    КонецЕсли;
   
    Если ТЗУслуги.Количество() > 0 Тогда
        Для каждого СтрокаУслуги Из ТЗУслуги Цикл
         // Тут выполняем какие-то действия
        Сообщить(СтрокаУслуги.Услуга);  
        КонецЦикла;
    КонецЕсли;

1 комментарий:

  1. Вот контактные данные г-на Бенджамина, адрес электронной почты, lfdsloans@outlook.com. / Или WhatsApp 1 989-394-3740, который помог мне с займом в 90 000,00 евро, чтобы начать свой бизнес, и я очень благодарен, мне было очень тяжело, пытаясь найти способ, как мать-одиночка, вещи не были легкими со мной, но с помощью мистера Бенджамина улыбнулся мне в лицо, когда я смотрю, как растет и развивается мой бизнес. Я знаю, вы можете удивиться, почему я ставлю такие вещи здесь, но я действительно должен выразить свою благодарность, чтобы любой, кто ищет финансовая помощь или преодоление трудностей с этим бизнесом или желание запустить бизнес-проект могут позаботиться об этом и надеяться на выход из затруднений. Спасибо.

    ОтветитьУдалить