Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 21:43

Проблема с запросом

Автор Кирилл Сидоренков, 27 мая 2018, 17:35

0 Пользователей и 1 гость просматривают эту тему.

Кирилл Сидоренков

Мне нужно помочь в написании кода.
Сразу дам данные:
    Таблица:https://pastenow.ru/0efecd0847fd848402dab05640b825be в 1С
    Таблица:https://pastenow.ru/cd6624c686e150eb7c5fb09537db135a в Конфигураторе
        Код:
&НаКлиенте
Процедура СформироватьОтчёт(Команда)
ЗаполнитьТабДок(ТабДок);   
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ЗаполнитьТабДок(ТабДок)
   ТабДок.Очистить();
   Макет = Отчеты.ОтчетПоЗаказам.ПолучитьМакет("Отчёт");
   ОблШапка = Макет.ПолучитьОбласть("Шапка");
   ОблЭлемент = Макет.ПолучитьОбласть("Элемент");
   ОблИтого = Макет.ПолучитьОбласть("Итого");
   
   ОблШапка.Параметры.ДатаОтчёта = Формат(ТекущаяДата(),"ДЛФ=DD" );
   ТабДок.Вывести(ОблШапка);
   
   
Выборка = Документы.РасходнаяНакладная.Выбрать();
Пока Выборка.Следующий()  Цикл
  ОблЭлемент.Параметры.Заполнить(Выборка);
  ТабДок.Вывести(ОблЭлемент);
КонецЦикла;

Запрос = Новый Запрос;
   Запрос.Текст = ("Выбрать");
      Результат = Запрос.Выполнить();
   Итог = Результат.Выбрать();   
   Пока Итог.Следующий()  Цикл
   ОблИтого.Параметры.Заполнить(Итог);
      ТабДок.Вывести(ОблИтого)
   КонецЦикла;

====================================================|
Мне нужно что бы все заявки водителей(во втором столбце) складывались и выводились в строке "Итого" под заявками, у меня не получается написать запрос что бы он сложил все заявки и вывел их в строке Итого, не получается сижу мучаюсь какой час помогите если не сложно:)

pavl_vs

Не понятно назначение второго запроса, вернее не понятно откуда он выбирает.

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

AIFrame

Вместо выборки делай Выгрузить().
Получишь ТЧ.
Ты точно также можешь
Для каждого СтрокаТЧ из ТЧ Цикл
    ОблЭлемент.Параметры.Заполнить(СтрокаТЧ);
КонецЦикла;


А на итоги делаешь
перем_итоги = ТЧ.Итоги("ИмяКолонки");
ОблИтого.Параметры.Имя_Параметра = перем_итоги;


Другой вариант - сделай запрос с двумя пакетами. Обходи выборку из первого, а во втором получай только итоги.
МассивРезультатов = Запрос.ВыполнитьПакет();

Кирилл Сидоренков


AIFrame


Кирилл Сидоренков


AIFrame


Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск