Отчеты в FastReport

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Отчеты в FastReport

Сообщение Алексей »

Накидал небольшой примерчик.
в ФР отчёте то что красным вызывает у меня вопросы... данных в детале нет, а в отчёт сумма по таблице выводится...
как итог нужно в последнем футере сумма по т1 + сумма по т2.

исходник: http://zalil.ru/32323060
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Отчеты в FastReport

Сообщение m0p3e »

Я хоть и небольшой спец в FR, но считать в футере сумму по другому набору данных IMHO некорректно. Если нужно получать какие-то смешанные итоги, то лучше их считать вручную.
Примерчик с расчетом на втором листе.

Вообще, для полного контроля за построением отчета нужно использовать событие OnManualBuild.
Примерчик с onManualBuild на третьем листе.

Сам примерчик http://zalil.ru/32324788
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Отчеты в FastReport

Сообщение Алексей »

спасибо, НО:
если переменная одна, посчитать конечно можно и самому и потом вывести, при чем считать можно прямо в вип при формировании потока ну или в самом ФР. но это несколько не то чего хотелось бы... хотелось бы что бы ФР сам это делал. ну нет, так нет.
спасибо за расположение бэндов, интересно, вроде деталь с футером ниже расположены, а в отчёте выводится сначала футер детали а потом уже футер мастердаты... учту.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Отчеты в FastReport

Сообщение edward_K »

а мастером пройтись на пробовали? 2 иконка в редактировании текста. Там есть sum - задаете ему какое поле по какой табле собрать и все. К нему прибавляете 2 сумму если надо. Единственно - это вечная борьба с типом. Формат у поля надо поставить числовой, а то пустоту выведет.
m0p3e
Местный житель
Сообщения: 1386
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Отчеты в FastReport

Сообщение m0p3e »

Алексей писал(а):если переменная одна, посчитать конечно можно и самому и потом вывести, при чем считать можно прямо в вип при формировании потока ну или в самом ФР. но это несколько не то чего хотелось бы... хотелось бы что бы ФР сам это делал. ну нет, так нет.
Переделывал недавно табель учета рабочего времени... Чего я только с этими бендами не делал... и пришел в итоге к выводу, что лучше все посчитать самому и выводить через OnManualBuild (спасибо LaaLaa за помощь). Теперь по крайней мере есть уверенность в результате. Ну и избавиться от "оторванных" подписантов без OnManualBuild не получится.
Алексей писал(а):хотелось бы что бы ФР сам это делал. ну нет, так нет.
Вполне вероятно, что можно и агрегатами посчитать сумму. Попробую. Если получится, то напишу.
LaaLaa

Re: Отчеты в FastReport

Сообщение LaaLaa »

Агрегатные функции типа SUM в FastReport по сути это просто счетчики которые автоматически сбрасываются/накапливаются по мере работы Engine при выводе данных в отчет. По мере работы отчета текущее накопленное значение можно вывести в подножии группы или в подножии данных.

Вызов функций типа SUM не приводит тяжеловесному обходу всего массива данных с суммированием. Их следует вызвать только в определенных местах отчета в бэндах типа "подножие группы" подножие данных" "подножие страницы". К слову сказать при дизайне отчета FastReport взаимное расположение бэндов имеет решающую роль. Чтобы это понять внмательно прочитайте документацию по генератору отчетов. И про агрегатные функции там тоже вполне доходчиво написано.

Они прекрасно справляются со своим переназначением в простых случаях. В вашем случае чтобы просуммировать данные на разных уровнях, достаточно в скрипте сделать переменную и суммировать поля по мере их вывода.

Пример скрипта:

Код: Выделить всё

var
  Counter : double;                                                         

procedure OnStartReport(Sender: TfrxComponent);
begin
  Counter := 0;             
end;

procedure MasterData1OnBeforePrint(Sender: TfrxComponent);
begin
  Counter := Counter + <T1."SUMMA">;             
end;

procedure DetailData1OnBeforePrint(Sender: TfrxComponent);
begin
  Counter := Counter + <T2."SUMMA">;             
end;

begin

end.
Чтобы вывести переменную на лист просто напишите напишите ее в мемке отчета в квадратных скобках [Counter].

PS: Для более сложных случаев изучите примеры из статьи Как устроена Галактика? - Отчет с итогами по странице.
Алексей
Местный житель
Сообщения: 2896
Зарегистрирован: 24 июн 2005, 12:12
Откуда: Иркутская область

Re: Отчеты в FastReport

Сообщение Алексей »

Иногда возникает необходимость что-то быстро скопировать (номенклатурный номер) из отчета... есть другой путь кроме как нажать кнопку редактировать, провалиться в поле, скопировать, выйти... как то быстрее как в бизнес тексте. может настройка какая есть?
LaaLaa

Re: Отчеты в FastReport

Сообщение LaaLaa »

Алексей писал(а):Иногда возникает необходимость что-то быстро скопировать (номенклатурный номер) из отчета... есть другой путь кроме как нажать кнопку редактировать, провалиться в поле, скопировать, выйти... как то быстрее как в бизнес тексте. может настройка какая есть?
К сожалению нет. В текущей версии либо через открытие листа в дизайнере, либо через экспорт в офис. Хотя может в FastReport 5 разработчики (http://www.fast-report.com/ru/forum/) сделают более интерактивный режим просмотра отчетов. Мы просили их об этом.

Т.к. в другом продукте FastCube 2 они это сделали.
LaaLaa

Re: Отчеты в FastReport

Сообщение LaaLaa »

На страничке компании Fast Reports появилось интересное предложение:
http://www.fast-report.com/ru/news/9452.html
Хорошая новость для всех наших пользователей!

Компания Fast Reports Inc. и учебный центр Softline запускают программу обучения по работе с генератором отчетов FastReport. Курс будет проходить в формате мастер-класса. Он предназначен для пользователей системы FastReport, желающих научиться эффективным приемам создания отчетов в этой системе, или углубить свои знания!

Программа курса:
Модуль 1. Основные компоненты, входящие в пакет FastReport
Модуль 2. Дизайнер отчетов
Модуль 3. Использование стандартных механизмов по созданию отчетов
Модуль 4. Графика и диаграммы в отчетах
Модуль 5. Вычисления в отчетах
Модуль 6. Способы работы с различными источниками данных
Модуль 7. Построение специальных разновидностей отчетов (перекрестных, «мастер-деталь» и др.)
Модуль 8. Построение интерактивных параметрических отчетов
Модуль 9. Экспорт и распространение отчетов
Модуль 10. Работа с отчетами в контексте FastReport Server

Чтобы записаться на обучение, вам необходимо прислать запрос на edu@softline.ru или обратиться в отдел продаж Учебного центра, позвонив по телефону: +7(495) 232-0065.
Подробнее читайте ссылку http://edu.softline.ru/courses/course_item.php?id=1325
Вероятно, этот курс в какай то мере буде полезен тем, кто делает отчеты на FastReport для Галактики.
savov
Местный житель
Сообщения: 589
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Воронеж ОАО Верофарм. Воронеж

Re: Отчеты в FastReport

Сообщение savov »

Вопросец такой.
В модуле "Управление договорами" в Операциях есть "График неотложных мероприятий". Вот я вывел эти самые мероприятия. Хочу отчет сделать. Отчетов видимых нет.
Жму кнопку на тулбаре с ФастРепортом, если жму в верхней части получаю один отчет (список договоров), если жму в нижней части окна - другой ( мероприятия по установленному в верхней части окна договору).
А вот так сделать, чтобы это объединить?
Т.е. печатается заголовок - данные по договору, а к нему перечень мероприятий, потом следующий договор с мероприятиями и т.д. Можно как то это сделать через эту кнопочку или только самому писать?
Или как объединить?
LaaLaa

Re: Отчеты в FastReport

Сообщение LaaLaa »

savov писал(а):Вопросец такой.
В модуле "Управление договорами" в Операциях есть "График неотложных мероприятий". Вот я вывел эти самые мероприятия. Хочу отчет сделать. Отчетов видимых нет.
Жму кнопку на тулбаре с ФастРепортом, если жму в верхней части получаю один отчет (список договоров), если жму в нижней части окна - другой ( мероприятия по установленному в верхней части окна договору).
А вот так сделать, чтобы это объединить?
Т.е. печатается заголовок - данные по договору, а к нему перечень мероприятий, потом следующий договор с мероприятиями и т.д. Можно как то это сделать через эту кнопочку или только самому писать?
Или как объединить?
Программировать поток данных на VIP.
Sheinina
Местный житель
Сообщения: 366
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Москва

Re: Отчеты в FastReport

Сообщение Sheinina »

Господа, очень нужна помощь!!! Никогда не имела дела с фастрепорт, а проблема вот в чем: мне надо разбить отчет "Журнал учета полученных и выставленных счетов-фактур" (из Расчетов с поставщиками и покупателями) на несколько отчетов в соответствии с назначением из ДО (поле basedoc.cnazna). К сожалению, формы в FCOM нет. Подскажите, как это сделать.
ПС Лицензию на полную консоль управления мне не купят, даже просить бессмысленно.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Отчеты в FastReport

Сообщение edward_K »

А зачем вам лицензия не консоль управления?
Вообще там сейчас какая тулсятина вышла в патчах для просмотра и редактирования форм смотрите FREASYEDIT_EXE_81020.txt.
А без нее включаете Forms - Fcnev=On и где можно в списке отчетов редактируете и сохраняете под своим именем(я бы советовал кроме ресурса еще и в файл сохранить - потом можно frres компилить). Ну там будет сложнее, чем в компиляторе форм наверное
- надо правильно создать разделы данных - зато рисовать удобней. Доступные таблицы из фастрепорта посмотрите.
Ренат
Постоянный обитатель
Сообщения: 194
Зарегистрирован: 12 сен 2007, 16:34
Откуда: Глазов
Контактная информация:

Re: Отчеты в FastReport

Сообщение Ренат »

Доброго времени суток.
Поделитесь пожалуйста компилятором FastReport который бы соответствовал streams_.dll версии 5.4.38.5.
А то новую версия мне дали, а она у нас не работает :cry:
Спасибо.
RAJAH
Местный житель
Сообщения: 932
Зарегистрирован: 18 фев 2008, 12:49

Re: Отчеты в FastReport

Сообщение RAJAH »

_http://rusfolder.com/31507093
Ответить