powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / FastReport 4 ,DialogPage, Chart, формулы и др.
5 сообщений из 5, страница 1 из 1
FastReport 4 ,DialogPage, Chart, формулы и др.
    #37264634
VitalijX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Раньше пользовался QuickReport, вот есть необходимость перейти на FastReport, здесь больше возможностей.
Разработка ведется в Delphi 2010, FastReport 4.10.5
База данных на Interbase 7.5.1, данные строятся по нескольким связанным таблицам Book1,Book2,Book3, (=Book) и еще некоторые данные берутся из Tabl1

Отчет состоит из заголовка (ReportTitle1) в котором добавлены 3 таблицы (составлены из MemoXX.. так как мне было сделать это удобнее)
1 Как сделать так чтобы данные для таблицы вычислены были перед отображением MaserDetail1? Они вычисляются как по формуле (с сумой и возведением в степень и вычислением корня) или значение из базы Tabl1 или Book

Далее идет заголовок данных (Header1) и сами данные MaserDetail1 разбитые на два колонки. Здесь пока все отображается нормально...

После создаю графики (в виде баров) на основе двух параметров: Chart1 (образец-размер1) и Chart2 (образец-размер2).
2 Количество образцов возможно будет очень много исчисляться сотнями, отсюда и вопрос как можно "разрезать" Chart и перенести на следующую страницу. В тестовых данных у меня их пока еще 63 образца и они на альбомном расположении отображаются нормально но потом караул... как можно решить это?

Далее идет таблица данных (MasterDetail2) в которые отображаются только если размер1 или размер2 не соответствуют по вычисленным по формулам параметрам и/или значениям из базы и/или таблицы (таблицы из банда ReportTitle1), второй и третий столбец ('причина' и 'действия') будут редактируемыми с помощью DialogPage1.
3 Как связать DialogPage1 (в нем MemoE1 ) c столбцом в MasterDetail2 чтобы после ввода текста эти данные записывались в базу данных. Очень нужно отобразить в DialogPage1 компонент клавиатуры из Delphi а лучше Frame с клавиатурой. Если это невозможно то попробую вызвать виртуальную клавиатуру Win7.
4 как спрятать/отобразить определенную строку в MasterDetail2 при несоответствии ~10 параметрам одновременно. С примером.
...
Рейтинг: 0 / 0
FastReport 4 ,DialogPage, Chart, формулы и др.
    #37272060
VitalijX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
VitalijX,

Ни у кого нет никаких идей? Или надо было перенести в раздел Delphi?

В п.1 может сделать предварительно до выведения отчета все высчитать в средствами Delphi и передать туда как переменные?
Тогда и в п.4 легче будет отображать и делать анализ, только какую функция использовать для этого? IIF ?
...
Рейтинг: 0 / 0
FastReport 4 ,DialogPage, Chart, формулы и др.
    #37309220
VitalijX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кто подскажет как поступить с пунктом 2. С остальным вопросами разобрался.
Нашел только в Chart1.Pages возможность ограничить по Х количество данных (MaxPointsPerPages) но они не переносятся на следующую страницу.
Все данные находятся в одном наборе данных DataSet, как при этом разделить график по страницам?
...
Рейтинг: 0 / 0
FastReport 4 ,DialogPage, Chart, формулы и др.
    #37311142
VitalijX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Похоже я разговариваю сам с собой! :))

И помощи не дождусь.
Графики необходимо было добавить в середину отчета. Сделал так: начало загрузил из файла, середину создаю програмно (графики в цикле) , окончание загрузил из второго файла.
Но есть некоторые глюки.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
  frxReportM.Clear;
  frxReportM.PrepareReport(True);
  frxReportM.LoadFromFile(DM.ApplPatch+'BookMS01.fr3');

 DM.qibBookV.First;
   while   not  DM.qibBookV.Eof  do 
   begin 
     with  DM.qibBookO  do 
     begin 
      Close;
      SQL.Clear;
      SQL.Add('select * from BookO O');
      SQL.Add('where ');
       {SQL.Add('(IDVYBORKA = NVYBORKA ) ');
      SQL.Add('and ');
      } 
      SQL.Add('(O.IDVYBORKA = '''+DM.qibBookV.FieldByName('NVYBORKA').AsString+''') ');
      SQL.Add('order by O.IDVYBORKA, O.NOBRAZEC');
      Open;
      FetchAll;
     end ;
    
     //далее пропускаю сам код вывода графиков  
     //DataSet:=frxDBDatasetBV; 
      //создаю страницу 
      //график по первому критерию 

      //создаю страницу для следующего графика 
      //график по второму критерию 
     
     DM.qibBookV.Next;
    frxReportM.PrepareReport(False);
  
   end ;

  frxReportM.LoadFromFile(DM.ApplPatch+'BookMS02.fr3');
  frxReportM.PrepareReport(False);

  frxReportM.ShowPreparedReport;


Получается что данные для графика берутся только из последнего запроса
И все пары графиков получаются одинаковыми (по первому и второму параметру) .
И в последнем отчете (таблица) тоже данные из последнего запроса.
Что сделал не так?
...
Рейтинг: 0 / 0
FastReport 4 ,DialogPage, Chart, формулы и др.
    #37312278
VitalijXНи у кого нет никаких идей? Или надо было перенести в раздел Delphi? +1
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / FastReport 4 ,DialogPage, Chart, формулы и др.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]