DCXBON ;AFDRUKKEN LEVERINGSBONS (samenvatting Orgalux) [ 11/19/2003 2:20 PM ] ; 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 ; PASTER(Value,From,To) Do PASTER^DCALG(Value,From,To) Quit ; ; Afdruk body BODY New B,R,BCount,SortKey,PRNr,Aantal,AantalBO,KortTxt,OLRef,BONNr,EDIBONNr New SortKey,XBONNr,XORDNr,XOLRef,EDIORDNr Set BCount=0,(SortKey,XBONNr,XOLRef)="" For Set SortKey=$O(^HULP(%J,"D",SortKey)) Quit:SortKey="" Do .Set R=^HULP(%J,"D",SortKey),BONNr=$P(R,D),OLRef=$P(R,D,2),PRNr=$P(R,D,3) .Set Aantal=$P(R,D,4),AantalBO=$P(R,D,5),EDIBONNr=$P(R,D,6) .Set R=^KUL(KLNr,"F",BONNr,1),VerzWijz=$P($P(R,D,7),"#",2) .Set Munt=$P(R,D,18) Set:Munt="" Munt=$$FADEF^vhRtn1() .Set R=^KPR(PRNr,0),KortTxt=$P(R,D) .Set R=$S(OLRef=XOLRef:"",1:OLRef_$S($L(EDIBONNr):" - "_EDIBONNr,1:""))_"`5"_D .Set R=R_$S(BONNr=XBONNr:"",1:$$FN(BONNr,0))_"``40"_D_KortTxt_"`43"_D_$$FN(Aantal,0,".")_"``73" .If AantalBO Set R=R_D_"("_$$FN(AantalBO,0,".")_")`74" .If $L(XOLRef),XOLRef'=OLRef Do PASTEB(L("B","B"),1) .Do BLOCK(R) .Set XBONNr=BONNr,XOLRef=OLRef Set (SortKey,XORDNr,XOLRef)="" If $D(B) Do PASTEB(L("B","B"),'$D(^HULP(%J,"O"))) Do:$D(^HULP(%J,"O")) ; Ontbrekende orders .Do:(LCount+3)'>MaxLines CACHE(L("B","S")) .Set T=$$TXT("OntbOrd")_"`3``B" .Do BLOCK(T),BLOCK("") .For Set SortKey=$O(^HULP(%J,"O",SortKey)) Quit:SortKey="" Do ..Set R=^HULP(%J,"O",SortKey),ORDNr=$P(R,D),OLRef=$P(R,D,2),PRNr=$P(R,D,3) ..Set Aantal=$P(R,D,4),EDIORDNr=$P(R,D,6) ..Set R=^KPR(PRNr,0),KortTxt=$P(R,D) ..Set R=$S(OLRef=XOLRef:"",1:OLRef_$S($L(EDIORDNr):" - "_EDIORDNr,1:""))_"`5"_D ..Set R=R_$S(ORDNr=XORDNr:"",1:$$FN(ORDNr,0))_"``40"_D_KortTxt_"`43"_D_$$FN(Aantal,0,".")_"``73" ..If $L(XOLRef),XOLRef'=OLRef Do PASTEB(L("B","B"),1) ..Do BLOCK(R) ..Set XORDNr=ORDNr,XOLRef=OLRef If $D(B) Do PASTEB(L("B","B"),1) Quit ; ; Opmaken van de gezamelijke recupereerbare verpakking MERGERVP New R,PRNr,SaldoDat Set PRNr="" For Set PRNr=$O(^KUL(KLNr,"F",BONNr,"VP",PRNr)) Quit:PRNr="" Do .Set R=^KUL(KLNr,"F",BONNr,"VP",PRNr) .Set:$P(R,D,2)>$P($G(RecupVp(PRNr)),D,2) RecupVp(PRNr)=R Quit ; ; Afdruk hoofding HEADER New T If $D(VPerfoT) New VPerfo Set VPerfo=VPerfoT Do CACHE(L("B","F")) Do CACHE(L("B","B")) Set T=$$TXT("OLRef") Do PASTE(PCount,LCount,T,5,"","") Set T=$$TXT("Bon") Do PASTE(PCount,LCount,T,"",39,"") Set T=$$TXT("Art") Do PASTE(PCount,LCount,T,43,"","") Set T=$$TXT("Aant") Do PASTE(PCount,LCount,T,"",77,"") If $D(L("B","S")) Do CACHE(L("B","S")) Quit ; ; Afdruk titel (volgende blazijden) TITEL New KlantInd,R,T,Blank,Titel,VPerfo,CoNr New Aanspr,Naam,Woonpl,Land,LevAdr Do PPRINT Set PCount=PCount+1,(LCount,LevAdr)=0 Set CoNr=$G(^HULP(%J,"CO")) Set KlantInd=^KK1(KLNr),R=^KKL(KlantInd,0) If +$G(^HULP(%J,"A")) Set R=^HULP(%J,"A"),LevAdr=1 Set Naam=$P(R,D,2),Aanspr=$P(R,D,4),Woonpl=$P(R,D,7) Set Land=$$LAND^vhRtn1($P(R,D,8)) For Blank=1:1:6 Do CACHE("") Set:'LevAdr T=$$FIRMANM^DCALG("K",KLNr) Set:LevAdr T=$$FIRMANM^DCALG(,,Naam,Aanspr,Land) Do PASTE(PCount,Blank-1,T,43,"","") Do PASTE(PCount,Blank,Woonpl,43,"","") Set Titel=$$TXT("Overz") Set T=$$TXT("Date")_" "_OVZDat Do PASTE(PCount,Blank,T,2,"","") Set T=Titel_$S(CoNr:" "_$$FN(CoNr,0),1:"") Do PASTE(PCount,Blank-1,T,2,"","B") If PCount>1 Do .Set T=$$TXT("Vervg")_" ("_(PCount-1)_")" .Do PASTE(PCount,Blank,T,"",79,"") Quit ; ; Afdruk titel (eerste blad) FTITEL New KlantInd,R,T,Blank,Titel,BetVw,TCount,VPerfo,CoNr New Aanspr,Naam,Toenaam,Straat,PostNr,Woonpl,Land,BtwNr,Telefoon,LevAdr Set PCount=PCount+1,(LCount,LevAdr)=0 Set CoNr=$G(^HULP(%J,"CO")) Set KlantInd=^KK1(KLNr),R=^KKL(KlantInd,0),Telefoon=$P(R,D,13),BtwNr=$$BTWNR^DCALG($P(R,D,16)),BetVw=$P(R,D,18) If +$G(^HULP(%J,"A")) Set R=^HULP(%J,"A"),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)) Do VHPB^DCALG(PCount,.Blank) If BetVw="" Set T=$$TXT("Kont") Do PASTE(PCount,1,T,39,"","B") Do PASTE(PCount,AdresPos-6,Telefoon,51,"","") Set T=$$TXT("TelNr") Do PASTE(PCount,AdresPos-6,T,43,"","") If $L(BtwNr) Do .Do PASTE(PCount,AdresPos-5,BtwNr,51,"","") .Set T=$$TXT("Btw") .Do PASTE(PCount,AdresPos-5,T,43,"","") Set:'LevAdr T=$$FIRMANM^DCALG("K",KLNr) Set:LevAdr T=$$FIRMANM^DCALG(,,Naam,Aanspr,Land) If KLNr=8545,$L(T),$L(Toenaam) Set R=T,T=Toenaam,Toenaam=R Do PASTE(PCount,AdresPos,T,43,"","") If '$L(Toenaam) Do .Do PASTE(PCount,AdresPos+1,Straat,43,"","") .Do PASTE(PCount,AdresPos+3,PostNr_" "_Woonpl,43,"","") .If Land'="BE" Do PASTE(PCount,AdresPos+4,$$LAND^vhRtn1(Land,2,Taal),43,"","") If $L(Toenaam) Do .Do PASTE(PCount,AdresPos+1,Toenaam,43,"","") .Do PASTE(PCount,AdresPos+2,Straat,43,"","") .Do PASTE(PCount,AdresPos+4,PostNr_" "_Woonpl,43,"","") .If Land'="BE" Do PASTE(PCount,AdresPos+5,$$LAND^vhRtn1(Land,2,Taal),43,"","") Set Titel=$$TXT("Overz") Set T=$$TXT("Date")_" "_OVZDat Do PASTE(PCount,Blank-1,T,2,"","") Set TCount=2 Set TCount=TCount+1,T=Titel_$S(CoNr:" "_$$FN(CoNr,0),1:"") Do PASTE(PCount,Blank-TCount,T,2,"","B") Do VHPD^DCALG(PCount,.Blank,.VH) Quit ; ; Afdruk afsluiting (eerste bladzijden) FOOTER ;Set C(PCount,LCount)=C(PCount,LCount)_P("D",0); Bidirectioneel afgezet For I=LCount+1:1:MaxLines-1 Do CACHE(L("B","B")) Do CACHE(L("B","L")) Set T=" "_$$TXT("Vervt")_" " Do PASTE(PCount,LCount,T,"",78,"") ;Set C(PCount,LCount)=P("D",1)_C(PCount,LCount); Bidirectioneel afgezet Quit ; ; Afdruk afsluiting (laatste blad) LFOOTER Do CACHE(L("A","L")) Quit ; RECUPVP New RVPPRNr,Saldo,SaldoOp,AantGel,Fixed,SortKey,VPerfo If $D(RecupVp) Do .Set VPerfo=1 If P("Type")'="CA",P("Type")'="BL" Set VPerfo=2 .Set R=L("R","B") .Set T=$$TXT("RVP") .Do PASTER(T,4,"") .Set T=$$TXT("RVPSOp") .Do PASTER(T,31+VPerfo,"") .Set T=$$TXT("RVPSal") .Do PASTER(T,"",57+VPerfo) .Set T=$$TXT("RVPGel") .Do PASTER(T,"",67+VPerfo) .Set T=$$TXT("RVPTer") .Do PASTER(T,"",77+VPerfo) .Do BLOCK(R_"`1") .Do BLOCK(L("R","S")_"`1") .Set RVPPRNr="" .For Set RVPPRNr=$O(RecupVp(RVPPRNr)) Quit:RVPPRNr="" Do ..Set SortKey=$$SORTKEY^PRODUKT(RVPPRNr),RVPPRNr(SortKey)=RVPPRNr .Set SortKey="" .For Set SortKey=$O(RVPPRNr(SortKey)) Quit:SortKey="" Do ..Set RVPPRNr=RVPPRNr(SortKey),R=RecupVp(RVPPRNr) ..Set Saldo=$P(R,D),SaldoOp=$P(R,D,2),AantGel=$P(R,D,3),Fixed=$P(R,D,4) ..Set R=^KPR(RVPPRNr,0),KortTxt=$P(R,D) ..Set R=L("R","B") ..Do PASTER(KortTxt,4,""),PASTER($$FMTDT^vhDTyp(SaldoOp,"DK4"),31+VPerfo,"") ..Do PASTER($$EXTNUM^vhDTyp(Saldo,0,".",0),"",59) Do:Fixed="?" PASTER(".......","",67+VPerfo) ..Do PASTER($S(AantGel>0:$$EXTNUM^vhDTyp(AantGel,0,".",0)_$S(Fixed="?":Fixed,1:""),1:"......."),"",67+VPerfo) ..Do PASTER($S(AantGel<0:$$EXTNUM^vhDTyp(AantGel,0,"-.",0)_$S(Fixed="?":Fixed,1:""),1:"......."),"",77+VPerfo) ..Do BLOCK(R_"`1") .Do BLOCK(L("R","L")_"`1") Quit ; ; Afdruk van de voorwaarden VOORW New B,I,R,R1,T,BCount,Naam,Land,Pariteit,Opmerk,LTemp,VPerfoT,VerpTxt Set VPerfoT=VPerfo New VPerfo Set BCount=0 Do RECUPVP Set VerpTxt=0 Set KlantInd=^KK1(KLNr),R=^KKL(KlantInd,0),Naam=$P(R,D,2),Land=$$LAND^vhRtn1($P(R,D,8)) Set R=^KKL(KlantInd,5),Opmerk="" For I=3:1:5 If $L($P(R,D,I)) Set:$L(Opmerk) Opmerk=Opmerk_D Set Opmerk=Opmerk_$P(R,D,I) If Land'="BE",Netto Do ; Waarde .Set Pariteit=$$MUNT^vhRtn1(Munt,,12) .Set Netto=$$FN(Netto*Pariteit,$$MUNT^vhRtn1(,4)) .Set T=$$TXT("Waarde") .Set T=T_D_Netto_$$MUNT^vhRtn1(,1)_"`"_($L(T)+4) .Do BLOCK(T),BLOCK("") Set T="" If $L(Opmerk) For I=1:1:$L(Opmerk,D) Do ; Opmerkingen .Set T=$P(Opmerk,D,I) .Do BLOCK(T_"`3") If $L(T) Do BLOCK("") Set T=$$TXT("Lever") ; Verzendwijze Set R=T_"`3``U\:`"_($L(T)+3)_D_VerzWijz_"`"_($L(T)+5) Do BLOCK(R) Do BLOCK("") Set T=$$TXT("Verpak") ; Verpakking For I=1:1:$L(VerpTyp,";") Do .Quit:'$L($P(VerpTyp,";",I)) .Kill R .Set R(1)=$G(^RES("VERPAK","PI","TYPE","D",$P(VerpTyp,";",I),Taal)) .Quit:R(1)="" .Do GETWRAP^vhBIGEDIT("R",76-$L(T),.R,"G","~","") .Set VerpTxt=VerpTxt+1 .Merge VerpTxt(VerpTxt)=R Do:VerpTxt .Set R=T_"`3``U\:`"_($L(T)+3) .For VerpTxt=1:1:VerpTxt Do ..For I=1:1 Quit:'$D(VerpTxt(VerpTxt,I)) Do ...Set:$L(R) R=R_D Set R=R_$P(VerpTxt(VerpTxt,I),"`",5)_"`"_($L(T)+5) ...Do BLOCK(R) ...Set R="" .Do BLOCK("") Do MEMO^DCALG("S") Kill R ; Tekst op bon Set R(1)=^RES("DC","PI","DCSBON","D","ONTVANGST",Taal) Do:$L(R(1)) .Do GETWRAP^vhBIGEDIT("R",76,.R,"G","~","") .For R=1:1:R Set T=$P(R(R),"`",5) Do BLOCK(T) .Do BLOCK("") If BedrPort!Gewicht Do .Set T="" .If BedrPort!Gewicht Set Gewicht=$$FN(Gewicht,1),T=Gewicht_"kg" .Do BLOCK(T),BLOCK("") If B(BCount)="" Kill B(BCount) Set BCount=BCount-1 Set LTemp=L("B","S") If P("Type")="CA"!(P("Type")="BL")!(P("Type")="TK") Kill L("B","S") If LCount+BCount+2>MaxLines Do FOOTER,TITEL,HEADER Set L("B","S")=LTemp ;Set C(PCount,LCount)=C(PCount,LCount)_P("D",0); Bidirectioneel afgezet If P("Type")'="CA",P("Type")'="BL",P("Type")'="TK" For I=LCount+1:1:MaxLines-2-BCount Do CACHE(L("B","B")) If '$D(RecupVp) Do CACHE(L("V","F")) If $D(RecupVp) Do CACHE(L("R","F")) ;Set C(PCount,LCount)=P("D",1)_C(PCount,LCount); Bidirectioneel afgezet Do PASTEB(L("V","B")) Quit ; ; Afdrukken van een bladzijde PPRINT Do PPRINT^DCPRINT(PCount) Kill C(PCount) Quit ; ; Opbouwen local C en afdrukken van de bon PRINT(%J) New KLNr,KlantInd,Taal,Netto,Optie,HalProd,Gewicht,BedrPort,VerpTyp,OVZDat,Document,Orders,SelPrint New C,PCount,LCount,VH,P,L,VerzWijz,Munt,RecupVp Set SelPrint='$D(Print) If SelPrint Do SELPRINT^DCPRINT("?") Quit:'$D(Print) Do INIT Set KLNr=$G(^HULP(%J)) Do:KLNr .Do SORT,ORDERS .Set KlantInd=^KK1(KLNr),R=^KKL(KlantInd,0) .If +$G(^HULP(%J,"A")) Set R=^HULP(%J,"A") .Set Taal=$P(R,D,9) If Taal="" Set Taal="N" .Do FTITEL,HEADER,BODY,VOORW,LFOOTER,PPRINT Do:SelPrint CLOSE^vhPRINTER Kill ^HULP(%J,"B"),^HULP(%J,"D") Quit ; ; Initialisatie INIT New I,R,KLNr,BONNr Set Document="d" Do VH^DCINIT,PINIT^DCINIT,LINIT^DCINIT("d") If '$D(PageLen)!'$D(V) Do FINIT^DCINIT("d") Write P("D",1) Set (Netto,Gewicht,BedrPort,PCount)=0,(VerpTyp,OVZDat)="" Kill ^HULP(%J,"S") For I=1:1 Set R=$G(^HULP(%J,I)) Quit:R="" Do .Quit:'$P(R,D) .Set BONNr=$P(R,D,2) .Quit:'$$ISORGAL^FLOW("L",BONNr) .Set R=^KU1(BONNr,"F"),KLNr=$P(R,D),R=^KUL(KLNr,"F",BONNr,1) .Set BedrPort=BedrPort+$P($P(R,D,13),"#"),Gewicht=Gewicht+$P($P(R,D,13),"#",3) .Set R=$$INTDATE^vhDTyp($P(R,D,2)) Set:RRefDate ..Set SortKey=$$SORTKEY^PRODUKT(PRNr),SortKey=OLRef_ORDNr_SortKey,R=$G(^HULP(%J,"D",SortKey)) ..Set $P(R,D)=ORDNr,$P(R,D,2)=OLRef,$P(R,D,3)=PRNr,$P(R,D,6)=EDIORDNr ..Set $P(R,D,4)=$P(R,D,4)+Aantal ..Set ^HULP(%J,"O",SortKey)=R 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) ; TOverz ;CONSOLIDATIE ORGALUX\CONSOLIDATION ORGALUX\LIEFERSCHEIN ORGALUX\CONSOLIDATION ORGALUX TDate ;Datum\Date\Datum\Date TTelNr ;Tel nr.\No. tel\Tel nr.\Tel nbr TBtw ;BTW nr.\No. TVA\BTW nr.\VAT nbr TVervg ;vervolg\suite\fortsetzung\continue TVervt ;vervolgt\à suivre\fortgesetzt\t.b.continued TArt ;Artikel\Article\Artikel\Article TOLRef ;Referentie\Referentie\Referentie\Referentie TBon ;Bon\Bon\Bon\Bon TAant ;Aantal\Quant.\Menge\Quant. TWaarde ;Waarde\Valeur\Wert\Value TLever ;Levering\Livraison\Lieferung\Delivery TKont ;KONTANT\AU COMPTANT\KONTANT\KONTANT TOntbOrd ;Ontbrekende orders\Ontbrekende orders\Ontbrekende orders\Ontbrekende orders TRVP ;Recupereerbare verpakking\Emballage récupérable\Zurück zu fordern Verpack\Recupereerbare verpakking TRVPSOp ;Saldo op\Solde\Offenstehend am\Saldo op TRVPSal ;Saldo\Solde\Offenst.\Saldo TRVPGel ;Geleverd\Livrée\Gelief.\Geleverd TRVPTer ;Terug\Retour\Zurück\Terug