Autor Téma: Zostava FastReport - neuplatňujú sa väzby Master - Detail  (Přečteno 326 krát)

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6867
  • Karma: 44
    • Verze Delphi: W10 + D11.1

Testovanie: Všetky komponenty sú na DataModule, ktorý nie je súčasťou projektu. OK
Za behu: Všetky komponenty vytváram dynamicky a vlastníkom je DataModule
.
V jedinom prípade mám 2 x TDataSource, pomocou ktorého vytváram medzi TQuery väzby Master - Detail. Na obrázku posledný riadok zprava do ľava.
Problém je v tom, že sa tieto väzby neuplatnia. Nemôžem prísť nato prečo.
Kód: Delphi [Vybrat]
  1.   FQry := TFDFunction.NewQry;
  2.   FQry.Transaction := TFDFunction.FbTransaction(ttReadOnly);
  3.   FTextAndParam := TTextAndParam.Create(TfrmprnFoc_Owner(oGlobVar.ActualForm).jstpnlFoc_UsersBasic, ptFocOwner, FQry);
  4.   FParamLst := FTextAndParam.ParamList;
  5. .
  6.   FdsFocFlat := TDataSource.Create(dtmdBasic);
  7.   FdsFocFlat.DataSet := FQry;
  8. .
  9.   FqrFocOwner := TFDFunction.NewQry(dtmdBasic);
  10.   FqrFocOwner.MasterSource := FdsFocFlat;
  11.   FqrFocOwner.IndexFieldNames := IDOwF;
  12.   FqrFocOwner.MasterFields := IDOwF;
  13. .
  14.   FfrdsFocOwner := TfrxDBDataset.Create(dtmdBasic);
  15.   FfrdsFocOwner.UserName := 'FocOwner';
  16.   FfrdsFocOwner.DataSet := FqrFocOwner;
  17.   FdsFocOwner := TDataSource.Create(dtmdBasic);
  18.   FdsFocOwner.DataSet := FqrFocOwner;
  19. .
  20.   FqrFocUser := TFDFunction.NewQry(dtmdBasic);
  21.   FqrFocUser.MasterSource := FdsFocOwner;
  22.   FqrFocUser.IndexFieldNames := IDOwF;
  23.   FqrFocUser.IndexFieldNames := IDOwF;
  24. .
  25.   FfrdsFocUser := TfrxDBDataset.Create(dtmdBasic);
  26.   FfrdsFocUser.UserName := 'FocUser';
  27.   FfrdsFocUser.DataSet := FqrFocUser;
Nepomohlo ani priradenie MasterSource, IndexFieldNames a IndexFieldNames až po priradení textov do FQuery.
« Poslední změna: 28-09-2022, 17:59:14 od Stanislav Hruška »
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6867
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Zostava FastReport - neuplatňujú sa väzby Master - Detail
« Odpověď #1 kdy: 28-09-2022, 20:57:08 »
Tak to vyzerá, že ten problém je pri všetkých zostavách, kde mám použitý TDataSource pre Master - Detail. Pre istotu som vyskúšal TIBCDataSource. Nepomohlo.
Žeby to bolo spojené s FireDAC? Tam mi to fungovalo.
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6867
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Zostava FastReport - neuplatňujú sa väzby Master - Detail
« Odpověď #2 kdy: 28-09-2022, 22:21:53 »
Ešte mi napadlo, či nie je na príčine samotný FastReport. Prešiel som totiž z v6 na poslednú verziu.
Zajtra sa na to opýtam na podpore. Dám vedieť.
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6867
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Zostava FastReport - neuplatňujú sa väzby Master - Detail
« Odpověď #3 kdy: 29-09-2022, 12:00:18 »
Odpoveď:
1. This is not FR' task2. Queries of most data access components doesn't have MD support. Use OnAfterScroll event of master query to init and open detail query
.
Som z toho zmätený. Akosi nesúhlasím s bodom 1., lebo
  • pri ver. 6 to fungovalo
  • ak sú komponenty priamo na DataModule, tak to funguje
Asi budem musieť ísť cestou DataModule s komponentmi. Samozrejme, že si to najprv otestujem.Druhému bodu veľmi nerozumiem. Práve mi napadlo tie detail query najprv otvoriť. Až potom aktivovať zostavu.Ony sa otvoria, lebo údaje sú zobrazené. Predpokladám, že sa otvárajú neskoro.

Edit: pri otvorení dopytov pred otvorením hlavného dopytu sa nezobrazia žiadne údaje. Idem bádať ďalej.
« Poslední změna: 29-09-2022, 12:08:19 od Stanislav Hruška »
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6867
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Zostava FastReport - neuplatňujú sa väzby Master - Detail
« Odpověď #4 kdy: 29-09-2022, 13:03:52 »
Tak som dal komponenty tvrdo na DataModule. Žiadna zmena.
Problém je v tom, že podľa bodu 2 neviem čo mám napísať do OnAfterScroll. Vie niekto poradiť čo tam mám dať?
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6867
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Zostava FastReport - neuplatňujú sa väzby Master - Detail
« Odpověď #5 kdy: 29-09-2022, 15:19:31 »
Asi som dostal správnu odpoveď:
  • Close detail query
  • Set parameters for detail query
  • Open detail query
Akurát tam musím tie parametre doplniť.
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.

Offline Stanislav Hruška

  • Padawan
  • ******
  • Příspěvků: 6867
  • Karma: 44
    • Verze Delphi: W10 + D11.1
Re:Zostava FastReport - neuplatňujú sa väzby Master - Detail
« Odpověď #6 kdy: 29-09-2022, 15:46:55 »
Funguje to! Opäť mám čo robiť :D
Win11 64b, Delphi 11.1, FireBird 4.01
Expert na kladenie nejasne formulovaných otázok.