PANTHEON™ navodila

 Kazalo
 Glavna stran - Dobrodošli v PANTHEON navodila
[Collapse]PANTHEON
 [Collapse]Uporabniški priročniki za PANTHEON
  [Expand]Uporabniški priročnik za PANTHEON
  [Expand]Uporabniški priročnik za PANTHEON Retail
  [Expand]Uporabniški priročnik za PANTHEON Vet
 [Collapse]Vodiči za PANTHEON
  [Collapse]Vodič po PANTHEON-u
   [Expand]Pomoč
   [Collapse]Nastavitve
    [Expand]Subjekti
    [Expand]Identi
    [Expand]POS
    [Expand]Proizvodnja
    [Expand]Zaposleni
     Koledar
    [Expand]Računovodstvo
    [Expand]Carina
    [Collapse]Program
     [Expand]Vrste dokumentov
     [Collapse]Izpisi v PANTHEON-u
       Delovno okolje
       Izvozi ime datoteke
       Poročila Register
       Posebnosti izpisov
       Nastavitve
       Zgradba izpisa
       Predogled tiskanja
      [Expand]Oblikovalec poročil
       Objekti
       Izrazi
      [Expand]Ustvarjanje poročil
      [Expand]Skupine in agregati
       Grupiranje in številčenje
      [Expand]Funkcije
      [Expand]Oblikovanje in označevanje
       Vgrajena poročila (podporočila)
       Sistemske spremenljivke
       Uvoz in izvoz
      [Collapse]Skripta
        "Pozdravljen, svet!"
        Uporaba spremenljivk, polj podatkovne baze in agregatnih funkcij
        Dogodki
        Primer uporabe dogodka "OnBeforePrint"
        Izpis skupne vsote v skupinskem glavi
        Skupaj
        "OnAfterData" Dogodek
        Storitveni objekti
        Uporaba objekta "Motor"
       Tabele in poizvedbe
       Prenos izpisa v druge baze
       Izvoz oblike izpisa
       Uvoz oblike izpisa
       Bližnjica na izpis
       Podvajanje izpisov in spreminjanje tipa izpisa
      [Expand]Uporaba izraza SQLEXP v izpisih
      [Expand]Sporočila pri oblikovanju izpisov
      [Expand]Oblikovanje izpisov
     [Expand]Teksti za dokumente
      Načini dostave
     [Expand]Kartice zaupanja
     [Expand]Administratorska konzola
     [Expand]Gradniki nadzorne plošče
      Poročila nadzorne plošče
      Poročila nadzorne plošče
      Ad-hoc analize
     [Expand]ARES
      SQL urejevalnik
    [Expand]Dokumentacija
    [Expand]Zamenjaj uporabnika Ctrl - U
   [Expand]Naročila
   [Expand]Blago
   [Expand]Proizvodnja
   [Expand]Servis
   [Expand]Denar
   [Expand]Kadri
   [Expand]Namizje
   [Expand]Analitika
   [Expand]Sporočila programa
   [Expand]Uradna pojasnila
   [Expand]Sistemsko okolje
   [Expand]Dodatni programi
    Slovar izrazov
   [Expand]Zastareli produkti
  [Expand]Vodič po PANTHEON Farming
  [Expand]Vodič po PANTHEON Retail
  [Expand]Vodič po PANTHEON Vet
[Collapse]PANTHEON Web
 [Collapse]Vodiči za PANTHEON Web
  [Expand]Vodič po PANTHEON Web Light
  [Expand]Vodič za PANTHEON Web Terminal
  [Expand]Vodič za PANTHEON Web Legal
  [Expand]Arhiv starih izdelkov
 [Collapse]Uporabniški priročniki za PANTHEON Web
  [Expand]Kako začeti
  [Expand]Uporabniški priročnik za PANTHEON Web Light
   Uporabniški priročnik za PANTHEON Web Terminal
  [Expand]Uporabniški priročnik za PANTHEON Web Legal
  [Expand]Arhiv starih izdelkov
[Collapse]PANTHEON Granule
 [Collapse]Vodiči za PANTHEON Granule
  [Expand]Granula Kadri
  [Expand]Granula Potni nalogi
  [Expand]Granula Dokumenti in Opravila
  [Expand]Granula Nadzorna plošča
  [Expand]Granula B2B Naročanje
  [Expand]Granula Servis na terenu
  [Expand]Inventar fiksnih sredstev
  [Expand]Granula Inventura skladišča
 [Collapse]Uporabniški priročniki za PANTHEON Granule
   Začetek
   Primer uporabe PANTHEON Granul v namišljenem podjetju
  [Expand]PANTHEON Granule in aktivacija
  [Expand]Granula Kadri
  [Expand]Granula Potni nalogi
  [Expand]Granula Dokumenti in opravila
  [Expand]Granula B2B naročanje
  [Expand]Granula Nadzorna plošča
  [Expand]Granula Servis na terenu
  [Expand]Granula Inventura osnovnih sredstev
  [Expand]Granula Inventura skladišča
   PANTHEON Granule - pogosta vprašanja in odgovori
   Arhiv
[Expand]Uporabniške strani

Load Time: 484,3801 ms
"
  1006310 | 218669 | 422874 | AI translated
Label

Uporaba objekta "Engine"

Uporaba objekta "Engine"

Že smo povedali, da objekt "Engine" predstavlja motor poročila, ki upravlja sestavo poročila. Postopek razporejanja pasov na strani lahko upravljamo z uporabo lastnosti in metod motorja. Najprej nekaj teorije.

Diagram spodaj prikazuje različne dimenzije strani poročila.

_img242

Fizične dimenzije strani so lastnosti "PaperWidth" in "PaperHeight", vidne v inšpektorju objektov, ko je stran izbrana. Tako je velikost A4 strani 210 x 297mm.

"PageWidth" in "PageHeight" sta dimenziji tiskljivega območja, ki je običajno manjše od fizičnih dimenzij strani. Velikost tiskljivega območja je odvisna od lastnosti strani poročila "LeftMargin", "TopMargin", "RightMargin" in "BottomMargin". Velikost tiskljivega območja v slikovnih pikah vrne funkciji "Engine.PageWidth" in "Engine.PageHeight".

Na koncu je "FreeSpace" višina prostega prostora na strani. Če je na strani pas "Page Footer", se njegova višina upošteva pri izračunu "FreeSpace". Ta višina se vrne v slikovnih pikah z funkcijo "Engine.FreeSpace". Upoštevajte, da se po prikazu naslednjega pasu prosti prostor zmanjša na strani, to se upošteva pri izračunu "FreeSpace".

Kako so sestavljene strani poročila? Jedro FastReport prikazuje pasove na strani, dokler je dovolj prostega prostora. Ko prostega prostora ni več, se natisne pas "Page Footer" (če je potrebno) in ustvari se nova prazna stran. Kot že omenjeno, se po prikazu naslednjega pasu višina prostega prostora zmanjša. Poleg tega se prikaz naslednjega pasu začne od trenutne pozicije, ki jo določajo koordinate na osi X in osi Y. Trenutna pozicija se vrne z "Engine.CurX" in "Engine.CurY". Po tisku naslednjega pasu se CurY samodejno poveča za višino natisnjenega pasu. Po ustvarjanju nove strani "CurY" enako "0." "CurX" se spremeni pri tisku večkolumnskih poročil.

"Engine.CurX" in "Engine.CurY" sta na voljo ne le za branje, temveč tudi za pisanje. To pomeni, da je mogoče pasove premikati z povečevanjem ali zmanjševanjem teh vrednosti. Na primer, v poročilu, ki je podobno temu:

_img243

To se lahko natisne na naslednji način:

_img244

To dosežemo z zapisovanjem obdelovalca za dogodek pasu "OnBeforePrint":

postopek MasterData1OnBeforePrint(Sender: TfrxComponent);

začni

  Engine.CurX := Engine.CurX + 5;

konec;

Sprememba "CurY" lahko povzroči prekrivanje pasov, na primer:

_img245

Doseženo s tem skriptom:

postopek MasterData1OnBeforePrint(Sender: TfrxComponent);

začni

  Engine.CurY := Engine.CurY - 15;

konec;

Metoda "Engine.NewPage" vstavi prelom strani na katerem koli zahtevanem mestu v poročilu, po katerem se tiskanje nadaljuje od vrha nove izhodne strani. V našem primeru se lahko prelom vstavi po tisku drugega zapisa:

postopek MasterData1OnAfterPrint(Sender: TfrxComponent);

začni

   če <Line> = 2 potem

     Engine.NewPage;

konec;

Upoštevajte, da smo uporabili dogodek "OnAfterPrint" (to pomeni, po tem, ko je bil pas natisnjen). Prav tako upoštevajte, da sistemska spremenljivka "Line" vrne zaporedno številko zapisa.

Metoda "Engine.NewColumn" vstavi prelom stolpca v večkolumnskih poročilih. Če na strani ni več prostih stolpcev, se ustvari nova stran.

Račun z plačilnimi nalogi


Naslednji primer je predstavljen na izpisu nalogov in računov s plačilnimi nalogi. Na voljo so le za slovensko in hrvaško zakonodajo. Takšna poročila so '2U2 - Račun - UPN - Oblika' za slovensko in '2U7 - Račun - HUB 3A - Oblika' za hrvaško zakonodajo. Oblikovanje teh poročil lahko vidite, če odprete oblikovalnik poročil iz registra poročil.

Želimo natisniti plačilni nalog vedno natančno na dnu strani. Da bi to obnašanje prisilili, nastavimo trenutno vertikalno pozicijo (Engine.CurY) povzetka poročila tako, da je dovolj prostora za prikaz na tej strani. To storimo z naslednjo kodo:

postopek UPNOnBeforePrint(Sender: TfrxComponent);
začni
  ...
  Engine.CurY := Engine.CurY + Engine.FreeSpace - UPN.Height - 1;
konec; 

Ko ustvarjamo poročilo, se plačilni nalog prekriva z obstoječim besedilom, če je previsok. Zato moramo popraviti našo kodo, da v tem primeru natisnemo plačilni nalog na naslednji strani.

postopek UPNOnBeforePrint(Sender: TfrxComponent);
začni
  ...
  če Engine.CurY > Engine.CurY + Engine.FreeSpace - UPN.Height - 1 potem
    Engine.NewPage;  
  Engine.CurY := Engine.CurY + Engine.FreeSpace - UPN.Height - 1;
konec; 

 

Ali so bila ta navodila uporabna?
Vaše povratne informacije bodo prispevale k boljši pomoči.
Komentarji
Komentarji so izpostavljeni tudi na forumu.