Сводки

zz 5zz 5 Россия, Москва
отредактировано 18:22 Раздел: FastReport 3.0
Здраствуйте. Столкнулись на работе с такой проблемой. Допустим имееются следующий НД, полученный в результате запроса:
--------------------------------
Заказчик * Шифр работы * Стоимость
--------------------------------
Капстрой * 1212-1 * 1
Капстрой * 1212-2 * 2
Капстрой * 1212-3 * 3
РемонтСтрой * 32-1 * 10
РемонтСтрой * 32-2 * 2
РемонтСтрой * 32-3 * 5
--------------------------------
Так вот, можно ли средствами FR получить вот такую формочку из этого запроса:
--------------------------------
Заказчик * Общая стоимость
--------------------------------
Капстрой * 6
РемонтСтрой * 17
--------------------------------
Но есть условие. Чтобы этот механизм не был слишком сложным для пользователя. Хотелось бы обойтись без кода. Так вот, если выводить одни заголовки групп - не выводятся суммы, а если подвалы - не выводятся наименование групп. Как быть ? Есть ли выход ?

Комментарии

  • отредактировано 18:22
    Так это же банальный кросс - отчет. В Rows у тебя будет поле "Заказчик", в Cells - сумма по полю стоимость, а в колонок вообще не будет. Все просто как апельсин.
  • zz 5zz 5 Россия, Москва
    отредактировано 18:22
    Спасибо, хоть обозначили в какое направление копать. Будем разбираться ;)
  • отредактировано 18:22
    Для начала надо сформировать запрос, отсортированный по полю <span style='color:blue'>"Заказчик"</span> (зесь и далее названия полей будем писать на русском),
    например <span style='color:blue'><span style='font-family:Courier'>frxADOQuerry1</span></span>:
    select * from (call Owner.GetWorks) order by Заказчик
    
    Нужно создать <span style='color:blue'><span style='font-family:Courier'>GroupHeder1 + MasterDeta1 + GroupFooter1</span></span>.
    В GroupHeader1 задаем группировку по полю <span style='color:blue'>frxADOQuerry1."Заказчик"</span> и выставляем его свойство <span style='color:blue'>Visible</span> = <span style='color:blue'>false</span>
    MasterData1 оставляем пустым, и свойство <span style='color:blue'>Visible</span> = <span style='color:blue'>false</span>
    В GroupFooter1 выносим 2 <span style='color:blue'>Memo</span>. В первом пишем
    [frxADOQuerry1."Заказчик"]
    
    , во втором
    [SUM(<frxADOQuerry1."Стоимость">, MasterData1, 1)]
    
    Вот, собственно и все. Никакого кода и не надо.
  • zz 5zz 5 Россия, Москва
    отредактировано 18:22
    aseroff
    Спасибо работает. Самое удивительное заключается в том, что я сначала сам додумался так реализовать, но почему то у меня не выводилось поле с наименованием заказчика в GroupFooter. Сумма выводилась, а заказчик НЕТ. Но так или иначе сейчас все работает. Спасибо !

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.