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
      [Collapse]Izrada Izvještaja
        Izvještaj objekata
        "Zdravo, Svijete!" Primjer Izvještaja
        Osnovni rad sa objektima
        "Text" objekat
        Prikazivanje izraza uz pomoć "Text" objekta
        Bendovi
        "Lista Predmeta" Izvještaj: Alias-i i Varijable
        "Slika" Objekt
        Protezanje objekata, prekidi stranica i pomjeranje objekata
        Prikazivanje podataka u obliku tabele
        Štampanje etiketa
        Dečije grupe
        Izvještaj sa Dva Nivoa Podataka (Glavni-Detalji)
        Naslovi i Podnožja Data Banda
        Višestrani Izvještaj
      [Expand]Grupacije i Agregati
      [Expand]Oblikovanje ispisa $
      [Expand]Formatiranje i Isticanje
       Ugniježdene Izvještaje (Podizvještaji)
       Specifičnosti ispisa u PANTHEON-u
      [Expand]Scenario
     [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: 750,0029 ms
print   |
Label

Streachable objekti

Produžavanje objekata

Razmotrimo slučaj kada imamo višelinijski tekst različitih dužina. "Tekst" objekat koji prikazuje informacije iz ovog polja ima fiksnu veličinu. Zato se čini da su neki redovi odsečeni. Šta se može učiniti povodom ovoga?

clip0155

Naravno, ili bi veličina objekta mogla biti povećana ili bi veličina fonta mogla biti smanjena. Međutim, to može dovesti do rasipanja prostora na izlaznoj stranici jer neki ribe imaju duge opise, dok drugi imaju kratke. FastReport ima neka svojstva koja nam omogućavaju da rešimo ovaj problem.

Ova svojstva omogućavaju bendu ili objektu da automatski prilagode svoju visinu kako bi stvorili neophodan prostor za dati zapis (red). Da bismo to postigli, samo treba da omogućimo "Stretch" svojstvo i bendu i "Tekst" objektu. Međutim, to nije sve, jer "Tekst" objekat sa dužim tekstom treba da može da se proteže sam, pa ćemo morati da postavimo neka od njegovih drugih svojstava takođe.

"Tekst" objekat može automatski postaviti svoju visinu i širinu kako bi napravio prostor za svoj sadržaj. "AutoWidth" i "StretchMode" se mogu koristiti za ovo. "AutoWidth" omogućava "Tekst" objektu da varira svoju širinu tako da svi redovi naprave prostor bez deljenja reči. Ovaj režim je koristan kada objekat ima jedan red teksta i kada rast udesno neće uticati na druge objekte. "Stretch" svojstvo omogućava visini objekta da raste kako bi se prilagodio tekstu bez promene širine objekta. "Stretch" ima nekoliko režima koji se mogu odabrati u inspektoru objekta:

smDontStretch – ne proteži objekat (podrazumevano)

smActualHeight – proteži objekat tako da napravi prostor za ceo tekst

smMaxHeight – proteži objekat tako da njegova donja ivica dosegne dno benda u kojem se nalazi - na ovaj režim ćemo se osvrnuti kasnije

Ovdje nas zanima "Stretch" svojstvo "Tekst" objekta. Omogućite ga koristeći kontekstni meni objekta ili postavljanjem "StretchMode" na smActualHeight. Takođe omogućite "Stretch" svojstvo benda. Pregledajte izveštaj i uverite se da je sve sada kako se očekuje.

Da bismo prebacili tekst u novi red, koristimo svojstvo "Word Wrap" koje mora biti omogućeno, što je već podrazumevana vrednost. Ovo svojstvo je značajno ako je omogućeno svojstvo "AutoWidth".  

Kao što možete videti, kada se konstruira izveštaj, FastReport popunjava objekte podacima i proteže ih ako je "Stretch" omogućeno. Zatim izračunava visinu benda tako da svaki objekat ima dovoljno prostora. Ako je "Stretch" svojstvo benda onemogućeno, ova prilagodba visine se ne vrši i bend se prikazuje na visini postavljenoj u dizajnu. U ovom slučaju bismo videli da se objekti sa dužim tekstom i dalje protežu, ali bend ne bi, što dovodi do preklapanja teksta, pošto se sledeći bend prikazuje odmah nakon prethodnog.

Prelomi stranica

Kada se izveštaj kreira, FastReport motor popunjava beli prostor stranice sa bendovima. Nakon prikazivanja svakog benda, trenutna pozicija se pomera naniže. Kada FastReport otkrije da nema dovoljno belog prostora da prikaže sledeći bend (njegova visina je veća od preostalog belog prostora na stranici), FastReport kreira novu stranicu i nastavlja sa prikazom benda odatle. Ova sekvenca se nastavlja onoliko puta koliko ima zapisa u skupu podataka.

Nas izveštaj sadrži objekat sa velikim tekstom, zbog čega je visina benda prilično velika. Štaviše, ako veliki bend nema dovoljno mesta na stranici, pomera se na sledeću ostavljajući mnogo neiskorišćenog prostora na dnu stranice, kao što je ovde prikazano:

_img94

Da bismo ograničili rasipanje papira, hajde da koristimo FastReport funkciju koja pravi paragrafe iz sadržaja benda. Sve što treba da uradimo je da omogućimo "AllowSplit" svojstvo benda "Podaci prvog nivoa". Videćete da sada ima manje belog prostora na dnu stranica izveštaja:

_img95

Kako funkcioniše ovo deljenje benda? Postoje neki objekti u FastReport-u koji podržavaju ovu funkciju. To su "Tekst", "Linija" i "RichEdit" objekti. Oni se mogu "podeliti", dok drugi objekti ne mogu. Kada FastReport treba da podeli bend, to čini na sledeći način:

- prikazuje neodeljive objekte koji imaju prostora u belom prostoru

- delimično prikazuje deljive objekte ("Tekst" objekti se prikazuju na način da svi redovi imaju prostora u objektu)

- kreira novu stranicu i nastavlja sa prikazom objekata u bendu

- ako neodeljivi objekat nema prostora u belom prostoru, pomera se na sledeću stranicu; u isto vreme svi objekti koji se nalaze ispod njega se pomeraju kako je potrebno

- proces se nastavlja dok se svi objekti benda potpuno ne prikažu.

Algoritam deljenja će postati jasniji gledajući ovaj primer:

_img96

Treba napomenuti da algoritam deljenja nije savršen i konačni izlaz možda neće biti baš onakav kakav se očekuje. Trebalo bi da koristite ovu opciju vrlo pažljivo u slučajevima kada su objekti na podeljenom bendu grupisani na komplikovan način, i/ili se njihove veličine fonta razlikuju. Evo primera onoga što bi moglo biti generisano:

clip0020

Pomera objekti

Pogledajmo različite režime pomeranja. U tu svrhu koristimo "ShiftMode" svojstvo. Pogledajmo 'smWhenOverlapped'​ režim pomeranja. U ovom režimu pomeranje objekta se dešava kada se objekat iznad proteže i preklapa objekat ispod. Evo dva scenarija:

1: tri gornja objekta imaju "Stretch" omogućeno i tri donja objekta imaju "ShiftMode" postavljeno na 'smAlways'. Donji objekti se pomeraju samo dovoljno da omoguće prostor za protegnuti objekat iznad:

_img115

2: tri gornja objekta imaju "Stretch" omogućeno i tri donja objekta imaju "ShiftMode" postavljeno na 'smWhenOverlapped'. Donji objekti se pomeraju da omoguće prostor za protegnuti objekat i takođe da održe dizajniranu separaciju između dva objekta:

_img116

Ovo omogućava kreiranje komplikovanih izveštaja, posebno kada objekat može preklapati nekoliko drugih objekata iznad njega u isto vreme. U primeru ispod svi gornji objekti sadrže rastezljiv tekst, a svi donji su u 'smWhenOverlapped' režimu. Donji objekti će uvek biti prikazani blizu objekta iznad, bez obzira na dužinu teksta u objektima iznad:

_img117



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