DCRBON ;AFDRUKKEN REMBOURSBONS [ 06/10/2003 10:30 AM ] ; ; Het afdrukken van een remboursbon kan met volgende oproep --> Do PRINT^DCRBON(BONNr) ; CALC(Bedrag,FromMunt,ToMunt) Set:FromMunt'=ToMunt Bedrag=$$MUNT^vhRtn1(FromMunt,5,Bedrag_"#1",,ToMunt) Quit Bedrag ; FN(Number,Fraction,Format) Quit $$FN^DCALG(Number,Fraction,$G(Format)) ; PASTEB(R,AddBlank) New NewPage Set NewPage="Do FOOTER^"_$ZN_",TITEL^"_$ZN_",HEADER^"_$ZN Do PASTEB^DCALG(R,NewPage,$G(AddBlank)) Quit ; BLOCK(R) Do BLOCK^DCALG(R) Quit ; CACHE(R) Do CACHE^DCALG(R) Quit ; PASTE(Page,Line,Text,BPos,EPos,Attr) Do PASTE^DCALG(Page,Line,Text,BPos,EPos,Attr) Quit ; ; Afdruk body BODY New KlantInd,R,T,Allign,Goederen,Basis,Port,KontKrt,%KontKrt,Btw,BtwTeBet,TeBet,Munt,MaxLen,ExtrBedr New Aanspr,Naam,Toenaam,Straat,PostNr,Woonpl,Land,LandMunt,TeBetInf,LevAdr Set KlantInd=^KK1(KLNr),R=^KKL(KlantInd,0),BtwTeBet=$P(R,D,15),%KontKrt=$P(R,D,17),LevAdr=0 If +$G(^KUL(KLNr,"F",BONNr,3)) Set R=^KUL(KLNr,"F",BONNr,3),LevAdr=1 Set Naam=$P(R,D,2),Toenaam=$P(R,D,3),Aanspr=$P(R,D,4) Set Straat=$P(R,D,5),PostNr=$P(R,D,6),Woonpl=$P(R,D,7) Set Land=$$LAND^vhRtn1($P(R,D,8)),LandMunt=$$LANDMUNT^KLANT(Land) Set R=$$BON^REMBOURS(BONNr) Set TeBet=$P(R,D),Goederen=$P(R,D,2),KontKrt=$P(R,D,3),Btw=$P(R,D,4),Port=$P(R,D,5),ExtrBedr=$P(R,D,6),Munt=$P(R,D,7) If TeBet'>0 Kill C Quit Set TeBetInf=$$CALC(TeBet,Munt,$S(Munt="EUR":LandMunt,1:"EUR")) Set Goederen=$J(Goederen,0,2),R=$J(Goederen-Port,0,2),R=$L(R) Set Port=$J(Port,0,2) Set:R<$L(Port) R=$L(Port) Set KontKrt=$J(KontKrt,0,2) Set:R<$L(KontKrt) R=$L(KontKrt) Set Btw=$J(Btw,0,2) Set:R<$L(Btw) R=$L(Btw) Set TeBet=$J(TeBet,0,2) Set:R<$L(TeBet) R=$L(TeBet) Set TeBetInf=$J(TeBetInf,0,2) Set:R<$L(TeBetInf) R=$L(TeBetInf) Set:R<$L(TeBetInf) R=$L(TeBetInf) Set R=$$FN($TR($J("",R-3)," ",1),2),MaxLen=$L(R) For I=1:1:3 Do CACHE("") Set T=$$TXT("Gel")_" : ",Allign=$L(T)+2 Set:'LevAdr T=T_$$FIRMANM^DCALG("K",KLNr) Set:LevAdr T=T_$$FIRMANM^DCALG(,,Naam,Aanspr,Land) If KLNr=8545,$L(T),$L(Toenaam) Set R=T,T=Toenaam,Toenaam=R Do CACHE(""),PASTE(PCount,LCount,T,2,"","") If '$L(Toenaam) Do .Do CACHE(""),PASTE(PCount,LCount,Straat,Allign,"","") .Do CACHE(""),PASTE(PCount,LCount,PostNr_" "_Woonpl,Allign,"","") .If Land'="BE" Do CACHE(""),PASTE(PCount,LCount,$$LAND^vhRtn1(Land,2,Taal),Allign,"","") If $L(Toenaam) Do .Do CACHE(""),PASTE(PCount,LCount,Toenaam,Allign,"","") .Do CACHE(""),PASTE(PCount,LCount,Straat,Allign,"","") .Do CACHE(""),PASTE(PCount,LCount,PostNr_" "_Woonpl,Allign,"","") .If Land'="BE" Do CACHE(""),PASTE(PCount,LCount,$$LAND^vhRtn1(Land,2,Taal),Allign,"","") For I=1:1:6 Do CACHE("") Set T=$$TXT("TOntv")_" ",Allign=$L(T)+2 Do PASTE(PCount,LCount,T,2,"","") Set T=$$FN(TeBet,2)_Munt Do PASTE(PCount,LCount,T,"",Allign+MaxLen+$L(Munt),"B") Quit ; ; Afdruk titel (eerste blad) FTITEL New BonDat,R,T,Blank Set PCount=PCount+1,LCount=0 Set R=^KUL(KLNr,"F",BONNr,1),BonDat=$TR($P(R,D,2),".","-") For Blank=1:1:21 Do CACHE("") Set R=$C(27)_"[@"_$C(4)_$C(0)_$C(0)_$C(0)_$C(18)_$C(2)_$C(27)_":" Set T=R_$$TXT($S('IsRemb:"Ontv",1:"Remb")) Set T=T_$C(18)_$C(27)_"[@"_$C(4)_$C(0)_$C(0)_$C(0)_$C(17)_$C(1) Do PASTE(PCount,Blank-10,T,10,"","B") Set T=$$TXT("Date")_" "_$TR(DT,".","-") Do PASTE(PCount,Blank-8,T,10,"","") Do:IsRemb .Set T=$$TXT("Betr")_" : "_$$TXT("LevBon")_" "_$TR($FN(BONNr,","),",",".")_" "_$$TXT("Van")_" "_BonDat .Do PASTE(PCount,Blank-3,T,2,"","") Set T=$$TXT("Bovic") Do PASTE(PCount,Blank-1,T,2,"","") Quit ; LFOOTER For I=LCount+1:1:MaxLines-22 Do CACHE("") Set T=$$TXT("Dank") Do CACHE(""),PASTE(PCount,LCount,T,2,"","") For I=1:1:6 Do CACHE("") Set T="Van Hoecke NV" ; $$TXT("Hendr") Do PASTE(PCount,LCount,T,2,"","") Quit ; ; Opbouwen local C en afdrukken van de bon PRINT(BONNr,Init) New KLNr,KlantInd,Taal,BonTyp,IsRemb New C,V,PCount,LCount If '$G(Init) Do INIT Set PCount=0,V=9 Set R=^KU1(BONNr,"F"),KLNr=$P(R,D),IsRemb=$$ISREMB^REMBOURS(KLNr) Set KlantInd=^KK1(KLNr),R=^KKL(KlantInd,0) Set Taal=$P(R,D,9) If Taal="" Set Taal="N" Do FTITEL,BODY If $D(C) Do LFOOTER,DPRINT^DCPRINT() Quit ; ; Initialisatie INIT If '$D(P) Do PINIT^DCINIT If '$D(BtwVoet) For I=0:1:9 I $D(^KBA(18,I)) Set BtwVoet(I)=$P(^KBA(18,I),D) If '$D(PageLen)!'$D(V) Do FINIT^DCINIT("R") Write P("D",1) Quit ; ; Ophalen taalafhankelijke tekst TXT(Ref,Piece) If '$D(Piece) Set Piece=2 Quit $P($P($T(@("T"_Ref)),U,Piece),D,$F("NFDE",Taal)-1) ; TRemb ;REMBOURS\REMBOURS\REMBOURS\REMBOURS TOntv ;TE ONTVANGEN\TE ONTVANGEN\TE ONTVANGEN\TE ONTVANGEN TDate ;Datum\Date\Datum\Date TBetr ;Betreft\Betreft\Betreft\Betreft TLevBon ;Leveringsbon\Leveringsbon\Leveringsbon\Leveringsbon TVan ;van\van\van\van TBovic ;Aan de chauffeurs\Aan de chauffeurs\Aan de chauffeurs\Aan de chauffeurs TGel ;Gelieve bij\Gelieve bij\Gelieve bij\Gelieve bij TTOntv ;een bedrag te ontvangen t.b.v.\een bedrag te ontvangen t.b.v.\een bedrag te ontvangen t.b.v.\een bedrag te ontvangen t.b.v. TSamG ;samengesteld als volgt\samengesteld als volgt\samengesteld als volgt\samengesteld al volgt TGoed ;Goederen\Marchand.\Waren\Goods TPort ;Port\Port\Porto\Postage TKortK ;Bet. Korting\Esc au compt\Rabat zahl\Bet. Korting TBtw ;BTW\TVA\MWST\VAT TDank ;Dank bij voorbaat,\Dank bij voorbaat,\Dank bij voorbaat,\Dank bij voorbaat, TInform ;Informatief\Informatif\Informativ\Informative