ALIS

Software pro veřejnou správu

Vzdálená pomoc
27. 2. 2004

Stránkování sestavy, tečkový příkaz .PL

Problém: Stránkování sestav.

Pokud se na začátku sestavy generuje tečkový příkaz .PL xy a nevíme proč nebo ho tam nechceme, tak to znamená, že jsme něco někde špatně nastavili. Nebo prostě tiskárna špatně stránkuje. Pokud chceme zjistit co a kde, je nejlepší si trochu zopakovat, jak to při generování sestavy chodí se stránkováním. Platí:

  • Pokud je v hlavičce deklarace sestavy (kapitola R) uvedeno .PAGESIZE:=60 znamená, to, že fyzická délka stránky pro tuto sestavu má být 60 řádků. Generuje tečkový příkaz .PL 60 pro nastavení fyzické délky stránky.
  • Pokud není použito výše uvedené nastavení v hlavičce deklarace sestavy, použije generátor reportu implicitní hodnotu fyzické délky stránky, která se vypočítá takto:
    fyz.délka = logická stránky + ukončení
    logická dálka stránky = FANDINST, konstanty, Logicka delka
    ukonceni = FANDINST, konstanty, ukonceni strany

Dále je dobré pečlivě odlišovat logickou délku stránky od fyzické délky stránky. S logickou délkou tránky FAND pracuje, podle ní generátor sestavy generuje znaky pro odstránkování, patičky, hlavičky,... to jest jak vypadá soubor PRINTER.TXT.

S fyzickou délkou stránky FAND (generátor sestavy), nepracuje, vlastně ji jenom předá k vyslání do tiskárny - pomocí ESC sekvence (FANDINST, tiskarny, delka stranky,..) Přičemž hodnotu fyzické délky stránky 72 považuje FAND za standardní a nepředává ji = negeneruje tečkový příkaz .PL 72.

Pro ostatní hodnoty fyz. délky stránky se .PL xx generuje.

Za zmínku dále stojí to, že pokud tisknete na volné listu papíru, vejde se na ně většinou tak 62-64 řádků. To znamená, že nastavení konstant ve FANDINST by mělo být následující:
Logická délka : 64
ukončení stránky : 8

Protože 64+8=72, a FAND negeneruje tečk příkaz .PL, který je nutný jen při tisku na speciální druhy papíru, např. složenky. Běžný papír A4 je standardní, není nutno měnit pro něj fyzickou délku stránky. Kromě toho některé tiskárny při vyslání ESC sekvence pro změnu fyz. délky poněkud "zblbnout".

Při tisku na leporelo (nekonečný papír s perforací) většinou potřebujeme, aby po ukončení tisku tiskárna vysunula papír tak, aby jsme ho mohli pohodlně odtrhnout a bez další manipulace s papírem tisknout další sestavy. Základem je v tomto případě nastavení fyzické délky stránky podle perforace. Pro formát A4 to je 72 řádků na stránku. Takto je standardně nastaven FANDINST při distribuci (69 + 3 = 72). Jen speciální druhy sestav (papíru) mají jinou délku stránky, např. poštovní složenky, adresní štítky, ... . I v těchto případech je ale nejlepší ponechat nastavení odpovídajících konstant ve FANDISNTu pro běžný formát tisku a speciální stránkování některých sestav řešit příkazem
.pagelimit:=xy
.pagesize:=yz