#Include BL.Derde.Kennis.AutoRes DCBON ;AFDRUKKEN LEVERINGSBONS [ 11/18/2003 2:05 PM ] ; ; Het afdrukken van een bon kan met volgende oproep ; --> Do PRINT^DCBON(BONNr,,,,SelPrint) ; SelPrint = 0 of '$D (geen printerkeuze, printer reeds gedefinieerd) ; = 1 (met printerkeuze) ; = 2 (met automatische printerselectie "Bon") ; VERWERK(FromNr,Sessie) New BONNr Do INIT Set BONNr=$S(FromNr:FromNr-1,1:FromNr) For Set BONNr=$O(^HULP($J,"P",Sessie,BONNr)) Quit:BONNr="" Do PRINT(BONNr,$S(Sessie="X":"K",1:Sessie),1) Quit ; 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,OLNr,PRNr,ORDNr,OrdDat,OrdRef,Paste,OrgalRef,GloRef If IsOrgal Do .Do CACHE(L("B","B")) .Set T=$$TXT("Orgal") .Do PASTE(PCount,LCount,T,3,"","B") Set GloRef="^KUL(KLNr,FakSoort,BONNr)" Xecute:$L($T(@("SORT"_KLNr))) "Set GloRef=$$SORT"_KLNr_"(KLNr,BONNr)" ; Speciale sort voor bepaalde klanten Set (HalProd,GlasProd)=0 Set BCount=0 Set OLNr=100 For Set OLNr=$O(@GloRef@(OLNr)) Quit:OLNr="" Do .If 'OLNr,$L(OLNr,"~")'=3 Quit .Set R=@GloRef@(OLNr),PRNr=$P(R,D,2) .Do:PRNr ..If 'HalProd,$D(^KPR(PRNr,"J6332")) Set HalProd=1 ..If 'GlasProd,"\KAD\GLA\PRF\"[(D_$P($$GENTYP^HAD(PRNr),D)_D) Set GlasProd=1 .Set Paste=$$BON^DCDETAIL(BONNr,$S(OLNr:OLNr,1:$P(OLNr,"~",3)),IsOrgal,FakSoort) .If Paste Do PASTEB(L("B","B"),1) If $D(B) Do PASTEB(L("B","B"),1) Kill ^HULP($J,"SORT","B",BONNr) Quit ; ; Afdruk orderreferentie ORDREF(ORDNr,OrdRef,OrgalRef) Set R=$$TXT("Order")_" "_$$FN(ORDNr,0) If $L(OrdRef) Set R=R_"- "_OrdRef Set R=P("U",1)_R_P("U",0)_$J("",48-$L(R))_"`5`44`C" Do BLOCK(R) Do:$L(OrgalRef) .Set OrgalRef=$S(IsOrgal:"",1:"Comm: ")_OrgalRef,R=OrgalRef_$J("",48-$L(OrgalRef))_"`5`44`C" .Do BLOCK(R) Do BLOCK("") 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("Art") Do PASTE(PCount,LCount,T,3,"","") Set T=$$TXT("Aant") Do PASTE(PCount,LCount,T,"",62,"") Set T=$$TXT("Saldo") Do PASTE(PCount,LCount,T,"",77,"") If $D(L("B","S")) Do CACHE(L("B","S")) Quit ; ; Afdruk titel (volgende blazijden) TITEL New BonDat,KlantInd,R,T,Blank,Titel,Allign,VPerfo New Aanspr,Naam,Woonpl,Land,Beloofd,LevAdr Do PPRINT Set PCount=PCount+1,(LCount,LevAdr)=0 If $G(%Fax),$G(%FaxNr) Set LCount=$$FLINES^vhFAX("LOGO_ORD") Set R=^KUL(KLNr,FakSoort,BONNr,1),BonDat=$TR($P(R,D,2),".","-") Set Beloofd=$S($L($P(R,D,16)):$S($P(R,D,23)="N":"N",1:$S('$P(R,D,36):"B",1:"")),1:"") Set KlantInd=^KK1(KLNr),R=^KKL(KlantInd,0) If +$G(^KUL(KLNr,FakSoort,BONNr,3)) Set R=^KUL(KLNr,FakSoort,BONNr,3),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($S($E(BonTyp)="M":"Monst",$E(BonTyp)="L":"LevBon",1:"RetBon")) Set Allign=$L(Titel) Set T=$$TXT("Date") Set:$L(T)>Allign Allign=$L(T) Do PASTE(PCount,Blank,T,2,"","") Do PASTE(PCount,Blank,BonDat,Allign+4,"","") Set T=Titel_$J("",Allign-$L(Titel)+2)_$TR($FN(BONNr,","),",",".") Set:$L(Beloofd) T=T_" "_Beloofd If $G(%Fax),$G(%FaxNr) Set T=" "_T_" " Do PASTE(PCount,Blank-1,T,2-$G(%Fax),"","B") If PCount>1 Do .Set T=$$TXT("Vervg")_" ("_(PCount-1)_")" .Do PASTE(PCount,Blank,T,"",79,"") Quit ; ; Afdruk titel (eerste blad) FTITEL New BonDat,KlantInd,R,T,Blank,Titel,Allign,BetVw,TCount,MPBon,Beloofd,VPerfo,CDigit New Aanspr,Naam,Toenaam,Straat,PostNr,Woonpl,Land,BtwNr,Telefoon,LevAdr,IsKSCust,KlantID Set PCount=PCount+1,(LCount,LevAdr)=0,CDigit=$$CalcCDigit6^vhRtn2(BONNr) If $G(%Fax),$G(%FaxNr) Set LCount=$$FLINES^vhFAX("LOGO_ORD") Set R=^KUL(KLNr,FakSoort,BONNr,1),BonDat=$TR($P(R,D,2),".","-") Set Beloofd=$S($L($P(R,D,16)):$S($P(R,D,23)="N":"N",1:$S('$P(R,D,36):"B",1:"")),1:""),MPBon=$P(R,D,25) If MPBon'="M",MPBon'="P" Set MPBon=0 Else Set MPBon=1 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(^KUL(KLNr,FakSoort,BONNr,3)) Set R=^KUL(KLNr,FakSoort,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)) #dim KlantID As DOM.VKP.VanHoeckeKlantID = ##class(DOM.DomeinContext).Instance().GeefLegacyPartijAPI().GeefKlantPartijID(KLNr) #dim IsKSCust As %Boolean = '(##class(DOM.DomeinContext).Instance().GeefKlantTypeAPI().IsIndustriePoolKlant(KlantID)) Do VHPB^DCALG(PCount,.Blank) If 'MPBon Do .If IsRemb Set T=$$TXT($S(IsRemb=1:"Ontv",1:"Remb")) Do PASTE(PCount,1,T,39,"","B") .If KLNr=11708,IsOrgal Quit .If 'IsRemb,BetVw="" Set T=$$TXT("Kont") Do PASTE(PCount,1,T,39,"","B") Do PASTE(PCount,AdresPos-6,Telefoon_" /"_$P("I\K",D,IsKSCust+1),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($S($E(BonTyp)="M":"Monst",$E(BonTyp)="L":"LevBon",1:"RetBon")) Set Allign=$L(Titel) Set T=$$TXT("Date") Set:$L(T)>Allign Allign=$L(T) Do PASTE(PCount,Blank-1,T,2,"","") Do PASTE(PCount,Blank-1,BonDat,Allign+4,"","") Set TCount=2 If ProfFakt Set T="("_$$TXT($S(ProfFakt=1:"ProfF",1:"ProfFV"))_")" Do PASTE(PCount,Blank-TCount,T,2,"","") Set TCount=TCount+1,T=Titel_$J("",Allign-$L(Titel)+2)_$TR($FN(BONNr,","),",",".")_"."_CDigit Set:$L(Beloofd) T=T_" "_Beloofd If $G(%Fax),$G(%FaxNr) Set T=" "_T_" " Do PASTE(PCount,Blank-TCount,T,2-$G(%Fax),"","B") If $E(BonTyp,2,9)["L" Do .Set T=$$TXT("LevBon"),TCount=TCount+1 .If $G(%Fax),$G(%FaxNr) Set T=" "_T_" " .Do PASTE(PCount,Blank-TCount,T,2-$G(%Fax),"","B") If $E(BonTyp,2,9)["T" Do .Set T=$$TXT("RetBon"),TCount=TCount+1 .If $G(%Fax),$G(%FaxNr) Set T=" "_T_" " .Do PASTE(PCount,Blank-TCount,T,2-$G(%Fax),"","B") If KLNr=11708,IsOrgal Else 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,"",79,"") ;Set C(PCount,LCount)=P("D",1)_C(PCount,LCount); Bidirectioneel afgezet Quit ; ; Afdruk afsluiting (laatste blad) LFOOTER New LAL Set LAL=L("A","L") If KLNr=11708,IsOrgal Set $E(LAL,50)=$C(135),$E(LAL,65)=$C(135) Do CACHE(LAL) Quit ; RECUPVP New RVPPRNr,Saldo,SaldoOp,AantalGeleverd,SortKey,VPerfo If $D(^KUL(KLNr,FakSoort,BONNr,"VP")) 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("RVPGel") .Do PASTER(T,"",62+VPerfo) .Set T=$$TXT("RVPSal") .Do PASTER(T,"",77+VPerfo) .Do BLOCK(R_"`1"),BLOCK(L("R","S")_"`1") .Set RVPPRNr="" .For Set RVPPRNr=$O(^KUL(KLNr,FakSoort,BONNr,"VP",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=^KUL(KLNr,FakSoort,BONNr,"VP",RVPPRNr) ..Set Saldo=$P(R,D),SaldoOp=$P(R,D,2),AantalGeleverd=$P(R,D,3) ..Set:KLNr=4628 Saldo=-Saldo ..Set R=^KPR(RVPPRNr,0),KortTxt=$P(R,D) ..Set R=L("R","B") ..Do PASTER(KortTxt,4,""),PASTER($$FMTDT^vhLib.DataTypes(SaldoOp,"DK4"),31+VPerfo,"") ..Do PASTER($$EXTNUM^vhLib.DataTypes(AantalGeleverd,0,".",0),"",62+VPerfo) ..Do PASTER($$EXTNUM^vhLib.DataTypes(Saldo,0,".",0),"",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,VerzWijz,BedrPort,Naam,Land,Gewicht,Munt,Pariteit,FaktAan,Opmerk,LTemp,VPerfoT,VerpTyp,VerpTxt Set VPerfoT=VPerfo New VPerfo Set BCount=0 If 'IsBlum,'IsOrgal Do RECUPVP ; Niet voor Blum of Orgalux Set R=^KUL(KLNr,FakSoort,BONNr,1),VerzWijz=$P($P(R,D,7),"#",2),BedrPort=$P($P(R,D,13),"#") Set Gewicht=$P($P(R,D,13),"#",3),Munt=$P(R,D,18) Set:Munt="" Munt=$$FADEF^vhRtn1() Set VerpTyp=$P(R,D,30),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) Set FaktAan="" If +$G(^KUL(KLNr,FakSoort,BONNr,3)) Set FaktAan=Naam,Naam=$P(^KUL(KLNr,FakSoort,BONNr,3),D,2) If Land'="BE",'ProfFakt 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("") If $L(FaktAan),FaktAan'=Naam Set T=$$TXT("FakAan")_" "_FaktAan Do BLOCK(T),BLOCK("") ;Faktuur aan Do MEMO^DCALG("L") Set T="" For I=1:1:5 Do ; Tekst op bon .If $G(^KBA(156,Taal,I))="" Quit .Set T=^KBA(156,Taal,I) .Do BLOCK(T_"`3") If $L(T) Do BLOCK("") If BedrPort!Gewicht!IsRemb Do .Set T="" .If BedrPort!Gewicht Set Gewicht=$$FN(Gewicht,1),T=Gewicht_"kg" .If IsRemb Set:$L(T) T=T_D Set T=T_$$TXT($S(IsRemb=1:"Ontv",1:"Remb"))_"`38``B" .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(^KUL(KLNr,FakSoort,BONNr,"VP"))!IsOrgal!IsBlum Do CACHE(L("V","F")) If 'IsBlum,'IsOrgal,$D(^KUL(KLNr,FakSoort,BONNr,"VP")) Do CACHE(L("R","F")) ;Set C(PCount,LCount)=P("D",1)_C(PCount,LCount); Bidirectioneel afgezet Do PASTEB(L("V","B")) Quit ; Afdruk van de voorwaarden - via proxy objects - Added by WimV on 12/05/2005 VOORWPROXY(KLNr,BONNr,Cache,Taal) ; Cache als .local doorgeven --> wordt opgevuld met teksten #define KLRec(%i) ^KKL(KLID,%i) New KLID,Rec,R,i,Land Set KLID=^KK1(KLNr) Set:($G(Taal)="") Taal=$P(^KKL(KLID,0),"\",9) Set:(Taal="") Taal="N" Set Land=$$LAND^vhRtn1($P(^KKL(KLID,0),"\",8)) ;Set FactSoort="F" ;Set Rec=$G(^KUL(KLNr,FactSoort,BONNr,1)) ; Memo Do MEMOPROXY^DCALG("L",Taal,.Cache) Quit ; ; Afdruk van de kennisankers - via proxy objects KENANKPROXY(KLNr,BONNr,Cache) ; Cache als .local doorgeven --> wordt opgevuld met teksten New i,R,lbKenAnk,KenAnk,KennisObject,Msg,Wrap,Lijn,varErrStr Set lbKenAnk=##class(BL.Derde.Kennis.Kennis).GetIDsToPopup(KLNr,.varErrStr,$LB($$$adLeveringsbon),,"PRINT",,,1) Do:$LL(lbKenAnk) ; Er zijn kennisankers . For i=$LL(lbKenAnk):-1:1 Do . . Set KenAnk=($LI(lbKenAnk,i)) . . Set KennisObject=##class(Derde.Kennis.Kennis).%OpenId(KenAnk) . . Quit:'$IsObject(KennisObject) . . Set Msg=KennisObject.Msg . . Set Cache("KENNISANKER",$O(Cache("KENNISANKER",""),-1)+1)=Msg Quit ; ; Bontype bepalen BONTYPE New R,OLNr Set OLNr=100,ProfFakt="" Set R=^KUL(KLNr,FakSoort,BONNr,1),BonTyp=$P(R,D,25) If "\M\P\"[(D_BonTyp_D) Set ProfFakt=1 Set:$P(R,D,29)["P" ProfFakt=2 Set:BonTyp'="M" BonTyp="" For Set OLNr=$O(^KUL(KLNr,FakSoort,BONNr,OLNr)) Quit:'OLNr Do Quit:BonTyp["L"&(BonTyp["T") .Set R=^KUL(KLNr,FakSoort,BONNr,OLNr) .If '$L($P(R,D,3)),'$L($P(R,D,6)),'$L($P(R,D,9)) Quit .If $P($P(R,D,17),"#")="KF1925",$P($P(R,D,17),"#",2)="CK" Quit .Set R=$S($P(R,D,3):$P(R,D,3),1:$P(R,D,9)) .If R'<0,BonTyp'["L" Set BonTyp=BonTyp_"L" .If R<0,BonTyp'["T" Set BonTyp=BonTyp_"T" If $E(BonTyp)="T",$E(BonTyp,2,9)["L" Set BonTyp=$TR(BonTyp,"L","T"),$E(BonTyp)="L" Quit ; ; Remboursbon afdrukken REMBOURS If FakSoort'="F" Set IsRemb=0 ; Geen remboursbon indien reeds gefactureerd Else Set IsRemb=$$ISREMB^REMBOURS(KLNr,BONNr) Set:IsRemb IsRemb=IsRemb+$$ISREMB^REMBOURS(KLNr) If IsRemb Do PRINT^DCRBON(BONNr,1) Quit ; ; Afdrukken van de tekst "Sticker op verpakking kleven" PlakSticker(BONNr) New R,KLNr,BLNr,PlakSticker,Aktiviteit Set KLNr=$P(^KU1(BONNr,"F"),D),BLNr=100 Set Aktiviteit=$P(^KKL(^KK1(KLNr),1),D,11) Do:Aktiviteit'="HANDEL" . For Set BLNr=$O(^KUL(KLNr,"F",BONNr,BLNr)) Quit:'BLNr Do Quit:PlakSticker . . Set R=^KUL(KLNr,"F",BONNr,BLNr),PRNr=$P(R,D,2) . . Set PlakSticker="\344617\344618\344619\246070\6818\"[(D_PRNr_D) Quit $G(PlakSticker) ; ; Afdrukken van een bladzijde PPRINT Do PPRINT^DCPRINT(PCount) Kill C(PCount) Quit ; ; Opbouwen local C en afdrukken van de bon PRINT(BONNr,Sessie,Init,MetFax,SelPrint,BMOBon,FakSoort,User) New KLNr,KlantInd,Taal,BonTyp,Netto,ProfFakt,IsRemb,DeurBon,Optie,HalProd,GlasProd,RecuPak New C,PCount,LCount,IsOrgal,IsBlum,PlakSticker Set SelPrint=$G(SelPrint),FakSoort=$G(FakSoort,"F"),BMOBon=$G(BMOBon,"BMO") If 0'[SelPrint Do SELPRINT^DCPRINT(SelPrint) Quit:'$D(Print) If '$G(Init) Do INIT If FakSoort="F",'$G(MetFax),$$ISTERUGN^FLOWBON5(BONNr) Do KLACHT(BONNr) ; Enkel indien niet gefactureerd Set (Netto,PCount)=0 Set R=^KU1(BONNr,"F"),KLNr=$P(R,D),IsBlum=KLNr=4628 Set KlantInd=^KK1(KLNr),R=^KKL(KlantInd,0) If +$G(^KUL(KLNr,FakSoort,BONNr,3)) Set R=^KUL(KLNr,FakSoort,BONNr,3) Set Taal=$P(R,D,9) If Taal="" Set Taal="N" Do:FakSoort="F" RecuPak^FLOWBON(BONNr) ; Enkel indien niet gefactureerd Set RecuPak=$D(^KUL(KLNr,FakSoort,BONNr,"VP"))&(KLNr'=4628) Do REMBOURS Do BONTYPE Set IsOrgal=$$ISORGAL^FLOW("L",BONNr) Set PlakSticker=$$PlakSticker(BONNr) Do PRINT^LOG("UL",BONNr,$S($G(MetFax):"F",1:"P"),.User) Do:BMOBon["B" . Do FTITEL,HEADER,BODY . If KLNr=11708,IsOrgal . Else Do VOORW . Do LFOOTER,PPRINT If $G(MetFax) Set Data("Pages")=$G(Data("Pages"))+PCount Else If IsOrgal,BMOBon["O" Do PRINT^DCOBON(BONNr,$G(Sessie,"K"),1) If 0'[SelPrint Do CLOSE^vhPRINTER Kill ^KUB(BONNr,"F") Quit ; ; Initialisatie INIT If '$D(VH) Do VH^DCINIT If '$D(P) Do PINIT^DCINIT If '$D(L) Do LINIT^DCINIT("L"),LINIT^DCINIT("M"),LINIT^DCINIT("G") 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("L") Write P("D",1) Quit ; KLACHT(BONNr) New R,KLNr,KlachtId,TmpPrint Merge TmpPrint=Print New Print Set R=^KU1(BONNr,"F"),KLNr=$P(R,D),KlachtId="" For Set KlachtId=$O(^KlachtI("B",BONNr,KlachtId)) Quit:KlachtId="" Do .Quit:^KlachtI("B",BONNr,KlachtId)'="R" .Set R=^KlachtD(KlachtId) .Quit:$P(R,D)'="K" Quit:$P(R,D,2)'=KLNr .Do:";"_$P(R,D,20)_";"[";TN;" ..Kill Print ..Merge Print=TmpPrint ..Do PRINT^KLACHT(KlachtId,,"W",.Print) 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) ; SORT23112(KLNr,BONNr) quit $$SORT1239(KLNr,BONNr) SORT1239(KLNr,BONNr) New R,OLNr,KlOLNr,TempKlOL,GroepCnt,SortKey,TextBlock Kill ^HULP($J,"SORT","B",BONNr) Set OLNr=100,GroepCnt=$A("A"),(TempKlOL,TextBlock)="" For Set OLNr=$O(^KUL(KLNr,FakSoort,BONNr,OLNr)) Quit:'OLNr Do .Set R=^KUL(KLNr,FakSoort,BONNr,OLNr) .Set KlOLNr=$P(R,D,35) Set:$P(R,D,17)="KF5" GroepCnt=GroepCnt+1 .Do:KlOLNr="" ..If $P($P(R,D,17),"#")="KF11" Set:TextBlock="" TextBlock=$P($P(R,D,18),";") ..Else If $P(R,D,17)="KF5" Set KlOLNr=" " ..Else If $P($P(R,D,17),"#")="KF1925" Set KlOLNr=TempKlOL .Set $P(KlOLNr,".")=$J($P(KlOLNr,"."),3) .Set SortKey=$C(GroepCnt)_"~"_KlOLNr_"~"_OLNr,^HULP($J,"SORT","B",BONNr,SortKey)=R .Set TempKlOL=KlOLNr .If $P($P(R,D,17),"#")="KF11",TextBlock'=$P($P(R,D,18),";") Set GroepCnt=GroepCnt+1 Quit "^HULP($J,""SORT"",""B"",BONNr)" ; TLevBon ;LEVERINGSBON\BON DE LIVRAISON\LIEFERSCHEIN\DELIVERY NOTE TRetBon ;TERUGNAMEBON\BON DE RETOUR\GUTSCHEIN\RETURN NOTE TMonst ;MONSTER\ECHANTILLON\MUSTER\MONSTER TContr ;Afname van contract\Prise du contrat\Afname van contract\Afname van contract 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 TAant ;Aantal\Quant.\Menge\Quant. TSaldo ;Saldo\Reste\Rest\Remain TOrder ;O/order\N/ordre\U/auftr\O/order TKlRef ;Uw ref\Votre ref\Ihre ref\Uw ref TProjRef ;Ref\Ref\Ref\Ref TWaarde ;Waarde\Valeur\Wert\Value TLever ;Levering\Livraison\Lieferung\Delivery TRemb ;REMBOURS\REMBOURSEMENT\RUCKZAHLUNG\REIMBURSEMENT TOntv ;TE ONTVANGEN\A ENCAISSER\ZU EMPFANGEN\TO RECEIVE TKont ;KONTANT\AU COMPTANT\KONTANT\KONTANT TFakAan ;Faktuur aan\Facture a\Anrechnen\Invoice to TProfF ;Proforma\Proforma\Proforma\Proforma TProfFV ;Proforma volgt\Proforma suit\Proforma volgt\Proforma volgt TOrgal ;ORGALUX\ORGALUX\ORGALUX\ORGALUX TVerpak ;Verpakking\Emballage\Verpackung\Packing 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 TAantEcoPak ;stuk\stuk\stuk\stuk TAantEcoPaks ;stuks\stuks\stuks\stuks