Pogledaj uputstva za PANTHEON™

 Categories
 Početna stranica - PANTHEON uputstva
[Collapse]PANTHEON
 [Collapse]PANTHEON priručnici
  [Expand]Vodič po Datalab PANTHEON FarmAccounting
  [Expand]Vodič po PANTHEON Retail
  [Collapse]Vodič po DataLab PANTHEON™
   [Expand]Pomoć
   [Collapse]Postavke
    [Expand]Subjekti
    [Expand]Artikli
    [Expand]POS
    [Expand]Proizvodnja
     Kalendar
    [Expand]Zaposleni
    [Expand]Računovodstvo
    [Expand]Carina
    [Collapse]Program
     [Expand]Vrste dokumenata
     [Collapse]Ispisi u PANTHEON-u
       Prenos ispisa u druge baze
       Prenos ispisa u druge baze
       Postavke u Administrativnom Panelu
       Izvoz oblika ispisa
       Uvoz oblika ispisa
       SQLI i ispisi $
       Prečica za ispis
      [Expand]Izvještaji Registar
       Pregled štampe
       Dupliciranje ispisa i mijenjanje tipa ispisa
      [Expand]Upotreba izraza SQLEXP u ispisima $
      [Expand]Izvještajni dizajner
      [Expand]Poruke pri oblikovanju ispisa
      [Expand]Izrada Izvještaja
      [Expand]Grupacije i Agregati
      [Expand]Oblikovanje ispisa $
      [Expand]Formatiranje i Isticanje
       Ugniježdene Izvještaje (Podizvještaji)
       Specifičnosti ispisa u PANTHEON-u
      [Collapse]Scenario
        "Zdravo, Svijete!" Skripta
        Korištenje varijabli, polja baze podataka i agregatnih funkcija
        Dešavanja
        Primjer korištenja "OnBeforePrint" događaja
        Štampanje grupnog zbira u grupnom zaglavlju
        Trenutni Ukupni Iznos
        "OnAfterData" Događaj
        Servisni objekti
        Korištenje "Engine" objekta
       [Expand]PANTHEON Funkcije za FastReport
        Primjeri sa Tabelama i Upitima
     [Expand]Tekstovi za dokumente
      Načini dostave
     [Expand]Kartice povjerenja
     [Expand]Elementi nadzorne ploče
     [Expand]Administratorska konzola
      Izvještaji na kontrolnoj tabli
     [Expand]Izvještaji nadzorne ploče
      Ad-hoc analiza
     [Expand]Ares
     [Expand]Trenutni Korisnik Ctrl - U
      SQL uređivač
     [Expand]Ad-hoc analize
    [Expand]Dokumentacija
    [Expand]Dokumentacija
    [Expand]Zamjena korisnika
   [Expand]Narudžbe
   [Expand]Roba
   [Expand]Proizvodnja
   [Expand]POS
   [Expand]POS
   [Expand]Servis
   [Expand]Novac
   [Expand]Kadrovi
   [Expand]Radna površina
   [Expand]Analize
   [Expand]Programske poruke
   [Expand]Dodatni programi
   [Expand]Stari proizvodi
   [Expand]Službena objašnjenja
   [Expand]Dodatni programi
   [Expand]Riječnik izraza
  [Expand]Vodič po PANTHEON VET
 [Expand]PANTHEON korisnički priručnici
[Expand]PANTHEON Web
[Expand]PANTHEON Granule
[Expand]Korisničke stranice

Load Time: 781,2659 ms
print   |
Label

Referenciranje polja baze podataka

Dogodaji

Do sada smo gledali skripte sa samo jednom glavnom procedurom, koja se izvršava kada se izveštaj počne pokretati. U glavnoj proceduri mogu se postaviti inicijalne postavke i inicijalizovati varijable. Međutim, to nije dovoljno za potpunu kontrolu nad procesom generisanja izveštaja. Da bi se omogućila što veća kontrola nad generisanjem izveštaja, svaki objekat ima nekoliko događaja kojima se mogu dodeliti handleri (tj. procedure u skripti). Na primer, povezivanje handlera sa podacima omogućava filtriranje zapisa, tako da se traka može sakriti ili otkriti u zavisnosti od ispunjavanja specifičnih uslova.

Prikažimo proces kreiranja izveštaja i događaje koji se aktiviraju putem jednostavnog izveštaja koji sadrži jednu stranicu i ima jednu “MasterData” traku, sa dva “Text” objekta na traci:

clip0191

Kao što je opisano iznad, glavna procedura skripte se poziva na samom početku pokretanja izveštaja. Nakon toga počinju osnovne stvari konstrukcije izveštaja. Prvo se poziva “OnStartReport” događaj objekta "Report". Zatim, pre nego što se kreira izlazna stranica, poziva se “OnBeforePrint” događaj stranice. Ovaj događaj se poziva jednom za svaku dizajnersku stranicu u šablonu izveštaja (dizajnerske stranice ne treba mešati sa izlaznim stranicama izveštaja!). U našem primeru, događaj se poziva jednom, jer dizajn izveštaja sastoji se samo od jedne dizajnerske stranice.

Zatim se događaji podataka traka pozivaju u sledećem redosledu:

1. poziva se “OnBeforePrint” događaj trake

2. poziva se “OnBeforePrint” događaj svakog objekta koji se nalazi u traci

3. svaki objekat se popunjava podacima (u našem primeru sa vrednostima “Company” i “Addr1" DB polja)

4. poziva se “OnAfterData” događaj svakog objekta

5. vrše se akcije kao što su pozicioniranje objekata na traci (ako među njima postoje rastezljivi objekti), izračunavanje visine trake i rastezanje (ako je rastezljiva)

6. poziva se “OnAfterCalcHeight” događaj trake

7. kreira se nova izlazna stranica ako traka nema dovoljno prostora u belom prostoru stranice

8. traka i svi njeni objekti se prikazuju na izlaznoj stranici

9. poziva se “OnAfterPrint” događaj svakog objekta trake

10. poziva se “OnAfterPrint” događaj same trake

Trake se nastavljaju štampati sve dok izvor povezan sa trakom ima podatke. Nakon toga štampanje izveštaja se zaustavlja, poziva se “OnAfterPrint” događaj stranice izveštaja i konačno “OnStopReport” događaj objekta “Report”.

Dakle, korišćenjem događaja različitih objekata praktično se može upravljati svakim korakom procesa kreiranja izveštaja. Ključ za korišćenje događaja je temeljno razumevanje procesa izlaza trake, što će biti objašnjeno u sledećim sekcijama. Većina akcija može se izvršiti koristeći samo “OnBeforePrint” događaj trake; sve izmene napravljene na objektu se odmah prikazuju. Međutim, ako je traka rastezljiva, nemoguće je reći u ovom događaju na kojoj stranici će se traka štampati, pošto se izračunavanje visine trake vrši u koraku 5. To se može uraditi, međutim, ili u “OnAfterCalcHeight” događaju u koraku 6 ili u “OnAfterPrint” događaju u koraku 9. Imajte na umu da će u poslednjem događaju traka već biti izlazna, tako da izmene na objektima neće imati nikakav vidljiv efekat.

Bitno je jasno razumeti “gde i kada” se trake izlaze i razumeti vremensko (redosled pozivanja) svakog od njihovih događaja. Takođe i za svaki od objekata koji se nalaze u trakama.



Rate this topic
Was this topic usefull?
Comments
Comment will also bo visible in forum!