8.х Вывод полей в отчетах

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

  1. TopicStarter Overlay
    Irina_E
    Offline

    Irina_E

    Регистрация:
    18 дек 2007
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    Помогите, плиз, решить проблему. у меня есть запрос, результатом выбора которого являются 2 поля со множеством строк. первое поле числовое, второе - строковое. грубо говоря, деньги и кому они выплачены. мне необходимо в макет в одну из строк вывести сумму по всему первому полю (как в итогах), но в той же строке, только в другой ячейке вывести детальную расшифровку, какую сумму кому выплатили. т.е. грубо говоря, одна ячейка - "ОбщаяСумма", соседняя - "СуммаДокумента - Комментарий, СуммаДокумента - Комментарий" и т.д. Подскажите, как это можно реализовать.
  2. rutony
    Offline

    rutony

    Регистрация:
    14 ноя 2007
    Сообщения:
    9
    Симпатии:
    0
    Баллы:
    1
    Вариантов куча...

    Код:
    //легкий способ получить Итог по нужной колонке
    Запрос=Новый Запрос("...");
    ТаблицаЗапроса=Запрос.Выполнить().Выгрузить();
    
    Итог=ТаблицаЗапроса.Итог("СуммаДокумента");
    //суешь куда нужно
    
    
    // перебор строк таблицы с результатом
    Для каждого Строка Из ТаблицаЗапроса Цикл
    
    //выводишь куда тебе нужно
    БлаБла1=Строка.СуммаДокумента;
    БлаБла2=Строка.Комментарий;
    
    КонецЦикла;
    
    
    
  3. TopicStarter Overlay
    Irina_E
    Offline

    Irina_E

    Регистрация:
    18 дек 2007
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    меня такой способ заитересовал, но дело в том, тчо выдается ошибка
    Метод объекта не обнаружен (Итог)
  4. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Вы бы текст привели программы... А то гадать неохота :)
  5. TopicStarter Overlay
    Irina_E
    Offline

    Irina_E

    Регистрация:
    18 дек 2007
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1
    В данный момент я сделала так
    Код:
    Макет = ОтчетОбъект.ПолучитьМакет("Макет");
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |    СчетНаОплатуПоставщика.СуммаДокумента КАК СуммаДокумента,
    |    СчетНаОплатуПоставщика.Комментарий КАК Комментарий
    |ИЗ
    |    Документ.СчетНаОплатуПоставщика КАК СчетНаОплатуПоставщика
    |ГДЕ
    |    СчетНаОплатуПоставщика.Бюджет = &Бюджет
    |    И СчетНаОплатуПоставщика.Организация = &Организация
    |ИТОГИ
    |    СУММА(СуммаДокумента)
    |ПО
    |    ОБЩИЕ";
    
    Запрос.УстановитьПараметр("Бюджет", Бюджет);
    Запрос.УстановитьПараметр("Организация", Организация);
    
    Результат = Запрос.Выполнить().Выбрать();
    
    
    
    ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
    ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
    ТоварыОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("ТоварыДетали");
    ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
    ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
    
    ТабДок.Очистить();
    ТабДок.Вывести(ОбластьЗаголовок);
    ТабДок.Вывести(ОбластьШапкаТаблицы);
    
    ВыборкаОбщийИтог = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    ВыборкаОбщийИтог.Следующий();
    СуммаОбщая=ВыборкаОбщийИтог.СуммаДокумента;
    
    
    ВыборкаДетали = Результат.Выбрать();
    ВыборкаОбщий = ВыборкаОбщийИтог.Выбрать();
    
    Примечание=Строка("");
    Пока ВыборкаОбщий.Следующий() Цикл
    Примечание = Примечание + Строка(ВыборкаОбщий.СуммаДокумента) + " - " + Строка(ВыборкаОбщий.Комментарий) + ", ";
    КонецЦикла;
    Примечание = Лев(Примечание, СтрДлина(Примечание) - 2);
    
    ТоварыОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаОбщийИтог);
    ТоварыОбластьДетальныхЗаписей.Параметры.Примечание = Примечание;
    ТабДок.Вывести(ТоварыОбластьДетальныхЗаписей, ВыборкаОбщийИтог.Уровень());
    
    ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
    ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
    
    
    ТабДок.Вывести(ОбластьПодвал);
    
    


    сейчас у меня проблема как можно в запросе разбить эти суммы с комментами на 3 декады. т.е. чтобы в зависимости от декады можно была записать итоги суммы в 3 столбца, а в комментариях разграничить тоже 3 декады.

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