You are on page 1of 46

FastReport I

Izpisi v Pantheonu 5.5


Učno gradivo
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Kolofon

Gradiva v okviru DataLab Akademije so bila pripravljena s strani podpornikov produktu, v sodelovanju
s produktnimi vodji ter recenzirana s strani certificiranih uporabnikov in izkušenih partnerjev. Vsebina
gradiv je pripravljena in ustreza preddefiniranim učnim načrtom (Syllabus 1.0). Recenzenti in izdajatelj
ne jamčita, da bo uporabnik uspešno opravil izpit za posamezen modul Pantheona 5.5. Vaje in izpiti v
učnem gradivu niso vzeti iz testne baze, predstavljajo pa vzorec vprašanj, ki se pojavljajo na
certificiranjih. Učni načrt – Syllabus verzije 1.0 je izdan kot uradni učni načrt za Pantheon 5.5 in
predstavlja osnovo za vsa učna gradiva in bazo izpitnih vprašanj.

Mnenja recenzentov o gradivih Datalab Akademije

»Učna gradiva, pripravljena v okviru Datalab Akademije, so zelo dobra iztočnica za izobraževanja in
uporabniku z neko osnovo znanja služijo kot dober pripomoček pri delu in učenju«. Lili Rogelj, Vodja
računovodstva, 3 F d.o.o.

»Učna gradiva so odlična, saj na enem mestu združujejo vse kar je potrebno vedeti o posameznem
področju v Pantheonu. Takšna učna gradiva smo že dolgo pričakovali, čeprav so bile praktično vse
zadeve že pojasnjene v pomoči, ampak per partes«. Žarko Germek, Cosis d.o.o., Bronze partner

 Vse pravice pridržane.

Brez pisnega dovoljenja izdajatelja je prepovedano reproduciranje, distribuiranje, javna priobčitev,


predelava ali druga uporaba tega avtorskega dela in njegovih delov v kakršnem koli obsegu ali
postopku, hkrati s fotokopiranjem, tiskanjem ali shranitvijo v elektronski obliki.

Izdajatelj: DataLab d.d., DataLab Akademija, Slovenija


Idejni design: Studio Mars d.o.o.

2
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Kazalo
1. Uvod ................................................................................................................. 4
2. Posebnosti izpisov v Pantheonu 5.5 .......................................................... 5
3. Nastavitve za izpise v administratorski konzoli ...................................... 7
3.1. Splošne nastavitve ........................................................................... 7
3.2. Nastavitve za dokumente ............................................................. 10
4. Zgradba izpisa.............................................................................................. 14
4.1. Pasovi ................................................................................................ 14
4.2. Pas vrste Child................................................................................. 18
4.3. Pas s spremenljivo višino .............................................................. 19
5. Delo z objekti ............................................................................................... 20
5.1. Skrivanje objektov ......................................................................... 20
5.2. Brisanje objektov ............................................................................ 21
5.3. Vrivanje stolpca .............................................................................. 25
5.4. Zamenjava vrste pasov ................................................................. 26
6. Izrazi .............................................................................................................. 30
7. Agregatne funkcije ...................................................................................... 32
8. Posebni objekti ............................................................................................ 37
8.1. Črtna koda........................................................................................ 37
8.2. Slika identa iz šifranta identov .................................................... 38
9. Pogojno barvanje ........................................................................................ 39
10. Izdelava izpisa od začetka ........................................................................ 42
10.1. Dodajanje tabel in poizvedb na izpis ........................................ 43
11. Uvoz in izvoz izpisov ................................................................................... 45
11.1. Uvoz izpisov ................................................................................... 45
11.2. Izvoz izpisov .................................................................................. 46

3
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

1. Uvod

Učno gradivo je namenjeno tistim, ki že poznajo Pantheon in osnove oblikovanja izpisov v Pantheonu
5.5.

Učno gradivo vsebuje:


 nastavitve za izpise v Pantheonu 5.5: Šifrant izpisov in nastavitve v administratorski konzoli za
izpise - dokumente
 posebnosti izpisov v Pantheonu 5.5
 delo z izrazi
 enostavne primere programske kode
FastReport je generator izpisov, ki se uporablja v Pantheonu 5.5. Osnovno gradivo zanj v angleščini је
User's manual (Uporabniški priročnik), ki si ga lahko prenesete s spodaj navedene spletne strani.
FastReport v Pantheonu je glede na izvirnega malo spremenjen.
http://fast-report.com/en/download/fast-report-4-download.html

4
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

2. Posebnosti izpisov v
Pantheonu 5.5

Izpise v Pantheonu lahko okvirno razdelimo v 3 skupine:


 dokumente
 obračune
 obrazce
Dokumenti so izpisi, namenjeni drugim subjektom in zaposlenim v podjetju. Večina jih ima podobno
obliko, le tisti v modulih Hera in Hefajst so nekoliko drugačni.
Obračuni so izpisi, namenjeni za interno uporabo.
Obrazci so z zakoni ali drugimi pravnimi akti predpisani formularji in jih praviloma ne smemo
spreminjati.
Izpisi v Pantheonu 5.5 imajo določene posebnosti, zaradi katerih se obnašajo drugače kot bi se v
običajnem FastReportu. Posebnosti izpisov v Pantheonu 5.5 so posledica:
 nastavitev v programu
 vpisovanja podatkov v izpise iz Pantheonova programske kode
 določanja položaja in velikosti objektov ter višine pasov v programski kodi
 uporabe funkcij, napisanih posebej za Pantheon 5.5

Imen obstoječih objektov, ki imajo v oblikovalniku drugačno besedilo kot na izpisu, ne


spreminjamo in ne premikamo v druge pasove.
Izpisi vsebujejo tudi programsko kodo, ki se nahaja v oblikovalniku na zavihku Code. To kodo lahko
spreminjamo tudi sami.
Pasovi, na katere se polnijo podatki iz programske kode, morajo imeti v oknu Object Inspector
(nadzorniku objektov), do katerega dostopamo preko menija View | Toolbars prirejen dogodek
(event) tipa OnBeforePrint, ki se izvede pred tiskanjem pasu.

5
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Na zavihku Code mora biti zapisana naslednja koda:


procedure TitleOnBeforePrint(Sender: TfrxComponent);
begin
CallQRBeforeBandPrint(Sender, TfrxBand(sender).visible);
end;
Med begin in end; je lahko zapisanih še več vrstic kode.

6
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

3. Nastavitve za izpise v
administratorski konzoli

V tem poglavju si bomo pogledali najpomembnejše nastavitve za izpise v administratorski konzoli, ki


vplivajo na veliko izpisov. Poleg opisanih imamo tudi posebne nastavitve za posamezne izpise.

3.1. Splošne nastavitve

Splošne nastavitve v administratorski konzoli

7
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

V administratorski konzoli, do katere dostopamo preko menija Nastavitve | Program |


Administratorska konzola, v meniju Nastavitve | Parametri programa | Splošno lahko
najdemo nastavitve, ki določajo podatke, ki se izpisujejo v standardni glavi izpisa (kakor nam prikazuje
slika).
Nastavitve so:
 Izpis datuma in ure na obračunih
 Izpis prijavljenega uporabnika na obračunih
 Izpis našega podjetja na obračunih
 Vrstni red izpisa našega podjetja na obračunih
 Vrstni red izpisa subjekta na obračunih
 Izpis številke in naziva izpisa na obračunih
 Izpis številke izpisa v spodnjem levem kotu
 Dvojno označevanje cen po 1.7.2007 - se uporablja na dokumentih
Nastavitev Izpis našega podjetja na obračunih določa, ali se v glavah izpisov izpisujejo podatki o
podjetju.
Nastavitev Vrstni red izpisa našega podjetja na obračunih določa, kateri podatki o podjetju se
izpisujejo v glavah izpisov, če je označena nastavitev Izpis našega podjetja na obračunih.
Nastavitev Vrstni red izpis subjekta na obračunih določa, kateri podatki o našem podjetju se
izpisujejo v glavah izpisov, ko je kot kriterij za izpis izbran subjekt.
Nastavitev Vrstni red izpisa našega podjetja določa, kateri podatki o našem podjetju se izpisujejo.
Podatki se izpisujejo samo, če je izbrana nastavitev Izpis našega podjetja na obračunih. Podatki o
našem podjetju, ki se lahko izpišejo v glavah izpisov, so isti kot podatki o subjektih, ki se lahko izpišejo
v glavi dokumentov in so opisani v nadaljevanju gradiva. Prav tako se enako določa tudi vrstni red
podatkov.
Nastavitev Izpis številke izpisa določa ali se v spodnjem levem kotu izpisuje številka izpisa.
Nastavitev vpliva na vse izpise.

8
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Standardna glava izpisa

Primer – splošne nastavitve v AK

V našem primeru si želimo ogledati primer uporabe splošne nastavitve v Parametrih programa (AK) in
njen vpliv na izpise.

Privzeto je v DEMO bazi (ki je tudi osnova za to gradivo in učenje na tečaju) v Parametrih programa |
Splošno definirana nastavitev Izpis našega podjetja na obračunih. V našem primeru bomo to
nastavitev odkljukali (to pomeni, da ne bo izbrana).

Ko bomo nastavitev potrdili in si ogledali primer obračuna, bomo lahko ugotovili, da v glavi izpisa (tako
kot je recimo prikazano na zgornji sliki) ni več izpisanih podatkov o podjetju.
Izberemo npr. meni Blago | Obračun izdanih računov | Obračun računov in razlike v ceni. V oknu
Obračun izdanih računov/razlike v ceni izberemo npr. izpis 164 (določimo, da želimo npr. izpis za vrsto
dokumentov 3000 – Veleprodaja) ter ga z dvoklikom odpremo.

V predogledu lahko opazimo, kako je naša nastavitev vplivala na izpis. V glavi izpisa ni podatkov o
podjetju.

9
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

3.2. Nastavitve za dokumente

Glava izpisa 241

Nastavitve v administratorski konzoli za podatke v glavi dokumentov


Za dokumente imamo v administratorski konzoli v meniju Nastavitve | Parametri programa |
Podjetje | Teksti na dokumentih posebne nastavitve, ki določajo podatke, ki se izpisujejo na njih.
Za dokumente v modulu Kadri te nastavitve razen logotipa podjetja ne veljajo. Zanje posebnih
nastavitev ni.

10
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Teksti na dokumentih – opis nastavitev

V oknu v vnosnem polju Opomba na dokumentu definiramo opombo, ki se izpisuje v desnem


zgornjem kotu dokumentov.

V rubriki Logotip opredelimo sliko, ki se prikazuje na njih.

Nastavitev Izpisuj predpono države določa, v katerem primeru se izpisuje predpona države pred
identifikacijsko številko za DDV.

Nastavitev Vrstni red izpisa naslova določa, kateri podatki o subjektih se izpisujejo na dokumentih.

Znak za prehod v novo vrstico je podpičje(;). Besedilo, napisano med dvojnimi narekovaji(“), se izpiše
tako, kot je zapisano v rubriki Vrstni red izpisa naslova.
Nastavitev Za naziv subjekta se uporablja Naziv2 določa, ali se za naziv podjetja na obrazcih
uporablja drugi naziv podjetja.

11
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Podatki o subjektih, ki se lahko izpišejo v glavi dokumentov, so

NAZIV IME POLJA V TABELI OPIS

KontOs acContact Kontaktna oseba

Naziv acSubject Naziv subjekta

Naziv2 acName2 Drugi naziv subjekta

Naziv3 acName3 Tretji naziv subjekta

Naslov acAddress Naslov

Posta acPost Poštna številka in kraj

Sifra acCode Identifikacijska številka za DDV


Tel acPhone Telefonska številka

Fax acFax Številka telefaksa


Drzava acCountry Država

AddressPost Naslov, pošta in poštna številka, če je


dovolj prostora v isti vrstici, sicer v dveh
vrsticah

PhoneFax Telefonska številka in številka telefaksa v


isti vrstici

Pri naštevanju podatkov lahko uporabljamo njihov naziv ali ime polja v tabeli. Izjema sta zadnji dve
možnosti, kjer izpišemo več podatkov naenkrat. Vseeno je, ali pišemo z malimi ali velikimi črkami.
Imena polj v tabeli lahko pišemo tudi brez »ac« na začetku. Če želimo pred izpis podatka vstaviti
fiksen tekst, ki se izpisuje PRED podatkom iz ustreznega polja iz šifranta, ga navedemo ZA nazivom
polja in vpišemo v dvojnih narekovajih.
Isti podatki razen kontaktne osebe se lahko uporabijo tudi za vrstni red izpisa našega podjetja na
obračunih in vrstni red izpisa subjekta na obračunih.

Primer – splošne nastavitve v AK

Poglejmo si vrstni red izpisa podatkov v naslovu, kot so trenutno definirani v administratorski konzoli.
Lahko opazimo, da je trenutno nastavljeno v rubriki Vrstni red izpisa naslova naslednje (kakor nam
prikazuje slika)

Trenutno nastavitev si oglejmo na primeru izpisa 241, ki se nahaja v programu v meniju Blago |
Izdaja | Dokument (npr. 3000 – Veleprodaja).

12
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Kot lahko vidimo ob ogledu izpisa, so izpisani podatki o subjektu točno v taki formi, kot je določeno v
Parametrih programa | Podjetje | Teksti na dokumentu.

Spremenimo vrstni red izpisa naslova v


acSubject;acName2;acAddress;acPost
in ponovno poglejmo izpis 241.

Vidimo, da je sedaj glava izpisa drugačna (veljajo nove nastavitve).

13
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

4. Zgradba izpisa

4.1. Pasovi
Izpis je sestavljen iz več tako imenovanih pasov, ki omogočajo prikaz vrednosti na različnih delih
izpisa. Pasovi so različnih vrst in jih delimo na take, ki ne potrebujejo podatkov iz tabel oz. poizvedb in
take, ki jih potrebujejo.
Vrste pasov, ki ne potrebujejo datasetov, so:

Angleški naziv Slovenski naziv Opis

ReportTitle Naslov izpisa Pas, ki se izpiše na začetku izpisa.

ReportSummary Povzetek izpisa Pas, ki se izpiše na koncu izpisa.

PageHeader Glava strani Pas, ki se izpiše na vrhu strani.

PageFooter Noga strani Pas, ki se izpiše na dnu strani.

Child Pas podrejen drugemu pasu.

Vrste pasov, ki potrebujejo datasete, so:

Angleški naziv Slovenski naziv Opis

MasterData Podrobnosti Pas, ki prikazuje podatke iz datasetov. Določeno


mora imeti lastnost DataSet, ki pove, iz katerega
dataseta bere podatke.

Header Glava Pas, ki se izpiše pred pasom s podatki.

Footer Noga Pas se izpiše za pasom s podatki.

GroupHeader Glava skupine Pas, ki se izpiše pred skupino podatkov in ima


obvezno določeno lastnost Condition (pogoj), ki

14
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

določa, po katerem polju se grupirajo podatki.

GroupFooter Noga skupine Pas, ki se izpiše na dnu skupine podatkov.

DetailData Pas za prikaz detail tabele, ko sta tabeli v odnosu


Master-Detail.

SubdetailData Pas za prikaz subdetail tabele, ko so tabele v


odnosu Master – Detail - Subdetail. Na voljo imamo
pasove za prikaz podatkov do 6. nivoja.

Tako moramo glavni naslov, ki ga želimo imeti prikazanega na začetku izpisa, vnesti v naslov izpisa,
datum, številko strani ali komentar o izpisu v glavo strani ali nogo strani. Različne izračune
izpisujemo v nogi skupine. Če jih želimo imeti prikazane na koncu izpisa, jih damo v povzetek
izpisa.
Pasove imamo lahko na izpisu ali tudi ne. Dodajamo jih iz orodne vrstice z objekti s klikom na ikono

Oblika izpisa 241

15
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Primer – zgradba izpisa 241

Za primer bomo pogledali sestavo izpisa 241, ki je v programu v meniju Blago | Izdaja.

1) ReportTitle (naslov poročila): v tem pasu ni definirano nič.

2) Page Header (naslov strani): v tem pasu, ki se bo izpisal na vrhu vsake strani, je definirana slika
podjetja, objekt fObrazec, ki je namenjen samo za hrvaško zakonodajo in ga lahko zbrišemo ter
objekta s podatki o podjetju, ki jih nastavimo v administratorski konzoli. Objekta mOseba1 in
mOseba2 definirata podatke o prejemniku in kupcu in sta postavljena tako, da se izpisujeta v okencu
kuverte, in podatki o fakturi.

3) Pasovi vrste Child vsebujejo tekstovne objekte, v katere se vpisuje različno dolgo besedilo. Npr.
bPredracun (podatki o predračunu), bDobavnica (podatki o dobavnici)…

16
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

4) Header (glava): Pas, v katerem se izpišejo nazivi polj in podrobnosti (Master in Detail Data). V
našem primeru so v tem polju nazivi polj, ki se bodo pojavili nad Detail delom (Ident, Naziv,
Količina,…).

5) MasterData (podrobnosti): Pas, ki prikazuje vrednosti polj glavne poizvedbe, na osnovi katere je bil
izpis pripravljen. V našem primeru so v tem pasu polja o kodi identa acIdent, podatki o nazivu
acName,…

6) DetailData: Pas, ki prikazuje vrednosti polj podrejene poizvedbe, na osnovi katere je bil izpis
pripravljen. V našem primeru so to podatki o kosovnici (če jo ident ima) in jo sestavljajo koda identa
acIdent, naziv acName, količina acQty,…

7) ReportSummary (povzetek izpisa): pas, v katerem izpišemo skupne povzetke izpisa, v našem
primeru fakture. V tem pasu so običajno skupne vsote, povprečja,…. V našem izpisu 241 najdemo
npr. skupno vrednost fakture – Skupaj fVrednost, Popust fPopust, DDV fDavek,… Polja v tem pasu se
na tem izpisu večinoma polnijo iz programske kode.

17
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Na tem izpisu in vseh ostalih izpisih na izdaji blaga, naročilih kupcev in POS-u lahko prenašamo
objekte med pasovoma z imenoma Master in Title.
Pasove z imeni DetailFooter, bDavek, mEmbalaza (ta je namenjen samo za hrvaško zakonodajo),
bAvans, bNacinPlacI in bCassasConto pustimo pri miru.
8) PageFooter (noga strani): pas, v katerem izpišemo številko strani in število vseh strani
izpisa.

4.2. Pas vrste Child

Kadar želimo, da imajo posamezni deli pasu različne lastnosti, ga razdelimo na več pasov. Prvi ostane
iste vrste, ostali pa so njemu podrejeni (vrste Child). Veliko takih pasov je na izpisu 241, ki smo ga
pravkar spoznali. Tam se pasovi razlikujejo po tem, da so vidni ob različnih pogojih (različna vrednost
lastnosti Visible) ki so v tem primeru določeni v programski kodi na izpisu, ki jo bomo spoznali kmalu.
Vsak pas razen zadnjega mora imeti prirejeno lastnost Child, katere vrednost je naslednji pas vrste
Child v skupini.

18
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

4.3. Pas s spremenljivo višino

Nekateri pasovi vsebujejo tekstovne objekte, v katere se vpisuje različno dolgo besedilo, zato se mora
spreminjati višina pasov in objektov z besedilom.

Primer

Oglejmo si primer zgoraj omenjenih nastavitev lastnosti na


tekstovnem objektu SerialNo (Serijska številka) in pasu z imenom
bSerialNo na izpisu 241.
V oknu oblikovalnika izpisov poiščimo pas bSerialNo in označimo
objekt SerialNo (Serijska številka). V oknu Object Inspector mu
nastavimo naslednje lastnosti:
 AutoWidth (ali naj objekt prilagodi širino glede na
dolžino besedila) na False
 StretchMode (kako naj objekt prilagodi višino glede
na dolžino besedila) na smActualHeight
 WordWrap (prelivanje besedila v novo vrstico) na
True.

Pasu bSerialNo obkljukamo lastnost Stretched (ali naj se višina


pasu prilagodi višini objektov v njem).

19
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

5. Delo z objekti

5.1. Skrivanje objektov

Objekte skrijemo tako, da jim v priročnem meniju skrijemo kljukico pri lastnosti Visible. Če ima tako
nastavitev pas, se skrijejo tudi vsi objekti na njem.

Primer

V našem primeru bomo poskušali skriti želeni objekt. V ta namen odpremo izpis 241 – Račun v
oblikovalniku izpisov in ga shranimo z novim imenom Moj_racun. Zapustimo oblikovalnik in okno s
predogledom izpisa. Izpis ponovno odpremo v oblikovalniku izpisov.

20
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Označimo objekt »Slika našega podjetja« ter kliknemo z desnim gumbom na miški. Iz priročnega
menija izberemo lastnost Visible in odstranimo kljukico).
Shranimo spremembe in si izpis ogledamo v predogledu. Opazili bomo lahko, da objekta ne vidimo v
predogledu – ohrani pa se rezerviran prostor za objekt.

Pas lahko skrijemo tudi tako, da dopišemo vrstico kode. Pas z imenom bTehPostopek na
izpisu 241 skrijemo tako, da dopišemo vrstico, označeno s krepko pisavo. Obvezno jo moramo napisati
kot zadnjo pred end; v proceduro z istim imenom. Ležeče označeni besedi se morata ujemati.
procedure bTehPostopekOnBeforePrint(Sender: TfrxComponent);
begin
CallQRBeforeBandPrint(Sender, TfrxBand(sender).visible);
bTehPostopek.visible :=
VarToStr(<tbIzpisPrometPoz."MSTEMPTEHPOSTOPEK">) = 'T';
bTehPostopek.visible := False;
end;

5.2. Brisanje objektov

Objekte na izpisih lahko izbrišemo. Vendar imajo nekateri objekti tudi programsko kodo na izpisu, ki
določa njihove lastnosti. Če izbrišemo tak objekt, moramo pobrisati tudi vso programsko kodo, ki se
nanaša nanj. Če tak objekt prestavimo v drug pas, moramo tja prestaviti tudi pripadajočo kodo. V
nasprotnem primeru se pojavi okno s takšnim sporočilom o napaki (kot prikazuje slika).

21
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Primer

Primer 1
Oglejmo si primer skrivanja objektov na izpisu, ki imajo v ozadju programsko kodo. Delali bomo na
našem novem izpisu, ki ga najprej odpremo v oblikovalniku izpisov. Označimo črto pod nazivom
dokumenta. Ime objekta, ki ga bomo izbrisali, je mTitle2, kar si lahko ogledamo tudi v oknu Object
Inspector (kot prikazuje slika).

To je tudi ime, na katerega je vezana programska koda. Pred izbrisom si jo lahko tudi na zavihku
Code ogledate oziroma poiščete preko kombinacije tipk Ctrl+F.

22
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Ko smo si ogledali kodo, ki se sklicuje na naš objekt, se vrnemo na zavihek Page ter črto označimo ter
izbrišemo s tipko Delete. Izpis shranimo in ga ponovno zaženemo kar iz urejevalnika. To naredimo
tako, da v glavnem meniju izberemo File|Preview. Program nas postavi na zavihek Code in javi
napako na sliki, da bi jo popravili.

Sporočilo nam pove, da FastReport v kodi ne najde objekta z imenom mTitle2. Seveda ga ne more
najti, ker smo ga izbrisali in ga ni več. V kodi izbrišemo naslednjo vrstico.
mTitle2.Width := mTitle1.CalcWidth + fKljuc.CalcWidth - 8;
Vrnemo se na zavihek Page1 in shranimo spremembe ter si ogledamo izpis v predogledu.

Odpiranje izpisa iz urejevalnika izpisov se uporablja samo za pregled oblike izpisa, ker ne
zagotavlja, da so podatki vedno pravilni.

Če mislimo, da bomo kodo morda še kdaj potrebovali, jo lahko samo »zakomentiramo«. To


pomeni, da so je koda še vedno zapisana, le program je ne vidi. To naredimo tako, da na začetek
vrstice dodamo dve poševnici. Zgornja vrstica se zdaj zapiše takole
// mTitle2.Width := mTitle1.CalcWidth + fKljuc.CalcWidth - 8;

Primer 2

Objekta s podatki o podjetju, na vašem izpisu Moj_Račun z imenoma mDokumentA in


mDokumentB poskusimo izbrisati. Pred izbrisom se prepričajmo ali imata objekta v ozadju
programsko kodo.

23
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Ugotovimo lahko naslednje:


Če izbrišemo objekt mDokumentB, moramo pobrisati naslednjo kodo:
mDokumentB.Text := <tbParameter."ACCOMPANYPRTTEXTB">;
mDokumentA.Width := dlValueInRange(mDokumentA.CalcWidth,
mDokumentA.Width, 11 * fr1cm);

Če izbrišemo še objekt mDokumentA, moramo pobrisati še naslednjo kodo:


mDokumentA.Text := <tbParameter."ACCOMPANYPRTTEXTA">;
mDokumentA.Width := dlValueInRange(mDokumentA.CalcWidth,
mDokumentA.Width, 11 * fr1cm);

Primer 3

Poglejmo si, kako izbrišemo pas DetailFooter2, na katerem je zapisana opomba na dokumentu.
Pred začetkom si zapomnimo, kateri pas je bil pred njim in kateri za njim. V našem primeru je prejšnji
pas DetailFooter, naslednji pa bIzjavaTekst. Najbolj enostavno je, da izpis shranimo in bomo
potem zaporedje pasov gledali na kopiji. Pas izbrišemo in shranimo izpis.

Če pasu ne izbrišemo, ampak izbrišemo samo kodo za vidnost, bo tam, kjer bi morala biti
opomba na izpisu, prazen prostor.
Izpis zaženemo iz urejevalnika. Program nas postavi na zavihek Code in javi podobno napako kot v
prejšnjem primeru. Ko izbrišemo vrstico
DetailFooter2.visible := VarToStr(<qReportIzpisD."acNote">) <> '';
se bo izpis sicer odprl, vendar se podatki v nadaljevanju izpisa ne bodo prikazovali. Da se bodo ti
podatki ponovno prikazovali, kliknemo na pas bNacinPlacI in odpremo okno Object Inspector.
Lastnosti Child priredimo ime pasu, ki je bilo prej za pasom, ki smo ga pravkar izbrisali. V našem
primeru je to pas bIzjavaTekst. Potem bo program spet prikazoval podatke na koncu izpisa tako kot
je potrebno.

24
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

5.3. Vrivanje stolpca

V tabeli na izpisu bomo skupen popust zamenjali z rabatom 1 in rabatom 2. V stolpec, kjer je bil prej
skupen popust, bomo izpisali rabat 1, desno od njega pa bomo vrinili stolpec z rabatom 2. Spodaj je
izpis pred spremembo in po njej.

Najprej označimo vse objekte v pasovih QRBand1 in Detail. To naredimo tako, da držimo tipko Ctrl,
kliknemo z miško na napis »Ident« in jo povlečemo proti desni in navzdol. Potem v oknu Object
Inspector lastnosti Align in opredelimo vrednost baNone, da objekti ne bodo vezani na druge.
Tekstovna objekta z besedilom »R.%« in s poljem s podatkom pod njim premaknemo malo v levo.
Potem ju kopiramo in prilepimo desno od njiju. Tekstovnim objektom z besedili »Količina«, »EM« in
obema objektoma z besedilom »R. %« spremenimo lastnost Align na baRight, tako da so poravnani
na desno. Objekt z besedilom »Naziv« poravnamo na obe strani, To naredimo tako, da spremenimo
lastnost Align na baWidth. Enako naredimo še z objekti s podatki v spodnji vrstici.
Kopirani objekt v glavi tabele se izpiše nad črto, tako da ta ni vidna v celoti. To popravimo tako, da s
klikom z miško označimo ta objekt in iz priročnega menija izberemo SendToBack. Sedaj se bo črta
narisala nad njim in bo vidna v celoti.
Objekte s podatki poravnamo po višini. To naredimo tako, da označimo vse objekte v pasu Detail in

kliknemo na gumb v orodni vrstici za poravnave.


Spremenimo besedilo v obeh objektih, v katerih je vpisano besedilo »R. %«.
V objektih s podatki o rabatu iz spustnega menija izberemo polji s podatki anRebate1 za rabat1 in
anRebate2 za rabat2.
Pojasnilo: Za ident na sliki so vpisani popusti rabat 1 50 %, rabat 2 20 % in superrabat 0 %. Rabati se
v tem primeru množijo, zato je skupen rabat manjši od vsote posameznih rabatov.

25
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

5.4. Zamenjava vrste pasov

Primer preoblikovanja naslova izpisa v glavo strani


Obračuni imajo praviloma samo ReportTitle (naslov izpisa), dokumenti pa samo pas PageHeader
(glavo strani). Večkrat pa bi si želeli, da bi imeli drugega od obeh pasov. Želeni pas sicer lahko damo
na izpis, vendar se vanj ne bodo polnili podatki iz programske kode (kot prikazuje slika).

Oglejmo si primer postopka, ki ga morate uporabiti npr. za izpis 164 in je uporaben za vse izpise, ki
imajo naslov izpisa, nimajo pa glave strani.
Odprite izpis 164, ki je v programu v meniju Blago | Obračun izdanih računov | Obračun računov in
razlike v ceni in ga v oblikovalniku shranite pod novim imenom Obračun_računov_vaja.
ReportTitle preoblikujemo v PageHeader po naslednjem postopku:

1. Naslov izpisa z imenom Title v oknu Object Inspector preimenujemo v Title1.

2. Dodamo PageHeader in ga poimenujemo Title.

3. V oknu Object Inspector (ob tem, ko je seveda pas PageHeader še vedno označen) izberemo
zavihek Events (dogodki, vezani na objekte) ter v polju OnBeforePrint dvokliknemo. V polje se
zapiše ustrezen dogodek TitleOnBeforePrint, ki določa, da se bodo podatki v pas z naslovom Title
polnili iz programa (kot prikazuje slika).

26
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

4. Problem pa nastane, ker sta v kodi sedaj zapisani dve proceduri z imenom TitleOnBeforePrint.
Prazno moramo izbrisati.

5. V PageHeader (glavo strani) prenesemo komponente iz naslova izpisa in pasu ReportTitle


zmanjšamo višino na 0. V predogledu lahko že opazimo naš rezultat. Objekti v glavi se sedaj
izpisujejo na vsaki strani izpisa.

27
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Vaja

Postopek je opisan za izpis 226 - Prevzemnica, ki je v programu v meniju Blago | Prevzem |


Dokument (npr. 1000 – Nakup blaga in materiala) in je uporaben za vse izpise, ki imajo glavo strani,
nimajo pa naslova izpisa.
Glavo strani preoblikujemo v pravi naslov izpisa po naslednjem postopku:
1. Glavo strani preimenujemo v Master1.
2. Dodamo naslov izpisa in ga poimenujemo Master.
3. V nadzorniku objektov dvokliknemo na dogodek MasterOnBeforePrint.
4. V zavihku s kodo dobimo poleg že obstoječega dogodka MasterOnBeforePrint še enega
praznega. Praznega pobrišemo.
5. V naslov izpisa prenesemo komponente iz glave strani.

Primer preoblikovanja glave strani v naslov izpisa

Postopek je opisan za izpis 226 - Prevzemnica in je uporaben za vse izpise, ki imajo glavo strani.
PageHeader (glavo strani) preoblikujemo v ReportTitle (naslov izpisa). To pomeni, da se bodo
podatki, ki bi se načeloma izpisovali na vsaki strani, izpisovali samo na prvi strani. To storimo tako, da
dopišemo na zavihku Code vrstico, natisnjeno s krepko pisavo

procedure MasterOnBeforePrint(Sender: TfrxComponent);


begin
CallQRBeforeBandPrint(Sender, TfrxBand(sender).visible);
Master.Visible := <Page#> = 1;
end;

Glava dokumenta ima zdaj enake lastnosti kot naslov strani. Če hočemo zdaj imeti pravo glavo strani,
moramo k temu pasu dodati pas tipa Child. Glava dokumentov na carinskih skladiščih, ki imajo ležečo
usmeritev papirja, zavzema veliko prostora. Ker se pričakuje, da jo bomo tiskali samo na prvi strani,
ima zgornjo vrstico že vpisano.

Samo na dokumentih na izdaji blaga, naročilih kupcev in POS-u lahko objekte poljubno
prenašamo med naslovom izpisa z imenom Title in glavo strani z imenom Master.

28
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Vaja

Preoblikujte izpis 012, ki je v programu v meniju Blago | Carinska skladišča | Prevzem tako, da
se bo glava dokumenta izpisala na vsaki strani.

Primer zapisa istega podatka, ki se polni v programski kodi, v


več objektov na izpisu

Vsak podatek, ki se polne na izpis v programski kodi, se polni samo v en objekt s točno določenim
imenom na točno določen pas npr. fVrednost, fPopust,…. Včasih pa bi radi imeli ta podatek zapisan
na več mestih na izpisu.
Kot primer vzemimo, da hočemo imeti referenta na izpisu 241, ki je v programu v meniju Blago |
Izdaja, zapisanega v naslovu strani (PageHeader) in nogi strani (PageFooter).
Ravnamo po naslednjem postopku:
1. Objekt s podatkom o referentu fReferent kopiramo v PageFooter in ga preimenujemo v
Referent. To storimo tako, da objekt označimo, preko menija View | Toolbars odpremo
Object Inspector. V oknu, v lastnost Name vpišemo navedeno ime.
2. Izberemo zavihek Code ter v kodo dopišemo (kot kaže slika)

Shranimo spremembe in si ogledamo izpis v predogledu.

Vaja

Preoblikujte izpis 241 tako, da bo prva stran ostala nespremenjena, na vseh naslednjih pa bodo na
vrhu številka računa in podatki o podjetju iz administratorske konzole.

29
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

6. Izrazi

V objektih za besedilo lahko pišemo »navadno« besedilo in izraze. Izrazi imajo podobno vlogo kot v
Excelu.
Lastnosti izrazov:
 Vrednost izrazov se določi šele ko se izpis zažene. Izraze pišemo v oglatih oklepajih.
 V izrazih lahko uporabljamo podatke iz tabel in poizvedb, spremenljivke in funkcije.
 V enem objektu lahko pišemo navadno besedilo in izraze. Pišemo lahko z malimi ali
velikimi črkami.
 Polja v tabelah in poizvedbah pišemo v obliki <tabela."polje">. Če imamo znotraj izraza
samo eno polje, znaka < in > nista potrebna.

Primeri oblikovanja izrazov

Primer 1
V našem primeru odpremo izpis 3A0, ki je v programu na Izpisih personalne mape in ga shranimo pod
drugim imenom npr. Izrazi. Čeprav lahko polja in funkcije prenašamo na izpis tako, da jih povlečemo z
Data Tree (drevesa podatkov), jih bomo tu pisali neposredno v objekt. Da bi to lahko naredili, moramo
na objekt dvoklikniti. Odpre se nam pogovorno okno, v katerem urejamo besedilo.

1) V pasu MasterData izbrišemo polje acWorker ter namesto njega dodamo tekstovno polje in vanj
napišemo [<qryDelavec."acName">]. Izpiše se ime delavca.
Če izbrišemo oglata oklepaja: qryDelavec."acName", se bo izpisalo to besedilo!
2) Imenu delavca dodamo še njegov priimek:
[<qryDelavec."acName">][<qryDelavec."acSurname">]
3) Dodamo še presledek med imenom in priimkom:

30
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

[<qryDelavec."acName">] [<qryDelavec."acSurname">]
4) V pas MasterData združite polja Pošta, Kraj in Telefon tako, da bodo imela sledečo obliko: Neka
cesta 10, 2000 MARIBOR. Ustrezno popravite tudi labele v pasu Header, da bo namesto label Pošta,
Kraj, Telefon samo ena, v kateri bo napisano: »Naslov«.

5) Priimek in ime hočemo imeti v novem objektu zapisan z veliko začetnico (v tem izpisu je privzeto
ime in priimek zapisan z velikimi črkami), zato s pomočjo Data Tree (drevesa s podatki), z zavihka
Functions, povlečemo funkcijo NameCase, ki besedilo zapiše z velikimi začetnicami (lahko pa
vpišemo ime funkcije tudi ročno). V oklepaj zapišemo ime polja tako, da skupaj napišemo
[NameCase(<qryDelavec."acName">)] [NameCase(<qryDelavec."acSurname">)].
Če izraz napišemo brez znakov < in >, program javi napako!

6) Ulico v zgornjem, že postavljenem objektu, hočemo imeti zapisano z velikimi začetnicami. V


pogovornem oknu za urejanje besedila dodamo funkcijo NameCase tako, da napišemo
[NameCase(<qryDelavec."acStreet">)]. Ostalo besedilo pustimo nespremenjeno.

Primer 2
Odprite izpis 164, ki je v programu v meniju Blago | Obračun izdanih računov | Obračun
računov in razlike v ceni in ga shranite z drugim imenom.
Za vsak ident lahko poleg osnovne merske enote izberemo še alternativno. Na primer: Pivo lahko
prodajamo po steklenicah ali zabojih s po 20 steklenicami.
1) Na novi izpis dodajte v pas MasterData objekt za izpis količine v alternativni merski enoti. Za
besedilo napišemo [<qReportIzpis."anQty">/<qReportIzpis."anUMToUM2">]. Besedilo še
poravnamo in formatiramo. Pri tem moramo paziti, da objektom, pred oz. za katere bomo dodajali
nove in jim bomo torej prilagajali lego in velikost, dodelimo lastnost Align: baNone.
2) V pas Header dodamo še objekt z naslovom stolpca za količino v alternativni merski enoti.
3) Dodamo objekt, ki bo izpisoval vrednost DDV:
[<qReportIzpis."anPrice">*<qReportIzpis."anVAT">/100]
Še nekaj več…
V primeru, da vnesemo za razmerje količin v obeh merskih enotah vrednost 0, kar je sicer nesmiselno,
dobimo sporočilo o deljenju z 0. Da bi se zavarovali pred takimi napakami, lahko vedno za deljenje
dveh števil uporabimo posebno funkcijo dlDiv, ki preverja deljenje z 0. V tem primeru zapišemo
[dlDiv(<qReportIzpis."anQty">, <qReportIzpis."anUMToUM2">)]

31
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

7. Agregatne funkcije

Agregatne funkcije so poznane že iz Excela:


 SUM – vsota
 AVG – povprečje
 MAX – največja vrednost
 MIN – najmanjša vrednost
 COUNT – število zapisov

Najlažje jih dobimo tako, da z orodne vrstice z objekti prenesemo na delovno površino objekt s
sistemskim tekstom . Odpre se pogovorno okno na spodnji sliki.

32
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Okno za vnos sistemskih spremenljivk in agregatnih funkcij


Izberemo Aggregate value in v spustnih menijih ter potrditvenih poljih izberemo želene vrednosti.
Kliknemo na OK za zapiranje okna. Izberemo:
 Funkcijo (Function)
 Pas (Data band), na katerega se nanaša funkcija,
 Tabelo ali poizvedbo (DataSet), ki je običajno isti kot lastnost DataSet izbranega pasu
 Polje v tabeli ali poizvedbi (DataField), ki ga hočemo imeti za argument funkcije. Pri funkciji
COUNT je ta lastnost brez pomena.
 Ali naj upošteva podatke tudi, če je pas skrit (Count invisible bands). Ta možnost pride v
poštev npr. pri izpisu zaloge, če nas zanimajo samo skupne količine.
 Kumulativna vsota (running total). Ta lastnost določa, ali naj se količine (vsote) prenesejo v
naslednjo grupo.

Tu lahko izberemo tudi sistemske spremenljivke, vendar niso na voljo vse. Bolj enostavno je, da jih
povlečemo z Data Tree (drevesa s podatki), kar smo že spoznali.

33
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Primeri uporabe agregatne funkcije

Za osnovo ponovno uporabimo izpis 164 in ustvarimo kopijo, na kateri bomo delali. Na izpisu
pobrišemo vsebino pasov GroupHeader (glava skupine) in GroupFooter (noga skupine), saj bomo v
glavi skupine spremenili grupiranje, ki se bodo zdaj grupirali po identu, v nogo skupine pa dodali
izračun, ki ga bomo ustvarili na osnovi uporabe agregatnih funkcij npr. Count. Izračunali bomo število
zapisov v posamezni grupi in skupaj.
Za grupiranje po identu moramo v glavi skupine spremeniti lastnosti grupe Condition (pogoj za
grupiranje) na acIdent. Lastnost grupe Condition dosežemo z dvoklikom na pasu GroupHeader.
Ravno tako moramo v Šifrantu izpisov za naš izpis v polju Razvrščanje definirati razvrščanje po
identu tako, da v polje vnesemo P.acIdent.

Pri tem moramo vedeti, da je polj, ki se imenujemo acIdent, več in moramo torej FastReportu
povedati, odkod naj jemlje podatke. Izvorna tabela za naš primer je P, za izvorne vire izpisov v vašem
Pantheonu pa vam svetujemo, da se posvetujete z vašim podpornikom.

Rezultat

34
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Vaje

Vaja 1
 V nogo skupine v prejšnjem izpisu dodajte prikaz povprečne cene v posamezni grupi.
 V pas ReportSummary dodajte polje za prikaz skupnega povprečja.

Vaja 2
Uporabimo isti izpis kot v prejšnjem primeru kot osnovo in ga shranimo pod novim imenom.
Izpis grupiramo po kupcu:
 Iz GroupHeader izbrišemo trenutno grupiranje in ga nadomestimo z grupiranjem
po kupcu
 Spremenimo razvrščanje v šifrantu izpisov
 dodamo labelo »Kupec« in polje
počistimo trenutno vsebino GroupFooter in:
 dodamo napis »Skupaj vrednost nakupa kupec«
 z uporabo agregatne funkcije SUM izpišemo vrednost nakupa posameznega
kupca

Še nekaj več…
V primeru, da izpisu napačno priredimo sortiranje (v oknu Oblike izpisov), se nam ob odpiranju izpisa
pojavi sporočilo, podobno spodnjemu, ki pove, da je polj v poizvedbi, ki se imenujemo acIdent, več.

Ko kliknemo na puščico, vidimo VIR, iz katerih tabel so podatki v naši poizvedbi. Ko bomo
ugotovili vir in ga dodali k polju (v šifrantu izpisov), kot smo videli v enem izmed prejšnjih izpisov npr.
P.acIdent, bo izpis ob zagonu deloval.

35
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

36
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

8. Posebni objekti

8.1. Črtna koda

Odpremo izpis 02A, ki je v programu v meniju Nastavitve | Identi, kliknemo na gumb Izpisi
(Šifranta) ter v oknu Izpis identov odpremo želeni izpis ter ga shranimo z novim imenom.

Z orodne vrstice z objekti dodamo na izpis v pas MasterData objekt s črtno kodo . Odpre se nam
spodnje pogovorno okno.

Okno za nastavitev lastnosti črtne kode


Izberemo vrednosti na sliki. Če ne vemo, kateri tip kode naj izberemo, izberemo tip kode Code128A,
ker se lahko bere s čitalcem črtne kode.

37
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Objekt še postavimo na želeno mesto in raztegnemo. Opredelimo mu lastnosti DataField in DataSet


(kot prikazuje slika). Vedno izberemo poizvedbo, ki je določena za pas, na katerem leži objekt, in polje
iz iste poizvedbe.

8.2. Slika identa iz šifranta identov

Na izpis damo komponento za prikaz slike in ji v oknu Object Inspector nastavimo lastnost DataSet
(podatkovni vir) na qMSIzpisSif in lastnost DataField (podatkovno polje) na acPicture.

38
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

9. Pogojno barvanje

S pogojnim barvanjem lahko v izpisih poudarimo vrednosti v določenih objektih, seveda pod
določenimi pogoji, ki jih mi definiramo. V nadaljevanju si bomo ogledali zanimive primere, ki nam bodo
pomagali razumeti področje pogojnega barvanja.

Primeri uporabe pogojnega barvanja

Primer 1

Odprimo izpis 164 – Obračun izdanih računov, ki je v programu v meniju Blago | Obračun računov |
Obračun izdanih računov in razlike v ceni in ustvarimo varnostno kopijo. Izpis odprimo v
oblikovalniku izpisov. Na izpisu bomo vse vrednosti (polje Vrednost), večje od 1000 €, izpisali z rdečo
barvo na rumenem ozadju.

Izberemo objekt s poljem acValue in izberimo gumb na orodni vrstici za oblikovanje besedila.
Odpre se nam pogovorno okno na sliki

39
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Pogovorno okno za pogojno barvanje kode


Za pogoj v polje Condition napišemo <qReportIzpis."acValue"> > 1000. Izberemo še barvo
pisave (Font) in ozadja (Background)
Shranimo izpis in si ga ogledamo v predogledu. Rezultat prikazuje spodnja slika.

Primer 2

V vseh sodih vrsticah vrstice v pasu MasterData bomo naziv identa izpisali s krepko modro
pisavo.

Objekt označimo, izberemo gumb ter v oknu Highlight kot pogoj vpišemo
<Line#> mod 2 = 0
<Line#> predstavlja številko zapisa v tabeli, mod pa funkcijo modulo – ostanek pri deljenju.

40
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Primer 3

Če hočemo, da se podatki o identih, ki imajo vrednost manjšo ali enako 1000 €, ne izpišejo, ni dovolj,
da besedilo izpišemo z belo barvo, ker tako dobimo prazne vrstice, ampak moramo na zavihku Code
napisati vrstico kode, ki je označena s krepko pisavo
procedure DetailOnBeforePrint(Sender: TfrxComponent);
begin
CallQRBeforeBandPrint(Sender, TfrxBand(sender).visible);
Detail.visible := <qReportIzpis."acValue"> > 1000;
end;

41
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

10. Izdelava izpisa od


začetka

Naredili bomo izpis, podoben izpisu 183, ki je v programu v meniju Blago | Obračun prejetih
računov.
Odpremo izpis 183 in ga shranimo pod novim imenom. Odpremo novi izpis in v orodni vrstici
kliknemo na gumb za nov izpis in na delovni površini. Prikaže se izpis na sliki.

Izpis iz predloge
Izpis shranimo in zapremo oblikovalnik.

42
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

10.1. Dodajanje tabel in poizvedb na izpis

Za prikaz podatkov na izpisu moramo dodati tabele oz. poizvedbe. Odpremo meni Report | Data...
in odpre se okno za izbiro tabel oz. poizvedb, v katerem izberemo želene tabele oz. poizvedbe.

Okno za izbiro tabel oz. poizvedb

Izberemo poizvedbi tbParameter in tbPrometObracunPreRacDet.


Oblikujemo naslov izpisa:
črno pasica: poravnava levo, črno barva ozadja, pisava: Arial, krepka, velikosti 8, bela barva, glavni
naslov: poravnava levo, višina 0,35 mm.
Višino lahko nastavimo tako natančno, kot nam omogoča ločljivost mreže. Če hočemo izbrati vmesno
vrednost, jo moramo vpisati v nadzorniku objektov, v tem primeru spremenimo lastnost Top.
Dodamo podatke o podjetju:
Z drevesa s podatki povlečemo polji tbParameter."ACCOMPANYPRTTEXTA" in
tbParameter."ACCOMPANYPRTTEXTB". Prvemu določimo naslednje lastnosti: poravnava objekta na
desno, besedila na levo, pisava 8, drugemu pa: poravnava objekta na desno pod prvo polje, besedila
na levo, pisava 6 krepko
Pasu MasterData priredimo dataset tbPrometObracunPreRacDet.
Na izpis dodamo pas Header in ga povlečemo nad MasterData.
Na drevesu s podatki na zavihku Data spodaj označimo lastnost Create caption.
Z drevesa s podatki v pas MasterData povlečemo polja acKey, adDateVAT,acIssuer, acIdent, acName
in tbPrometObracunPreRacDet."anQty" iz poizvedbe tbPrometObracunPreRacDet.
Skupaj s polji se prenesejo tudi naslovi polj. Naslove prenesemo v GroupHeader.
Izpis shranimo in zapremo. Potem ga poženemo in preverimo format podatkov. Številke morajo biti
poravnane na desno rob in pravilno formatirane. Datum mora biti zaradi poravnave vedno v formatu

43
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

dd.mm.yyyy. Ker želimo, da se številka dokumenta izpiše s črticami, jo moramo napisati kot
argument funkcije dlGetKeyViewFromKey:
[dlGetKeyViewFromKey(<tbPrometObracunPreRacDet."acKey">)]
Polja poravnamo in izberemo tako pisavo, da se bodo podatki ravno še lepo videli.
Poljem v tabeli nastavimo lastnosti AutoWidth na False in WordWrap na False,
Naslove stolpcev poravnamo natančno nad polja s podatki, jim določimo enako pisavo, le da izberemo
krepko pisavo in sivo barvo objekta (clSilver).
Dodamo pas ReportSummary. Vanj dodamo tekstovni objekt, v katerega napišemo "Skupaj" in
sistemsko polje z vsoto polja anQty.
Dodamo pas GroupHeader in mu določimo vrednost DataField na
tbPrometObracunPreRacDet."acDocType"
Na ta pas damo tekstovni objekt z napisom "Vrsta dokumenta" in z drevesa s podatki dodamo polje
tbPrometObracunPreRacDet."PoslDogN".
Dodamo pas GroupFooter, na katerega damo tekstovni objekt z napisom "Skupaj Vrsta dokumenta" in
sistemsko polje z vsoto polja anQty.
Dodamo pas PageFooter, v katerega damo sistemsko spremenljivko Page#.
Podatke grupiramo najprej po dobavitelju, potem po identu, na koncu pa še po vrsti dokumenta. Na
koncu sortiramo še po številki dokumenta.
Dodamo ustrezne pasove, napišemo ustrezne podatke v GroupHeaderje in funkcije v GroupFooterje
ter določimo razvrščanje v šifrantu izpisov.

44
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

11. Uvoz in izvoz izpisov

Izpise lahko izvozimo ali uvozimo v podatkovno bazo. Uvažamo in izvažamo jih v šifrantu izpisov.

Kliknemo na gumb in iz menija izberemo Naloži z diska za uvoz oz. Shrani na disk za izvoz
izpisov.

11.1. Uvoz izpisov


Ko zaženemo uvoz izpisov, se nam odpre spodnje pogovorno okno

Okno za uvoz izpisov iz datoteke

Označimo Prekrivanje, če želimo brezpogojno prepisati obstoječe izpise, če imajo isto šifro
kot izpisi, ki jih uvažamo. V tem primeru izgubimo obstoječe izpise, ki imajo iste številke kot tisti, ki jih
uvažamo.

Kliknemo na gumb , da se odpre pogovorno okno, v katerem izberemo datoteko, iz katere bomo
uvozili enega ali več izpisov. Ko smo izbrali datoteko, kliknemo na gumb Uvozi.

45
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)

Če ima izpis, ki ga uvažamo, enako šifro kot eden od izpisov, ki so že v bazi, se prikaže izpis na sliki.
Na voljo imamo 3 možnosti:
 S klikom na gumb Yes prepišemo obstoječi izpis.
 S klikom na gumb No shranimo izpis pod novim imenom.
 S klikom na križec v desnem zgornjem kotu okna prekličemo operacijo.

11.2. Izvoz izpisov


Ko zaženemo izvoz izpisov, se nam odpre spodnje pogovorno okno

Okno za izvoz izpisov iz datoteke


V spustnem meniju izberemo šifro izpisa. Vpisujemo lahko tudi v vnosno polje. Uporabljamo lahko tudi
nadomestne znake. Ko izberemo izpis, kliknemo v vnosno polje za ime datoteke, kamor se vpiše ime
datoteke, ki je enako šifri izpisa. Ime lahko zamenjamo v tem oknu ali kliknemo na gumb , da se
odpre pogovorno okno za izbiro datoteke. Ko izberemo šifro izpisa in ime datoteke, kliknemo na gumb
Izvozi.
Izbiramo lahko tudi po tipu izpisa, ki ga izberemo na enak način kot šifro izpisa.

46

You might also like