Skript za fakture

Skript za fakture se najcesce menja, pa kod toga posebno pazite. Tu postoji nekoliko vaznih stvari:<br /> <br /> - Ranije je na pocetku skripta bilo obavezno da se &quot;izracunaju&quot; sve promenljive za prikazivanje:<br /> <br /> %COMMAND a := Faktura()<br /> %COMMAND pv := s := Faktura (a, &quot;N_PV&quot;)<br /> %COMMAND r := Faktura (a, &quot;N_R&quot;)<br /> ...<br /> <br /> Sada se ova inicijalizacija obavlja u okviru pripreme za stampu, pa mozete da pobrisete sve ovo.<br /> <br /> - 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.<br /> <br /> - Nemojte u okviru izraza koji se prikazuju da komplikujete - bolje prvo izracunajte sta treba u neku privremenu promenljivu, pa tek onda ispisite sta treba:<br /> <br /> NE VALJA:<br /> %PadL(AllTrim(faktur-&gt;f_idu),4)+&quot;/&quot;+Substr(DtoC(faktur-&gt;f_dat),7,2)%<br /> <br /> TREBA:<br /> %COMMAND m_fak := PadL(AllTrim(faktur-&gt;f_idu),4)<br /> %COMMAND m_god := Substr(DtoC(faktur-&gt;f_dat),7,2)<br /> %m_fak% / %m_god%<br /> <br /> Uzgred, ovo zadnje je bolje kao Right(DtoC(Faktur-&gt;f_dat),2)<br /> <br /> <br /> - 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:<br /> <br /> %IF Faktur-&gt;f_alt &lt;&gt; 0<br /> %m_nazivo%<br /> %m_adr1o%<br /> %m_adr2o%<br /> %COMMAND nLine := nLine + 3<br /> %ENDIF<br /> <br /> - Nemojte ovu promenljivu koristiti na drugi nacin, narocito ako je ovako glup:<br /> <br /> %IF da &lt;&gt; 0<br /> %COMMAND nLine := 30<br /> %ELSE<br /> %COMMAND nLine := 28<br /> %ENDIF<br /> <br /> Autor je hteo da smanji broj redova ako treba da se ispise avans, ali to se ne radi tako sto povecavas tekuci broj redova.<br /> <br /> - Provera da li je neki string prazan:<br /> <br /> NE VALJA:<br /> %IF ALLTRIM(artikli-&gt;a_naziv2) &lt;&gt; &quot;&quot;<br /> <br /> TREBA:<br /> %IF Empty(Artikli-&gt;a_naziv2)