Professional Documents
Culture Documents
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.
»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
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.
4
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
2. Posebnosti izpisov v
Pantheonu 5.5
5
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
6
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
3. Nastavitve za izpise v
administratorski konzoli
7
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
8
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
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)
10
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
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)
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.
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.
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:
14
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
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
15
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
Za primer bomo pogledali sestavo izpisa 241, ki je v programu v meniju Blago | Izdaja.
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.
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)
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
19
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
5. Delo z objekti
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;
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.
Primer 2
23
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
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)
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
25
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
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:
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.
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 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
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.
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)
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.
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!
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
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)
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)
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
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.
37
Datalab PANTHEON 5.5 | Učno gradivo Fast Report (Izpisi v Pantheonu 5.5 – prvi del)
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.
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)
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)
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)
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.
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)
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.
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.
46