Skript za fakture Skript za fakture se najcesce menja, pa kod toga posebno pazite. Tu postoji nekoliko vaznih stvari: - Ranije je na pocetku skripta bilo obavezno da se "izracunaju" sve promenljive za prikazivanje: %COMMAND a := Faktura() %COMMAND pv := s := Faktura (a, "N_PV") %COMMAND r := Faktura (a, "N_R") ... Sada se ova inicijalizacija obavlja u okviru pripreme za stampu, pa mozete da pobrisete sve ovo. - Trudite se da skript bude sto jasniji i jednostavniji, jer ce pre ili kasnije neko drugi morati da ga menja. Pisite komentare, a komande koje su viska pobrisite. Na primer, sad nadjoh kod Labe na pocetku COMMAND brojac:=0, a u nastavku se ovo nigde ne koristi. - Nemojte u okviru izraza koji se prikazuju da komplikujete - bolje prvo izracunajte sta treba u neku privremenu promenljivu, pa tek onda ispisite sta treba: NE VALJA: %PadL(AllTrim(faktur->f_idu),4)+"/"+Substr(DtoC(faktur->f_dat),7,2)% TREBA: %COMMAND m_fak := PadL(AllTrim(faktur->f_idu),4) %COMMAND m_god := Substr(DtoC(faktur->f_dat),7,2) %m_fak% / %m_god% Uzgred, ovo zadnje je bolje kao Right(DtoC(Faktur->f_dat),2) - Bitna promenljiva kod preloma strane je nLine. Ona se povecava uvek kada se ispise neki red i tako se uvek zna do koje linije smo dosli. Pri tom treba da uzimate u obzir i IF naredbe: %IF Faktur->f_alt <> 0 %m_nazivo% %m_adr1o% %m_adr2o% %COMMAND nLine := nLine + 3 %ENDIF - Nemojte ovu promenljivu koristiti na drugi nacin, narocito ako je ovako glup: %IF da <> 0 %COMMAND nLine := 30 %ELSE %COMMAND nLine := 28 %ENDIF Autor je hteo da smanji broj redova ako treba da se ispise avans, ali to se ne radi tako sto povecavas tekuci broj redova. - Provera da li je neki string prazan: NE VALJA: %IF ALLTRIM(artikli->a_naziv2) <> "" TREBA: %IF Empty(Artikli->a_naziv2)