8.х как вывести итоге в отчёте

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем bannov, 29 дек 2009.

  1. TopicStarter Overlay
    bannov
    Offline

    bannov Опытный в 1С

    Регистрация:
    17 дек 2008
    Сообщения:
    185
    Симпатии:
    0
    Баллы:
    26
    написал запрос, всё выводит нормально, но не могу вывести итоги. Теперь подробнее.
    Запрос:
    [/quote]
    Текст = " выбрать продажи.номенклатура как номенклатура,
    | продажи.контрагент как контрагент, продажи.количество как количество
    | из регистрНакопления.продажи как продажи
    | где регистратор ссылка документ.ВозвратТоваровОтПокупателя

    |итоги сумма(количество) по номенклатура, общие";

    построитель.Текст=текст;

  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Как вы получаете переменную "результат"?
    Вообще если хотите как пишете то надо делать обход по группировкам.
    вот пример
    Код:
    Макет = ВнешнийОтчетОбъект.ПолучитьМакет("Отчет");
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
    |	РеализацияТоваровУслугТовары.Количество КАК Количество
    |ИЗ
    |	Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
    |ГДЕ
    |	РеализацияТоваровУслугТовары.Ссылка.Дата МЕЖДУ &НачПер И &КонПер
    |ИТОГИ
    |	СУММА(Количество)
    |ПО
    |	ОБЩИЕ,
    |	Номенклатура";
    
    Запрос.УстановитьПараметр("КонПер", КонПер);
    Запрос.УстановитьПараметр("НачПер", НачПер);
    
    Результат = Запрос.Выполнить();
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
    ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
    ОбластьНоменклатура = Макет.ПолучитьОбласть("Номенклатура");
    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    ТабДок.НачатьАвтогруппировкуСтрок();
    
    ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    ВыборкаОбщийИтог.Следующий();		// Общий итог
    ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
    ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
    
    ВыборкаНоменклатура = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    
    Пока ВыборкаНоменклатура.Следующий() Цикл
    ОбластьНоменклатура.Параметры.Заполнить(ВыборкаНоменклатура);
    ТабДок.Вывести(ОбластьНоменклатура, ВыборкаНоменклатура.Уровень());
    КонецЦикла;
    
    ТабДок.ЗакончитьАвтогруппировкуСтрок();
    ТабДок.Вывести(ОбластьПодвалТаблицы);
    ТабДок.Вывести(ОбластьПодвал);
    
    На сам запрос не смотри. смотри как он выводиться. Делается Выборка по группировкам а потом уже детали.

    В итоге получаем

    Итого 1000
    Пиво 500
    пиво1 400
    пиво2 100
    Чипсы 100
    чипсы1 100
  3. TopicStarter Overlay
    bannov
    Offline

    bannov Опытный в 1С

    Регистрация:
    17 дек 2008
    Сообщения:
    185
    Симпатии:
    0
    Баллы:
    26
    спасибо. Сейчас попробую. А по поводу переменной результат, я там немного не правельно написал.
  4. TopicStarter Overlay
    bannov
    Offline

    bannov Опытный в 1С

    Регистрация:
    17 дек 2008
    Сообщения:
    185
    Симпатии:
    0
    Баллы:
    26
    что-то ругается на ТабДок, переменная не определена
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    :unsure:
    ТабДок - это то же самое что у вас формаОтчета
    ТабДок = новый табличныйдокумент

    Ваш пример
    область = макет.ПолучитьОбласть("шапка"); формаОтчета.Вывести(область);

    В моем

    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ТабДок.Вывести(ОбластьШапкаТаблицы);



    Вообще такие элементраные отчеты легко делаются с помошью конструктора выходной формы.
  6. TopicStarter Overlay
    bannov
    Offline

    bannov Опытный в 1С

    Регистрация:
    17 дек 2008
    Сообщения:
    185
    Симпатии:
    0
    Баллы:
    26
    я извиняюсь за глупые вопросы, просто я начинающий :unsure:
    Ещё не совсм понятно в вашем примере, какие параметры в макете создаются?
  7. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Вот смотри

    Вложения:

Поделиться этой страницей