ECFJOB ;e-Commerce [ 11/26/2003 4:35 PM ] ; FETCH(UserId,KLNr) Do OD(UserId,KLNr,"SO") Do OD(UserId,KLNr,"CO") Do DO(UserId,KLNr) Do UL(UserId,KLNr) Do OF(UserId,KLNr) Do VA(UserId,KLNr) Do KR(UserId,KLNr) Do IS(UserId,KLNr) Kill ^EC("NEWKL",UserId,KLNr) Quit ; ; Standaard orders SO(UserId,KLNr) Do OD(UserId,KLNr,"SO") Quit ; ; Contract orders CO(UserId,KLNr) Do OD(UserId,KLNr,"CO") Quit ; ; Orders OD(UserId,KLNr,ScrnId) New D,U,Q,I,R,ORDNr,OLNr,PRNr,Stock,FysStock,PraStock,TeoStock,InStock,ORec,LRec,Mask,PrInfo,VhKlRef Lock +^EC("C",UserId,KLNr,ScrnId):0 Else Quit Kill ^EC("C",UserId,KLNr,ScrnId) Set ^EC("C",UserId,KLNr,ScrnId)="" Do INIT Set VhKlRef=$$VHKLREF(UserId,KLNr) Set PrInfo=101 If $D(^EC("MUS",UserId,ScrnId)),$D(^EC("MKL",KLNr,ScrnId)),$$KLCHECK(UserId,KLNr) Do .Do LOGGING(UserId,KLNr,ScrnId) .Set ORDNr=0,R="",$P(R,D,50)="",(ORec,LRec)=R .For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do ..Set R=^KOD(KLNr,"F",ORDNr,1) ..Quit:'$P(R,D,22) ..If ScrnId="SO","\C\A\"[(D_$P(R,D,25)_D) Quit ..If ScrnId="CO",$P(R,D,25)'="C" Quit ..For I=1,4:1:24,26:1:$L(R,D) Set $P(R,D,I)="" ..Set $P(R,D,49,99)=1_D_$$EXTNUM(ORDNr),ORec=R,LRec="" ..Set R=ORec_D_LRec,$P(R,D,150)="",R=$$PRINFO(R,52,KLNr,PrInfo) Set:VhKlRef R=$$KLREF(R,52,KLNr) ..Do SAVE(UserId,KLNr,ScrnId,R) ..Set $P(ORec,D,49)="",OLNr=100 ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do ...Set R=^KOD(KLNr,"F",ORDNr,OLNr) ...If $P($P(R,D,17),"#")="KF11",$P($P(R,D,18),";",4)'["O" Quit ...Set PRNr=$P(R,D,2),(FysStock,PraStock,TeoStock,InStock)="" ...If PRNr,$D(^KPR(PRNr)) Do ....Set $P(R,D,5)=$P(^KPR(PRNr,0),D) ....Set Stock=$$GETSTOCK^PRODUKT4(PRNr),FysStock=$P(Stock,D),PraStock=$P(Stock,D,2),TeoStock=$P(Stock,D,3) ....If '$P(R,D,27),$P(R,D,3)'>FysStock Set InStock=1 ...If $P($P(R,D,17),"#")="KF1925"!PRNr Set $P(R,D,22)=$$MUNT($P(R,D,22)) ...For I=1,4,7:1:20,23,24,26,28:1:$L(R,D) Set $P(R,D,I)="" ...If Mask For I=6,21,22 Set $P(R,D,I)="" ...Set $P(R,D,3)=$$EXTNUM($P(R,D,3),"T") ...Set $P(R,D,6)=$$EXTNUM($P(R,D,6),,2) ...Set $P(R,D,21)=$$ROUND($P(R,D,21)) ...Set $P(R,D,33,99)=$$EXTNUM(FysStock) ...Set R=R_D_$$EXTNUM(PraStock)_D_$$EXTNUM(TeoStock)_D_InStock ...Set $P(R,D,50,99)="",LRec=R ...Set R=ORec_D_LRec,$P(R,D,150)="",R=$$PRINFO(R,52,KLNr,PrInfo) Set:VhKlRef R=$$KLREF(R,52,KLNr) ...Do SAVE(UserId,KLNr,ScrnId,R,111,112) Do CHKEMPTY^ECFJOB(UserId,KLNr,ScrnId,PrInfo) Lock -^EC("C",UserId,KLNr,ScrnId) Quit ; ; Direct orders DO(UserId,KLNr) New D,U,Q,I,R,%J,ScrnId,BLKLNr,Next,LevNr,LevNaam,TOENr,TLNr,PRNr New Stock,FysStock,PraStock,TeoStock,InStock,LEVNr,LevId,TRec,LRec,Mask,PrInfo,VhKlRef Set ScrnId="DO" Lock +^EC("C",UserId,KLNr,ScrnId):0 Else Quit Kill ^EC("C",UserId,KLNr,ScrnId) Set ^EC("C",UserId,KLNr,ScrnId)="" Do INIT Set VhKlRef=$$VHKLREF(UserId,KLNr) Set PrInfo=101 If $D(^EC("MUS",UserId,ScrnId)),$D(^EC("MKL",KLNr,ScrnId)),$$KLCHECK(UserId,KLNr) Do .Do LOGGING(UserId,KLNr,ScrnId) .Set BLKLNr=$G(^BLBeri("IK",KLNr)) .If $L(BLKLNr) Do ..Set %J=$J,LEVNr="" ..For Set LEVNr=$O(^ATK(KLNr,0,"L","L",LEVNr)) Quit:LEVNr="" Do ...Quit:'$D(^KL1(LEVNr)) ...Set LevId=^KL1(LEVNr),LevId(LevId)=LEVNr ..Set LevId="" ..For Set LevId=$O(LevId(LevId)) Quit:LevId="" Do ...Kill ^HULP(%J) ...Set LevNr=LevId(LevId) ...Set R="",$P(R,D,50)="",(TRec,LRec)=R ...Set R=$$CBMORE^RPLDORD("",9999,"") ...For Next=1:1 Quit:'$D(^HULP(%J,"K"_KLNr,"DIRORD",Next)) Do ....Set R=^HULP(%J,"K"_KLNr,"DIRORD",Next),LEVNr=$P(R,D),TOENr=$P(R,D,2),TLNr=$P(R,D,3) ....If 'TLNr Do Quit .....Set R=^KLE(^KL1(LEVNr),0),LevNaam=$P(R,D,2) .....Set R=^KTO(LEVNr,TOENr,1) .....For I=1,4:1:9,11:1:24,26:1:$L(R,D) Set $P(R,D,I)="" .....Set $P(R,D,47,99)=LEVNr_D_LevNaam_D_1_D_$$EXTNUM(TOENr),TRec=R,LRec="" .....Set R=TRec_D_LRec,$P(R,D,150)="",R=$$PRINFO(R,52,KLNr,PrInfo) Set:VhKlRef R=$$KLREF(R,52,KLNr) .....Do SAVE(UserId,KLNr,ScrnId,R) .....Set $P(TRec,D,49)="" ....Set R=^KTO(LEVNr,TOENr,TLNr),PRNr=$P(R,D,2),(FysStock,PraStock,TeoStock,InStock)="" ....If PRNr,$D(^KPR(PRNr)) Do .....Set $P(R,D,5)=$P(^KPR(PRNr,0),D) .....Set Stock=$$GETSTOCK^PRODUKT4(PRNr),FysStock=$P(Stock,D),PraStock=$P(Stock,D,2),TeoStock=$P(Stock,D,3) .....If '$P(R,D,27),$P(R,D,3)'>FysStock Set InStock=1 ....If $P($P(R,D,17),"#")="KF1925"!PRNr Set $P(R,D,22)=$$MUNT($P(R,D,22)) ....For I=1,4,7:1:20,23,24,26,28:1:$L(R,D) Set $P(R,D,I)="" ....If Mask For I=6,21,22 Set $P(R,D,I)="" ....Set $P(R,D,3)=$$EXTNUM($P(R,D,3),"T") ....Set $P(R,D,6)=$$EXTNUM($P(R,D,6),,2) ....Set $P(R,D,21)=$$ROUND($P(R,D,21)) ....Set $P(R,D,33,99)=$$EXTNUM(FysStock) ....Set R=R_D_$$EXTNUM(PraStock)_D_$$EXTNUM(TeoStock)_D_InStock ....Set $P(R,D,50,99)="",LRec=R ....Set R=TRec_D_LRec,$P(R,D,150)="",R=$$PRINFO(R,52,KLNr,PrInfo,ScrnId) Set:VhKlRef R=$$KLREF(R,52,KLNr) ....Do SAVE(UserId,KLNr,ScrnId,R,111,112) ...Kill ^HULP(%J) Do CHKEMPTY^ECFJOB(UserId,KLNr,ScrnId,PrInfo) Lock -^EC("C",UserId,KLNr,ScrnId) Quit ; ; Leveringen UL(UserId,KLNr) New D,U,Q,I,R,BONNr,OLNr,ScrnId,PRNr,ORDNr,OrdRef,Taal,Transp,BRec,ORec,LRec,Mask,PrInfo,VhKlRef Set ScrnId="UL" Lock +^EC("C",UserId,KLNr,ScrnId):0 Else Quit Kill ^EC("C",UserId,KLNr,ScrnId) Set ^EC("C",UserId,KLNr,ScrnId)="" Do INIT Set VhKlRef=$$VHKLREF(UserId,KLNr) Set PrInfo=151 If $D(^EC("MUS",UserId,ScrnId)),$D(^EC("MKL",KLNr,ScrnId)),$$KLCHECK(UserId,KLNr) Do .Do LOGGING(UserId,KLNr,ScrnId) .Set Taal=$P(^KKL(^KK1(KLNr),0),D,9) Set:Taal="" Taal="N" .Set BONNr=0,R="",$P(R,D,50)="",(BRec,ORec,LRec)=R .For Set BONNr=$O(^KUL(KLNr,"F",BONNr)) Quit:BONNr="" Do ..Set R=^KUL(KLNr,"F",BONNr,1) ..For I=1,3:1:6,8,11:1:$L(R,D) Set $P(R,D,I)="" ..Set $P(R,D,7)=$P($P(R,D,7),"#",2) ..Set Transp=$P(R,D,7) ..If "\EX\OD\PO\VT\"[(D_$E(Transp,1,2)_D) Do ...Quit:'$L($G(^RES("KLANT","PI","VERZENDWIJZE","D",$E(Transp,1,2),Taal))) ...Set $P(Transp,"#",2)=^RES("KLANT","PI","VERZENDWIJZE","D",$E(Transp,1,2),Taal),$P(R,D,7)=Transp ..Set $P(R,D,49,99)=1_D_$$EXTNUM(BONNr),BRec=R,(ORec,LRec)="" ..Set R=BRec_D_ORec_D_LRec,$P(R,D,200)="",R=$$PRINFO(R,102,KLNr,PrInfo) Set:VhKlRef R=$$KLREF(R,102,KLNr) ..Do SAVE(UserId,KLNr,ScrnId,R) ..Set $P(BRec,D,49)="",OLNr=100 ..Set OLNr=100 ..For Set OLNr=$O(^KUL(KLNr,"F",BONNr,OLNr)) Quit:'OLNr Do ...Set R=^KUL(KLNr,"F",BONNr,OLNr),PRNr=$P(R,D,2) ...If $P($P(R,D,17),"#")="KF11",$P($P(R,D,18),";",4)'["B" Quit ...If $P(R,D,17)="KF5" Do Quit ....Set ORDNr=$P($P(R,D,5)," - ",1),OrdRef=$P($P(R,D,5)," - ",3,99) ....Set $P(R,D,5)=OrdRef ....For I=1:1:4,6:1:$L(R,D) Set $P(R,D,I)="" ....Set $P(R,D,49,99)=1_D_$$EXTNUM(ORDNr),ORec=R,LRec="" ....Set R=BRec_D_ORec_D_LRec,$P(R,D,200)="",R=$$PRINFO(R,102,KLNr,PrInfo) Set:VhKlRef R=$$KLREF(R,102,KLNr) ....Do SAVE(UserId,KLNr,ScrnId,R) ....Set $P(ORec,D,49)="" ...If PRNr Do ....If $D(^KPR(PRNr)) Set $P(R,D,5)=$P(^KPR(PRNr,0),D) ...If $P($P(R,D,17),"#")="KF1925"!PRNr Set $P(R,D,22)=$$MUNT($P(R,D,22)) ...For I=1,4,7:1:20,23,24,26,28:1:$L(R,D) Set $P(R,D,I)="" ...If Mask For I=6,21,22 Set $P(R,D,I)="" ...Set $P(R,D,3)=$$EXTNUM($P(R,D,3),"T") ...Set $P(R,D,6)=$$EXTNUM($P(R,D,6),,2) ...Set $P(R,D,21)=$$ROUND($P(R,D,21)) ...Set $P(R,D,50,99)="",LRec=R ...Set R=BRec_D_ORec_D_LRec,$P(R,D,200)="",R=$$PRINFO(R,102,KLNr,PrInfo) Set:VhKlRef R=$$KLREF(R,102,KLNr) ...Do SAVE(UserId,KLNr,ScrnId,R,161,162) Do CHKEMPTY^ECFJOB(UserId,KLNr,ScrnId,105) Lock -^EC("C",UserId,KLNr,ScrnId) Quit ; ; Openstaande facturen OF(UserId,KLNr) New D,U,Q,I,R,FANr,KlantId,VerVal,ScrnId,Mask Set ScrnId="OF" Lock +^EC("C",UserId,KLNr,ScrnId):0 Else Quit Kill ^EC("C",UserId,KLNr,ScrnId) Set ^EC("C",UserId,KLNr,ScrnId)="" Do INIT If $D(^EC("MUS",UserId,ScrnId)),$D(^EC("MKL",KLNr,ScrnId)),$$KLCHECK(UserId,KLNr) Do .Do LOGGING(UserId,KLNr,ScrnId) .Set KlantId=^KK1(KLNr),FANr=9999 .For Set FANr=$O(^KKL(KlantId,FANr)) Quit:FANr'?5N.N!(FANr>999999) Do ..Set R=^KKL(KlantId,FANr) ..Quit:'$L($P(R,D,5)) ..For I=4,5 Set $P(R,D,I)=$$EXTNUM($P(R,D,I),,2) ..For I=6,7 Set $P(R,D,I)="" ..Set:$P(R,D,8)<1 $P(R,D,8)="" ..Set Verval=$H-$$INTDATE^vhLib.DataTypes($P(R,D,3)) Set:Verval<1 Verval="" ..Set $P(R,D,9)=$$MUNT($P(R,D,9)),$P(R,D,10,99)="",$P(R,D,49)=$$EXTNUM(FANr)_D_Verval ..Do SAVE(UserId,KLNr,ScrnId,R) Lock -^EC("C",UserId,KLNr,ScrnId) Quit ; ; Verkoopannalyse VA(UserId,KLNr) New D,U,Q,I,R,HoofdGr,Groep,SubGroep,KortText,ScrnId,VerkKind,Mask,PrInfo,VhKlRef Set ScrnId="VA" Lock +^EC("C",UserId,KLNr,ScrnId):0 Else Quit Kill ^EC("C",UserId,KLNr,ScrnId) Set ^EC("C",UserId,KLNr,ScrnId)="" Do INIT Set VhKlRef=$$VHKLREF(UserId,KLNr) Set PrInfo=51 If $D(^EC("MUS",UserId,ScrnId)),$D(^EC("MKL",KLNr,ScrnId)),$$KLCHECK(UserId,KLNr) Do .Do LOGGING(UserId,KLNr,ScrnId) .Set HoofdGr=0 .For Set HoofdGr=$O(^KKAAP(KLNr,HoofdGr)) Quit:HoofdGr="" Do ..Quit:$E(HoofdGr,3,4)="DE" ..Set Groep="" ..For Set Groep=$O(^KKAAP(KLNr,HoofdGr,Groep)) Quit:Groep="" Do ...Set SubGroep="" ...For Set SubGroep=$O(^KKAAP(KLNr,HoofdGr,Groep,SubGroep)) Quit:SubGroep="" Do ....Set KortText="" ....For Set KortText=$O(^KKAAP(KLNr,HoofdGr,Groep,SubGroep,KortText)) Quit:KortText="" Do .....Set R=^KKAAP(KLNr,HoofdGr,Groep,SubGroep,KortText) .....For I=1,4,12:1:14 Set $P(R,D,I)="" .....Set $P(R,D,3)=$$EXTNUM($P(R,D,3)) .....If Mask For I=6:1:11 Set $P(R,D,I)="" .....Else Do ......For I=6,9 Set $P(R,D,I)=$$EXTNUM($P(R,D,I),,2) ......For I=7,10 Set $P(R,D,I)=$$MUNT($P(R,D,I)) ......For I=8,11 Set $P(R,D,I)=$$ROUND($P(R,D,I)) .....Set $P(R,D,16,99)="",$P(R,D,100)="",R=$$PRINFO(R,15,KLNr,PrInfo) Set:VhKlRef R=$$KLREF(R,15,KLNr) .....Do SAVE(UserId,KLNr,ScrnId,R,61,62) Do CHKEMPTY^ECFJOB(UserId,KLNr,ScrnId,PrInfo) Lock -^EC("C",UserId,KLNr,ScrnId) Quit ; ; Klantreferenties KR(UserId,KLNr) New D,U,Q,I,R,KortText,ScrnId,PRNr,IDNr,Pakket,PakNr,PakOms,Aantal,BLKLNr,Mask,PrInfo Set ScrnId="KR" Lock +^EC("C",UserId,KLNr,ScrnId):0 Else Quit Kill ^EC("C",UserId,KLNr,ScrnId) Set ^EC("C",UserId,KLNr,ScrnId)="" Do INIT Set PrInfo=51 If $D(^EC("MUS",UserId,ScrnId)),$D(^EC("MKL",KLNr,ScrnId)),$$KLCHECK(UserId,KLNr) Do .Do LOGGING(UserId,KLNr,ScrnId) .Set Pakket="",BLKLNr=$G(^BLBeri("IK",KLNr)) .For Set Pakket=$O(^PAKKET("IK",KLNr,Pakket)) Quit:Pakket="" Do ..Set PakNr=^PAKKET("IK",KLNr,Pakket),R=^PAKKET("D",PakNr),PakOms=$P(R,D,2),PRNr="" ..For Set PRNr=$O(^PAKKET("D",PakNr,PRNr)) Quit:'PRNr Do ...Quit:'$D(^KPR(PRNr)) ...Set Aantal=$P(^PAKKET("D",PakNr,PRNr),D),KortText=$P(^KPR(PRNr,0),D) ...Set R=PRNr_D_PakOms_D_KortText_D_Aantal_D_PakNr,$P(R,D,100)="",R=$$PRINFO(R,1,KLNr,PrInfo) ...Do SAVE(UserId,KLNr,ScrnId,R,61,62) ...Set PakOms="" ...If BLKLNr Do ....Set IDNr=$P(^KPR(PRNr,2),D,25) ....New PRNr ....Quit:$E(IDNr)'=7 ....Set $E(IDNr)=0,IDNr=$$TRIMN^vhRtn1(IDNr)_" " ....Set PRNr=$P($G(^KPR2(IDNr)),D) ....Quit:'PRNr ....Set KortText=$P(^KPR(PRNr,0),D) ....Set R=PRNr_D_PakOms_D_KortText_D_$$EXTNUM(Aantal)_D_PakNr,$P(R,D,100)="",R=$$PRINFO(R,1,KLNr,PrInfo) ....Do SAVE(UserId,KLNr,ScrnId,R,61,62) Do CHKEMPTY^ECFJOB(UserId,KLNr,ScrnId,PrInfo) Lock -^EC("C",UserId,KLNr,ScrnId) Quit ; ; Intrastat IS(UserId,KLNr) New D,U,Q,I,R,Aantal,IntDate,LastDate,FANr,BONNr,OLNr,PRNr,StatNr,Aantal,Waarde,Gewicht,AanvEenh,Mask New Land,FaktMunt,Maand,ScrnId,ExtMnd Set ScrnId="IS" Lock +^EC("C",UserId,KLNr,ScrnId):0 Else Quit Kill ^EC("C",UserId,KLNr,ScrnId) Set ^EC("C",UserId,KLNr,ScrnId)="" Do INIT If $D(^EC("MUS",UserId,ScrnId)),$D(^EC("MKL",KLNr,ScrnId)),$$KLCHECK(UserId,KLNr) Do .Do LOGGING(UserId,KLNr,ScrnId) .Set R=^KKL(^KK1(KLNr),0),Land=$P(R,D,8) .For Maand=$$CALCDATE^vhLib.DataTypes(,"M",-1,"MD"),$$CALCDATE^vhLib.DataTypes(,"M",-2,"MD"),$$CALCDATE^vhLib.DataTypes(,"M",-3,"MD") Do ..Set ExtMnd=$$EXTDATE^vhLib.DataTypes(Maand,"DM4") ..Set IntDate=-$$CALCDATE^vhLib.DataTypes(Maand,"M","-1","LD") ..Set LastDate=-$$CALCDATE^vhLib.DataTypes(Maand,"M","LD") ..For Set IntDate=$O(^KFA1("F",KLNr,IntDate),-1) Quit:IntDate="" Quit:IntDate0 Quit:'PRNr Quit:'$D(^KPR(PRNr)) ......Set StatNr=$P(^KPR(PRNr,2),D,8)_" " ......Quit:'$D(^INTRAST(2,StatNr)) ......Set:'$D(StatNr(StatNr)) StatNr(StatNr)=$P(^INTRAST(2,StatNr),D,1,3) ......Set Gewicht=$P(^KPR(PRNr,1),D,13)*Aantal/1000 ......Set R=StatNr(StatNr),$P(R,D,4)=$P(R,D,4)+Gewicht ......Set AanvEenh=$P(R,D,3) Set:AanvEenh $P(R,D,5)=$P(R,D,5)+Aantal ......Set $P(R,D,6)=$P(R,D,6)+Waarde,StatNr(StatNr)=R ..If $O(StatNr(""))'="" Do ...Set R="",$P(R,D,49)=1_D_ExtMnd ...Do SAVE(UserId,KLNr,ScrnId,R) ...Set StatNr="" ...For Set StatNr=$O(StatNr(StatNr)) Quit:StatNr="" Do ....Set R=StatNr(StatNr),$P(R,D,50,99)=ExtMnd ....For I=3,4,6 Set $P(R,D,I)=$$EXTNUM($P(R,D,I)) ....Set $P(R,D,2)=$P(R,D)_" "_$P(R,D,2) ....Do SAVE(UserId,KLNr,ScrnId,R) ..Kill StatNr Do CHKEMPTY^ECFJOB(UserId,KLNr,ScrnId,2) Lock -^EC("C",UserId,KLNr,ScrnId) Quit ; INIT Set D="\",U=";",Q="K" Set Mask=$G(^EC("PAR","MASK")) Quit ; MUNT(Munt) New D,U,Q Do INIT Set Munt=$G(Munt) If $L(Munt),$D(^KBA(11,Munt)) Set Munt=$$MUNT^vhRtn1(Munt,1) Quit Munt ; SAVE(UserId,KLNr,ScrnId,Data,PUrl,PInfo) New Count,ProdUrl,ProdInfo Set PUrl=$G(PUrl),PInfo=$G(PInfo) Set (ProdUrl,ProdInfo)="" Set:PUrl ProdUrl=$P(Data,D,PUrl),$P(Data,D,PUrl)="" Set:PInfo ProdInfo=$P(Data,D,PInfo),$P(Data,D,PInfo)="" Set Count=$O(^EC("C",UserId,KLNr,ScrnId,""),-1)+1 Set ^EC("C",UserId,KLNr,ScrnId,Count)=$TR(Data,"""","'") Set ^EC("C",UserId,KLNr,ScrnId,Count,"U")=$TR(ProdUrl,"""","'") Set ^EC("C",UserId,KLNr,ScrnId,Count,"I")=$TR(ProdInfo,"""","'") Quit ; COUNT(UserId,KLNr,ScrnId) Quit $O(^EC("C",UserId,KLNr,ScrnId,""),-1) ; PRINFO(Rec,RecPRNr,KLNr,Piece,ScrnId) New I,R,PRNr,IDNr,KortTxt,Omschr1,Omschr2,PakNr,KlRef,LevTerm,MinBestH New Verpak,Taal,IsStock,Prijs,Munt,Round,PrInfo,Kleur,IsKsCust,IsKsProd,KlantID New Field1,Field2,Field3,ProdUrl Set PRNr=$P(Rec,D,RecPRNr),ScrnId=$G(ScrnId) If PRNr Do .Set KlantID=##class(DOM.DomeinContext).Instance().GeefLegacyPartijAPI().GeefKlantPartijID(KLNr) .Set IsKsCust='(##class(DOM.DomeinContext).Instance().GeefKlantTypeAPI().IsIndustriePoolKlant(KlantID)) .Set IsKsProd=$$ISPROD^KS(PRNr) .Set Taal="N" .If KLNr,$D(^KK1(KLNr)) Set R=^KKL(^KK1(KLNr),0),Taal=$P(R,D,9) Set:Taal="" Taal="N" .Set R=^KPR(PRNr,0),KortTxt=$P(R,D) .Set R=^KPR(PRNr,1),IsStock=$P(R,D,20) .Set R=^KPR(PRNr,2),IDNr=$P(R,D,25) .Set R=^KPR(PRNr,$S(Taal="F":1,Taal="D":2,Taal="E":2,1:0)) .Set Omschr1=$TR($P(R,D,$S(Taal="F":22,Taal="D":2,Taal="E":1,1:2)),";",",") .Set R=^KPR(PRNr,$S(Taal="F":3,Taal="D":3,Taal="E":3,1:0)) .Set Omschr2=$TR($P(R,D,$S(Taal="F":21,Taal="D":23,Taal="E":22,1:11)),";",",") .Set R="J",R=$O(^KPR(PRNr,R)) Set:$E(R)="J" R=^KPR(PRNr,R) .Set MinBestH="",LevTerm="STOCK" Set:'IsStock MinBestH=$P(R,D,6),LevTerm=$P(R,D,7)+$S(ScrnId="DO":0,1:1) .If 0,IsKsCust,IsKsProd Do ; geen staffeling meer : PV - 17-08-04 ..Set Verpak=$P(R,D,12) ..If $P(R,D,11) Set:Verpak Verpak=Verpak_"/" Set Verpak=Verpak_$P(R,D,11) .Else Do ..Set Verpak=$P(R,D,16) ..If $P(R,D,15) Set:Verpak Verpak=Verpak_"/" Set Verpak=Verpak_$P(R,D,15) ..If $P(R,D,14) Set:Verpak Verpak=Verpak_"/" Set Verpak=Verpak_$P(R,D,14) .Set (PakNr,KlRef)="" .For Set PakNr=$O(^PAKKET("IP",PRNr,KLNr,PakNr)) Quit:PakNr="" Do ..Set R=^PAKKET("D",PakNr) ..Quit:$P(R,D,2)="" ..If $E(KlRef,$L(KlRef)-3,$L(KlRef))'=" ..." Do ...If $L(KlRef) Do ....If $L(KlRef_$P(R,D,2))<100 Set KlRef=KlRef_" & " ....Else Set KlRef=KlRef_" ..." ...Set:$E(KlRef,$L(KlRef)-3,$L(KlRef))'=" ..." KlRef=KlRef_$P(R,D,2) .Do PRIJS(KLNr,PRNr,.Prijs) .Set Munt=$$MUNT($P(Prijs,D,2)),Round=$P(Prijs,D,3),Prijs=$P(Prijs,D) .Set Prijs=$$EXTNUM(Prijs,,2),Round=$$ROUND(Round) .Set MinBestH=$$EXTNUM(MinBestH) .For I=1:1:$L(Verpak,"/") Set $P(Verpak,"/",I)=$$EXTNUM($P(Verpak,"/",I)) .If 0,IsKsCust Do ; geen staffeling meer : PV - 17-08-04 ..Set (Field1,Field2,Field3)="" ..If $P($G(Prijs("E")),D) Do ...Set R=Prijs("E") ...If $G(Mask) Set Field1="" ...Else Set Field1=$$GETTXT("ECPROD","PRIJSPER",Taal)_" "_$$EXTNUM($P(R,D))_": "_$$FMTPRIJS($P(R,D,2,3)) ..If $P($G(Prijs("K")),D) Do ...Set R=Prijs("K") ...If $G(Mask) Set Field2="" ...Else Set Field2=$$GETTXT("ECPROD","PRIJSPER",Taal)_" "_$$EXTNUM($P(R,D))_": "_$$FMTPRIJS($P(R,D,2,3)) ..If $P($G(Prijs("L")),D) Do ...Set R=Prijs("L") ...If $G(Mask) Set Field3="" ...Else Set Field3=$$GETTXT("ECPROD","PRIJSPER",Taal)_" "_$$EXTNUM($P(R,D))_": "_$$FMTPRIJS($P(R,D,2,3)) .Else Do ..Set (Field1,Field2,Field3)="" ..Set:$L(Prijs) Field1=$S($G(Mask):"",1:$$GETTXT("ECPROD","PRIJS",Taal)_": "_Prijs_" "_Munt_Round) ..Quit:IsStock ..Set:$L(MinBestH) Field2=$$GETTXT("ECPROD","MINB",Taal)_": "_MinBestH ..If LevTerm Do ...Set Field3=$$GETTXT("ECPROD","LEVT",Taal)_": "_LevTerm ...Set Field3=Field3_" "_$$GETTXT("ECPROD",$S(LevTerm=1:"WEEK",1:"WEKEN"),Taal) .Set Kleur=$$OMSCHR^PRKLEUR(PRNr,Taal) .Set PrInfo=IDNr_" "_KortTxt_"§"_Omschr1_$J("",40-$L(Omschr1))_Kleur_"§"_Omschr2_"§" .If $L(KlRef) Set PrInfo=PrInfo_$$GETTXT("ECPROD","KLREFK",Taal)_": "_KlRef .Set PrInfo=PrInfo_"§" .If $L(Verpak) Set PrInfo=PrInfo_$$GETTXT("ECPROD","VERPAK",Taal)_": "_Verpak .Set PrInfo=PrInfo_"§"_Field1_"§"_Field2_"§"_Field3 .Set ProdUrl="" .If $G(Mask) Set (Prijs,Munt,Round)="" .Set R=KortTxt_D_IDNr_D_Omschr1_$S($L(Omschr2):"§"_Omschr2,1:"")_D_KlRef_D_LevTerm_D_MinBestH_D_Verpak_D_Prijs_D_Munt_D_Round_D_ProdUrl_D_PrInfo .Set $P(Rec,D,Piece,Piece+11)=R Quit Rec ; KLCHECK(UserId,KLNr) New D,R,UserWW,UserName,WachtW,Ok,SupVKLNr,Regio Set D="\",UserWW=$G(^ATK("IU",UserId)),UserName=$P(UserWW,D),WachtW=$P(UserWW,D,2) ; Controle van klant Set Ok=0 If $L(UserWW),$L(KLNr),$D(^KK1(KLNr)),'$$DISABLED(UserId) Do .Set R=^KKL(^KK1(KLNr),2) .Quit:$P(R,D,10) ;Commercieel niet aktief .Set R=$G(^ATK("W",UserWW)) .Set Ok=KLNr=$P(R,D) .If 'Ok,$P(R,D,4) Do ;Multiple select toegelaten ..Set SupVKLNr=$P(R,D) ..If $D(^ATK(SupVKLNr,UserName,"K")) Do ...Set Ok=$D(^ATK(SupVKLNr,UserName,"K","K",KLNr)) ;Bepaalde klantentoegelaten ...Quit:Ok ...Set Regio=$G(^ATK(SupVKLNr,UserName,"K","R")) ...If Regio Set R=^KKL(^KK1(KLNr),0),Ok=(D_Regio_D)[(D_$P(R,D,20)_D) ;Bepaalde regios toegelaten ..Else Set Ok=1 ;Alle klanten toegelaten Set:Ok Ok=1 Quit Ok ; DISABLED(UserId) New R,Disabled,KLNr,UserWW,UserName Set UserWW=$G(^ATK("IU",UserId)),UserName=$P(UserWW,D) Set Disabled=0,R=$G(^ATK("W",UserWW)),KLNr=$P(R,D) Do:KLNr .Set Disabled=$G(^ATK(0,0,"A"))=0 .Set:'Disabled Disabled=$G(^ATK(KLNr,0,"A"))=0 .Set:'Disabled Disabled=$G(^ATK(KLNr,UserName,"A"))=0 Quit Disabled ; KLANTPR(KLNr,PRNr) New R,IDNr Set IDNr=$P(^KPR(PRNr,2),D,25) If $E(IDNr)=7,$D(^BLBeri("IK",KLNr)) Do .Set R=$O(^KPR(PRNr,"J")) .If $E(R)'="J" Set R="" .Else Set LEVNr=$P(^KPR(PRNr,R),D),R=$$LEVPR^KPRIJS(LEVNr,PRNr) Else Set R=$$KLANTPR^KPRIJS(KLNr,PRNr) Quit R ; PRIJS(KLNr,PRNr,Prijs) New I,R,IsKatPr,Munt,Staffel Set R=$$KLANTPR(KLNr,PRNr),IsKatPr=$P(R,D,8),Munt=$P(R,D,2) Set R=$P(R,D,1,6),$P(R,D,2)=$$MUNT($P(R,D,2)) Set Prijs=R ;If 'IsKatPr,$$ISKLPR^KS(KLNr,PRNr),'$$HeeftUitz^KORTING(KLNr,PRNr) Do ; geen staffeling meer : PV - 17-08-04 .Do KSPRIJS^KS(PRNr,KLNr,"",.Staffel) .Set I="" .For Set I=$O(Staffel(I)) Quit:I="" Set R=$P(Staffel(I),D,1,7),$P(R,D,3)=$$MUNT($P(R,D,3)),Staffel(I)=R .Merge Prijs=Staffel Quit ; FMTPRIJS(R) New Prijs,Munt,Round Set Munt=$$MUNT($P(R,D,2)),Round=$P(R,D,3),Prijs=$P(R,D) If Prijs Do .Set Prijs=$$EXTNUM(Prijs,,2),Round=$$ROUND(Round) .Set Prijs=$P(R,D)_" "_Munt_Round Quit Prijs ; EXTNUM(Val,Form,Dec) Quit $$EXTNUM^vhLib.DataTypes(Val,0,$G(Form)_".0",$G(Dec)) ; ROUND(Round) Quit $S($E(Round)="E":"",$E(Round)="H":"%",1:$E(Round)) ; LOGGING(UserId,KLNr,ScrnId) New D,U,Q,I,R,UserWW,Log Set ScrnId=$G(ScrnId) Do INIT Set UserWW=$G(^ATK("IU",UserId)) If $L(UserWW) Do .Lock +^ATK("L",$P($H,","),KLNr,UserWW) .If ScrnId="" Set ^ATK("L",$P($H,","),KLNr,UserWW,$P($H,",",2))=1 .Else Do ..Set Log=$O(^ATK("L",$P($H,","),KLNr,UserWW,""),-1) ..If 'Log Do ...Do LOGGING(UserId,KLNr) ...Set Log=$O(^ATK("L",$P($H,","),KLNr,UserWW,""),-1) ..Else Do ...Set R=$G(^ATK("L",$P($H,","),KLNr,UserWW,Log)) ...Quit:$L(R)<100 ...Do LOGGING(UserId,KLNr) ...Set Log=$O(^ATK("L",$P($H,","),KLNr,UserWW,""),-1) ..If ^ATK("L",$P($H,","),KLNr,UserWW,Log)=1 Do ...For Quit:Log'=$P($H,",",2) Hang 1 ...Set Log=$P($H,",",2) ..Set R=$G(^ATK("L",$P($H,","),KLNr,UserWW,Log)) ..Set:$L(R) R=R_D Set R=R_ScrnId ..Kill ^ATK("L",$P($H,","),KLNr,UserWW,Log) ..Set Log=$P($H,",",2),^ATK("L",$P($H,","),KLNr,UserWW,Log)=R .Lock -^ATK("L",$P($H,","),KLNr,UserWW) Quit ; GETTXT(Groep,Ref,Taal) New R Set R=$G(^POP(Groep,"D",Ref,Taal)) Xecute:$E(R)="""" "Set R="_R If $L(R),$G(sScr("VT"))=1 Set R=$$FLATASCI^vhRtn1(R) Quit R ; CHKEMPTY(UserId,KLNr,ScrnId,Piece) New R,Text,Taal If $O(^EC("C",UserId,KLNr,ScrnId,""))="" Do .Set Taal=$P(^KKL(^KK1(KLNr),0),D,9) Set:Taal="" Taal="N" .Set Text=$S(Taal="F":"Pas d'information!",1:"Geen informatie !") .Set R="",$P(R,D,Piece)=Text .Do SAVE(UserId,KLNr,ScrnId,R) Quit ; VHKLREF(UserId,KLNr) New VhKlRef,WachtRef If $D(^PAKKET("IK",KLNr)) Do .Set WachtRef=$G(^ATK("IU",UserId)) .If $L(WachtRef) Do ..Set KLNr=$P(^ATK("W",WachtRef),D) ..Set VhKlRef=$G(^ATK(KLNr,WachtRef,"R")) Quit $G(VhKlRef) ; KLREF(Rec,RecPRNr,KLNr) New I,R,PRNr,KortTxt,PakNr,KlRef,RLength Set PRNr=$P(Rec,D,RecPRNr) If PRNr Do .Set R=^KPR(PRNr,0),KortTxt=$P(R,D) .Set (PakNr,KlRef)="",RLength=512-$L(Rec)/($L(Rec,KortTxt)-1) .For Set PakNr=$O(^PAKKET("IP",PRNr,KLNr,PakNr)) Quit:PakNr="" Do ..Set R=^PAKKET("D",PakNr) ..Quit:$P(R,D,2)="" ..Set:$L(KlRef) KlRef=KlRef_" & " Set KlRef=KlRef_$P(R,D,2) .If $L(KlRef) For I=1:1:$L(Rec,D) Set:$P(Rec,D,I)=KortTxt $P(Rec,D,I)=$E(KlRef,1,25) Quit Rec ;