ATKJOB ; Afstand-toegang voor klanten [ 05/31/2002 9:21 AM ] Quit ; STARTUP() Do STARTATK^ATKLVH Quit ; LOGON(JobNr) New R,LogOn,STaal Set STaal=$G(^ATK(0,0,"T")) Set:$L(STaal) ^HULP(JobNr,"LOGON","T")=STaal If $L(STaal) For I=1:1 Quit:'$D(^ATK(0,0,"B",STaal,I)) Do .Set ^HULP(JobNr,"LOGON","B",I)=^ATK(0,0,"B",STaal,I) Else For I=1:1 Quit:'$D(^ATK(0,0,"B",I)) Set ^HULP(JobNr,"LOGON","B",I)=^ATK(0,0,"B",I) Set LogOn=$G(^ATK(0,0,"A")),^HULP(JobNr,"LOGON")=LogOn Quit ; LOGOFF(JobNr,KLNr,UserName,WachtW,Screens) New %J,D,U,Q,WachtRef Quit:'$G(^ATK(0,0,"A")) Do INIT Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set WachtW=$P(WachtW,"."),WachtRef=UserName_D_WachtW Set:'KLNr KLNr=$$KLNR(UserName,WachtW) Set Screens=$G(Screens) Set:Screens="" Screens=0 If KLNr Do .Set ^ATK("L",+$H,KLNr,WachtRef,$P($H,",",2))=Screens .Do MERGE^ATKJOB3(JobNr,KLNr,%J) .Do MERGE^ATKJOB2(JobNr,KLNr,%J) Set ^HULP(JobNr,"LOGOFF")=1 If KLNr Do .Do:$D(^HULP(%J,"NEWKLREF")) VERWERK^ATKJOB3(%J) .Do:$D(^HULP(%J,"OFFERTE")) VERWERK^ATKJOB2(%J) Kill ^HULP(%J) Quit ; WACHTW(JobNr,UserName,WachtW) New D,U,Q,WachtRef,KLNr,UserRef Quit:'$G(^ATK(0,0,"A")) Do INIT Set WachtW=$P(WachtW,"."),WachtRef=UserName_D_WachtW,KLNr=$$KLNR(UserName,WachtW) If 'KLNr Do .Set WachtRef=UserName_D_$S($E(WachtW)="*":"*",1:WachtW) .Set WachtRef=$$UPTRIMAN^vhRtn1(WachtRef),UserRef="" .For Set UserRef=$O(^ATK("W",UserRef)) Quit:UserRef="" Do Quit:KLNr ..Quit:$$UPTRIMAN^vhRtn1(UserRef)'=WachtRef ..Set UserName=$P(UserRef,D) Set:$E(WachtW)'="*" WachtW=$P(UserRef,D,2) ..Set WachtRef=UserName_D_WachtW,KLNr=$$KLNR(UserName,WachtW) If KLNr Do .If $E(WachtW)="*",$E(WachtW,2,99)'=$$GENERATE^ATKWW(KLNr,UserName,$H*$H,1) Set KLNr="" Quit .Set ^ATK("L",+$H,KLNr,WachtRef,$P($H,",",2))=1 Set ^HULP(JobNr,"WACHTW")=KLNr_D_UserName_D_WachtW Quit ; KLNR(UserName,WachtW) New D,U,Q,WachtRef Do INIT Set:$E(WachtW)="*" WachtW="*" Set WachtRef=UserName_D_WachtW Quit $P($G(^ATK("W",WachtRef)),D) ; LCUSER(UserName,WachtW) New D,U,Q,WachtRef Do INIT Set WachtRef=UserName_D_WachtW Quit $P($G(^ATK("W",WachtRef)),D,3) ; KLINIT(JobNr,KLNr,UserName,WachtW,SuperV,NewKLNr) New D,U,Q,R,WachtRef,KlantInd,Menu,ORDNr,KlRef,LvhKlRef,NoPrice,Aktief,UTaal,CBNr,Land,Munt New LevAdr,LcUser,Memo,Quit Quit:'$G(^ATK(0,0,"A")) Do INIT Set NoPrice=$P(WachtW,".",2),NoPrice=$S(NoPrice="-":1,NoPrice="+":0,1:"") Set WachtW=$P(WachtW,"."),WachtRef=UserName_D_WachtW Set:'KLNr KLNr=$$KLNR(UserName,WachtW) Set:$G(NewKLNr) ^ATK("L",+$H,KLNr,WachtRef,$P($H,",",2))=1 Set LcUser=$$LCUSER(UserName,WachtW) If $L(NoPrice),$P($G(^ATK("W",WachtRef)),D)=KLNr Do .If $G(^ATK(KLNr,UserName,"P"))'="±",$G(^ATK(KLNr,0,"P"))'="±" Set NoPrice="" Set KlantInd=^KK1(KLNr),R(0)=^KKL(KlantInd,0),R(1)=^KKL(KlantInd,1) Set Land=$P(R(0),D,8),Munt=$P(R(0),D,11) Set:Munt="" Munt=$$FADEF^vhRtn1() Set:Munt="MTL" Munt=$$LANDMUNT^KLANT(Land) Set $P(Munt,D,2)=$$MUNT^vhRtn1(Munt,1) Set Aktief=$G(^ATK(KLNr,UserName,"A"),$G(^ATK(KLNr,0,"A"),$G(^ATK(0,0,"A")))) Set UTaal=$G(^ATK(KLNr,UserName,"T")) Set:$L(UTaal) $P(R(0),D,9)=UTaal If '$G(SuperV) Set Menu=$G(^ATK(KLNr,UserName,"M"),$G(^ATK(KLNr,0,"M"),$G(^ATK(0,0,"M")))) Else Do SUPVINIT(JobNr,KLNr,UserName,WachtW) If (D_Menu_D)["\O\" Do .Set ORDNr="" .For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Quit:$P(^KOD(KLNr,"F",ORDNr,1),D,25)="C" .Set:ORDNr Menu=Menu_"\C" .Set ORDNr="" .For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Quit:$P(^KOD(KLNr,"F",ORDNr,1),D,25)="A" .Set:ORDNr Menu=Menu_"\A" .Set:$D(^BLBeri("IK",KLNr)) Menu=Menu_"\T" Set ^HULP(JobNr,"KLINIT",0)=R(0),^HULP(JobNr,"KLINIT",1)=R(1) If $$LAND^vhRtn1($P(R(0),D,8))'="BE",$D(^KFA1("F",KLNr)) Set Menu=Menu_"\E" If $E($O(^KKL(KlantInd,"L")))="L" Set Menu=Menu_"\Y" Set KlRef=$D(^PAKKET("IK",KLNr))>0 If KlRef,Menu'="S" Set Menu=Menu_"\W\R" Set LvhKlRef=$G(^ATK(KLNr,UserName,"R")) Set:LvhKlRef="" LvhKlRef=$G(^ATK(KLNr,0,"R")) If NoPrice="" Do .Set NoPrice=$G(^ATK(0,0,"P")) .Set:NoPrice="" NoPrice=$G(^ATK(KLNr,UserName,"P")) Set:NoPrice="" NoPrice=$G(^ATK(KLNr,0,"P")) Set Count=0 If '$D(^ATK(KLNr,0,"B",UserName)) Do .For I=1:1 Quit:'$D(^ATK(KLNr,0,"B",I)) Set Count=Count+1,Memo(Count)=^ATK(KLNr,0,"B",I) .If Count,'$G(SuperV) Set ^ATK(KLNr,0,"B",UserName)="" For I=1:1 Quit:'$D(^ATK(KLNr,UserName,"B",I)) Do .Set Count=Count+1,Memo(Count)=^ATK(KLNr,UserName,"B",I) .If I=1,Count>1 Set Memo(Count)="~~"_Memo(Count) Set CBNr=$G(^ATK(KLNr,0,"@")) Set:CBNr="" CBNr=$G(^ATK(KLNr,UserName,"@")) If $L(CBNr) Set ^HULP(JobNr,"KLINIT","@")=CBNr,Menu=Menu_"\@" If $ZU(5)="LVH,BAD" Set Menu=$P(Menu,"\M")_D_$P(Menu,"\M",2) Set:$E(Menu,$L(Menu))=D Menu=$E(Menu,1,$L(Menu)-1) Do:(D_Menu_D)["\K\" RPLKLBEP(JobNr,KLNr,UserName,SuperV) Set ^HULP(JobNr,"KLINIT","A")=Aktief Set ^HULP(JobNr,"KLINIT","M")=Menu Set ^HULP(JobNr,"KLINIT","R")=KlRef+LvhKlRef Set ^HULP(JobNr,"KLINIT","P")=$S(NoPrice="±":1,1:+NoPrice) Set ^HULP(JobNr,"KLINIT","LcUser")=LcUser Set ^HULP(JobNr,"KLINIT","Munt")=Munt Merge ^HULP(JobNr,"KLINIT","B")=Memo Set ^HULP(JobNr,"KLINIT")=1 Do KLREF(JobNr,KLNr) Kill ^ATK(KLNr,UserName,"B") If '$G(SuperV),$D(^ATK(KLNr,0,"B")) Do .Set WachtRef="",Quit=0 .For Set WachtRef=$O(^ATK("W",WachtRef)) Quit:WachtRef="" Do Quit:Quit ..Quit:$P(^ATK("W",WachtRef),D)'=KLNr ..Set UserName=$P(WachtRef,D),Quit='$D(^ATK(KLNr,0,"B",UserName)) .If WachtRef="" Kill ^ATK(KLNr,0,"B") Quit ; SUPVINIT(JobNr,KLNr,UserName,WachtW) New WachtRef Set WachtRef=UserName_D_WachtW Set ^ATK("L",+$H,KLNr,WachtRef,$P($H,",",2))=1 Set Menu=$G(^ATK(KLNr,0,"M")) Set:Menu'="K" Menu=$G(^ATK(0,0,"M")) If NoPrice="" Do .New KLNr .Set KLNr=$$KLNR(UserName,WachtW) .Set NoPrice=$G(^ATK(0,0,"P")) .Set:NoPrice="" NoPrice=$G(^ATK(KLNr,UserName,"P")) Set:NoPrice="±" Menu=Menu_"\!" .If NoPrice'="±",NoPrice'=0 Set NoPrice=$G(^ATK(KLNr,0,"P")) .If NoPrice="±",Menu'["!" Set Menu=Menu_"\!" Quit ; ORDER(JobNr,KLNr,Type,LEVNr) Do ORDER^ATKJOB4(JobNr,KLNr,Type,$G(LEVNr)) Quit ; BON(JobNr,KLNr) Do BON^ATKJOB4(JobNr,KLNr) Quit ; VERKAN(JobNr,KLNr,Type) New D,U,Q,I,R,Count,HoofdGr,Groep,SubGroep,KortText,DataRef,PRNr,VerkKind Quit:'$G(^ATK(0,0,"A")) Do INIT Set Type=$G(Type),(Count,HoofdGr)=0,DataRef=$S(Type="M":"MOEDERB",1:"VERKAN") For Set HoofdGr=$O(^KKAAP(KLNr,HoofdGr)) Quit:HoofdGr="" Do .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) ....Set PRNr=$P(R,D,15) ....If Type="M",PRNr,$P($G(^KPR(PRNr,0)),D,23)="K" Quit ....For I=1,4,12:1:14 Set $P(R,D,I)="" ....For I=7,10 Set $P(R,D,I)=$$MUNT($P(R,D,I)) ....Set $P(R,D,16,99)="",PRNr=$P(R,D,15) ....Set $P(R,D,2)=$P(R,D,2) ....Do PUTHULP(DataRef,R) Do PUTHULP(DataRef) Quit ; MOEDERB(JobNr,KLNr) Do VERKAN(JobNr,KLNr,"M") Quit ; MBINPUT(JobNr,PRNr,KLNr) New D,U,Q,I,K,R,Prijs Quit:'$G(^ATK(0,0,"A")) Do INIT If $D(^KPR(PRNr)) Do .Set R=^KPR(PRNr,0) .For I=3:1:10,12:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"MBINPUT",PRNr,0)=R .Set R=$P(R,D),K=$E(R,$L(R)-3,$L(R))_" " .Set R=$G(^KCOL(K,"N")) .For I="F","D","E" Set R=R_D_$G(^KCOL(K,I)) .Set ^HULP(JobNr,"MBINPUT",PRNr,"K")=R .Set R=^KPR(PRNr,1) .For I=1:1:19,21,23:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"MBINPUT",PRNr,1)=R .Set R=^KPR(PRNr,2) .For I=3:1:24,26:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"MBINPUT",PRNr,2)=R .Set R=^KPR(PRNr,3) .For I=1:1:20,24:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"MBINPUT",PRNr,3)=R .Set R="",I=$O(^KPR(PRNr,"J")) Set:$E(I)="J" R=^KPR(PRNr,I) .For I=1:1:5,8:1:12,17:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"MBINPUT",PRNr,"J")=R .Do PRIJS(KLNr,PRNr,.Prijs) .Merge ^HULP(JobNr,"MBINPUT",PRNr,"P")=Prijs .Set R=$P($$GETSTOCK^PRODUKT4(PRNr),D,1,3) .Set ^HULP(JobNr,"MBINPUT",PRNr,"S")=R .Set ^HULP(JobNr,"MBINPUT",PRNr)=1 Quit ; MBPAKKET(JobNr,PakNr) Quit:'$G(^ATK(0,0,"A")) Merge ^HULP(JobNr,"MBINPUT","P",PakNr)=^PAKKET("D",PakNr) Set ^HULP(JobNr,"MBINPUT","P")=1 Quit ; MBCLOSE(JobNr,KLNr) New D,U,Q,R,LogNr,PRNr,PakNr,AantPak Quit:'$G(^ATK(0,0,"A")) Do INIT Set LogNr=$$NEXTMBID(),PRNr="" For Set PRNr=$O(^HULP(JobNr,"MBINPUT","D",PRNr)) Quit:'PRNr Do .Set R=^HULP(JobNr,"MBINPUT","D",PRNr),^MBLOG("A",KLNr,LogNr,PRNr)=R Set PakNr="" For Set PakNr=$O(^HULP(JobNr,"MBINPUT","P",PakNr)) Quit:'PakNr Do .Set AantPak=+^HULP(JobNr,"MBINPUT","P",PakNr),^MBLOG("A",KLNr,LogNr,"P",PakNr)=AantPak .Set PRNr="" .For Set PRNr=$O(^HULP(JobNr,"MBINPUT","P",PakNr,PRNr)) Quit:'PRNr Do ..Set ^MBLOG("A",KLNr,LogNr,"P",PakNr,PRNr)=AantPak Set R=$G(^HULP(JobNr,"MBINPUT","D","LEVADR")) Set:$L(R) ^MBLOG("A",KLNr,LogNr,"LEVADR")=R Set R=$G(^HULP(JobNr,"MBINPUT","D","MEMO")) Set:$L(R) ^MBLOG("A",KLNr,LogNr,"MEMO")=R Set R=^HULP(JobNr,"MBINPUT","D") Set $P(R,D)=LogNr,^MBLOG("A",KLNr,LogNr)=R,^HULP(JobNr,"MBINPUT","D")=R Quit ; NEXTMBID() New R,LogNr For Do ADD^vhLock("^MBLOG(""AN"")") Quit:%TC Set (LogNr,^MBLOG("AN"))=$G(^MBLOG("AN"))+1 Do REMOVE^vhLock("^MBLOG(""AN"")") Quit LogNr ; OFFINPUT(JobNr,PRNr,KLNr) Do OFFINPUT^ATKJOB2(JobNr,PRNr,KLNr) Quit ; OFPAKKET(JobNr,PakNr) Do OFPAKKET^ATKJOB2(JobNr,PakNr) Quit ; OFAKT(JobNr,KLNr) Do OFAKT^ATKJOB4(JobNr,KLNr) Quit ; INTRAST(JobNr,KLNr,Maand) New D,U,Q,I,R,Count,Aantal,IntDate,LastDate,FANr,BONNr,OLNr,PRNr,StatNr,Aantal,Waarde,Gewicht,AanvEenh New Land,FaktMunt Quit:'$G(^ATK(0,0,"A")) Do INIT Set R=^KKL(^KK1(KLNr),0),Land=$P(R,D,8) Set IntDate=-$$CALCDATE^vhDTyp(Maand,"M","-1","LD") Set LastDate=-$$CALCDATE^vhDTyp(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 Set Count=0,StatNr="" For Set StatNr=$O(StatNr(StatNr)) Quit:StatNr="" Do .Set Count=Count+1,^HULP(JobNr,"INTRAST",Maand,Count)=StatNr(StatNr) Set:'Count Count=1 Set ^HULP(JobNr,"INTRAST",Maand)=Count Quit ; LEVADR(JobNr,KLNr) New D,U,Q,I,R,Count,KlantInd,LevAdr,DataRef Quit:'$G(^ATK(0,0,"A")) Do INIT Set Count=0,KlantInd=^KK1(KLNr),DataRef="LEVADR",LevAdr="L" Set R=^KKL(KlantInd,0) Do:"\POSTBUS\PB\Postbus\P.O.\"'[(D_$P($P(R,D,5)," ")_D) PUTHULP(DataRef,R) For Set LevAdr=$O(^KKL(KlantInd,LevAdr)) Quit:$E(LevAdr)'="L" Do .Set R=^KKL(KlantInd,LevAdr) .If $P(R,D,19) Quit:'$D(^KK1($P(R,D,19))) Set $P(R,D,2,99)=$P(^KKL(^($P(R,D,19)),0),D,2,99) .Do PUTHULP(DataRef,R) Do PUTHULP(DataRef) Quit ; RPLKLBEP(JobNr,KLNr,UserName,SuperV) New Kl,RplKLNr,KlantInd Set:'$D(^ATK(KLNr,UserName,"K")) UserName=0 Quit:'$D(^ATK(KLNr,UserName,"K")) Quit:$O(^ATK(KLNr,UserName,"K","K"),-1)'="" Quit:$O(^ATK(KLNr,UserName,"K","K"))'="" Set RplKLNr="" For Set RplKLNr=$O(^ATK(KLNr,UserName,"K","K",RplKLNr)) Quit:'RplKLNr Do .Quit:'$D(^KK1(RplKLNr)) .Set KlantInd=^KK1(RplKLNr),Kl(KlantInd)="" If $O(Kl(""))'="" Set Kl="?" Do KLSELECT(JobNr,SuperV,UserName,.Kl) Quit ; RPLPR(JobNr,PRNr,KLNr) New D,U,Q,I,K,R,Prijs Quit:'$G(^ATK(0,0,"A")) Do INIT If $D(^KPR(PRNr)) Do .Set R=^KPR(PRNr,0) .For I=3:1:10,12:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"RPLPR",PRNr,0)=R .Set R=$P(R,D),K=$E(R,$L(R)-3,$L(R))_" " .Set R=$G(^KCOL(K,"N")) .For I="F","D","E" Set R=R_D_$G(^KCOL(K,I)) .Set ^HULP(JobNr,"RPLPR",PRNr,"K")=R .Set R=^KPR(PRNr,1) .For I=1:1:19,21,23:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"RPLPR",PRNr,1)=R .Set R=^KPR(PRNr,2) .For I=3:1:24,26:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"RPLPR",PRNr,2)=R .Set R=^KPR(PRNr,3) .For I=1:1:20,24:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"RPLPR",PRNr,3)=R .Set R="",I=$O(^KPR(PRNr,"J")) Set:$E(I)="J" R=^KPR(PRNr,I) .For I=1:1:5,8:1:12,17:1:$L(R,D) Set $P(R,D,I)="" .Set ^HULP(JobNr,"RPLPR",PRNr,"J")=R .Set R=$P($G(^KPBI("D",KLNr,PRNr)),D) .Set:R ^HULP(JobNr,"RPLPR",PRNr,"B")=R .Do PRIJS(KLNr,PRNr,.Prijs) .Merge ^HULP(JobNr,"RPLPR",PRNr,"P")=Prijs .Set ^HULP(JobNr,"RPLPR",PRNr)=1 Quit ; KLREF(JobNr,KLNr) Do KLREF^ATKJOB3(JobNr,KLNr) Quit ; MUNT(Munt) New D,U,Q Do INIT Set Munt=$G(Munt),Munt=$$MUNT^vhRtn1(Munt,1) Quit Munt ; PUTHULP(DataRef,Data) New I If $D(Data) Do .Set Count=$G(Count)+1,I="" .For Set I=$O(Data(I)) Quit:I="" Set ^HULP(JobNr,DataRef,Count,I)=Data(I) .Set ^HULP(JobNr,DataRef,Count)=Data Else Set:'$G(Count) Count=1 Set ^HULP(JobNr,DataRef)=Count Quit ; LESELECT(JobNr,KLNr,UserName,Le) Do LESELECT^ATKJOB5(JobNr,KLNr,UserName,Le) Quit ; KLSELECT(JobNr,SuperV,UserName,Kl) New D,U,Q,R,DataRef,TKl,Count Quit:'$G(^ATK(0,0,"A")) Do INIT Set DataRef="KLSEL" If Kl="?" Do Quit .Set Kl="" .For Set Kl=$O(Kl(Kl)) Quit:Kl="" Do ..Set R=^KKL(Kl,0),$P(R,D,8)=$S($$LAND^vhRtn1($P(R,D,8))="BE":"",1:$$LAND^vhRtn1($P(R,D,8))) ..Do:$$CHKCUST(R,SuperV,UserName) PUTHULP(DataRef,R) .Do PUTHULP(DataRef) If Kl?4.5N,$D(^KK1(Kl)) Do Quit .Set Kl=^KK1(Kl),R=^KKL(Kl,0),$P(R,D,8)=$S($$LAND^vhRtn1($P(R,D,8))="BE":"",1:$$LAND^vhRtn1($P(R,D,8))) .Do:$$CHKCUST(R,SuperV,UserName) PUTHULP(DataRef,R) Do PUTHULP(DataRef) Set TKl=$S(Kl="":0,1:Kl) For Set TKl=$O(^KKL(TKl)) Quit:TKl=""!($E(TKl,1,$L(Kl))'=Kl) Do .Set R=^KKL(TKl,0),$P(R,D,8)=$S($$LAND^vhRtn1($P(R,D,8))="BE":"",1:$$LAND^vhRtn1($P(R,D,8))) .Do:$$CHKCUST(R,SuperV,UserName) PUTHULP(DataRef,R) Do PUTHULP(DataRef) Quit ; CHKCUST(Value,SuperV,UserName) New D,U,Q,Regio,Check,KLNr Do INIT Set Check=1 If SuperV Do .If '$D(^ATK(SuperV,UserName,"K")),'$D(^ATK(SuperV,0,"K")) Quit .Set KLNr=$P(Value,D) .Quit:$D(^ATK(SuperV,UserName,"K","K",KLNr)) .If '$D(^ATK(SuperV,UserName,"K","K")),$D(^ATK(SuperV,0,"K","K",KLNr)) Quit .Set Regio=$G(^ATK(SuperV,UserName,"K","R"),$G(^ATK(SuperV,0,"K","R"))) Set:Regio="" Check=0 .If $L(Regio),(D_Regio_D)'[(D_$P(Value,D,20)_D) Set Check=0 Quit Check ; PRSELECT(JobNr,Pr,KLNr,Taal) New D,U,Q,R,DataRef,TPr,Count,PRNr,Pakket Do INIT Quit:'$G(^ATK(0,0,"A")) Set DataRef="PRSEL" Do SELPAK(DataRef,Pr,KLNr,Taal) Do SELKORTT(DataRef,Pr,KLNr,Taal) If '$D(^HULP(JobNr,DataRef)) Do SELIDNR(DataRef,Pr,KLNr,Taal) Do PUTHULP(DataRef) Quit ; SELPAK(DataRef,Pakket,KLNr,Taal) New R,PakRef,PakNr,Naam,PakOms,PRNr Set PakRef=Pakket,Pakket="" For Set Pakket=$O(^PAKKET("IK",KLNr,Pakket)) Quit:Pakket="" Do .Set PakNr=$P(^PAKKET("IK",KLNr,Pakket),D),Pakket(Pakket_" ")=PakNr Set Pakket=$O(Pakket(PakRef_" "),-1) For Set Pakket=$O(Pakket(Pakket)) Quit:Pakket=""!($E(Pakket,1,$L(PakRef))'=PakRef) Do .Set PakNr=$P(Pakket(Pakket),D) .Quit:'$D(^PAKKET("D",PakNr)) .Set PRNr=$O(^PAKKET("D",PakNr,"")) .Quit:'PRNr .Quit:'$$CHKPROD(PRNr,KLNr) .Set R=^PAKKET("D",PakNr) .Quit:$P(R,D,5) .Set Naam=$P(R,D,2),PakOms=$P(R,D,4) .Set R=D_Naam_$J("",25-$L(Naam))_" | " .If $O(^PAKKET("D",PakNr,PRNr))'="" Set $P(R,D)="P#"_PakNr .Else Set $P(R,D)=PRNr,R=R_$$PROMSCHR(PRNr,Taal) .Do PUTHULP(DataRef,R) Quit ; SELKORTT(DataRef,KortTxt,PRNr,Taal) New R,KortRef,PRNr,InpLen Set KortRef=KortTxt,KortTxt=$E(KortTxt,1,3)_" ",KortTxt=$O(^KPR1(KortTxt)) If $E($E(KortTxt,1,3),1,$L(KortRef))='$E(KortRef,1,3) Quit Set KortTxt=$E(KortRef,1,3)_" " Set:$L(KortTxt)>1 KortTxt=$O(^KPR1(KortTxt),-1) Set InpLen=$L(KortRef) Set:InpLen>3 InpLen=3 For Set KortTxt=$O(^KPR1(KortTxt)) Quit:KortTxt=""!($E(KortTxt,1,InpLen)'=$E(KortRef,1,InpLen)) Do .Quit:$E($E(KortTxt,1,3)_$E(KortTxt,5,25),1,$L(KortRef))'=KortRef .Set PRNr=$P(^KPR1(KortTxt),D) .Quit:'$$CHKPROD(PRNr,KLNr) .Set R=PRNr_D_$$PROMSCHR(PRNr,Taal) .Do PUTHULP(DataRef,R) Quit ; SELIDNR(DataRef,IDNr,KLNr,Taal) New R,IDRef,PRNr Set IDRef=IDNr,IDNr=IDNr_" " If $D(^KPR2(IDNr)) Do Quit .Set PRNr=$P(^KPR2(IDNr),D),R=PRNr_D_$$PROMSCHR(PRNr,Taal) .Do PUTHULP(DataRef,R) Set IDNr=$O(^KPR2(IDNr),-1) For Set IDNr=$O(^KPR2(IDNr)) Quit:IDNr=""!($E(IDNr,1,$L(IDRef))'=IDRef) Do .Set PRNr=$P(^KPR2(IDNr),D) .Quit:'$$CHKPROD(PRNr,KLNr) .Set R=PRNr_D_$$PROMSCHR(PRNr,Taal,1) .Do PUTHULP(DataRef,R) Quit ; PROMSCHR(PRNr,Taal,IDNr) New R,KortTxt,Omschr1,Omschr2 Set KortTxt=$P(^KPR(PRNr,0),D) Set Omschr1=$P(^KPR(PRNr,$S(Taal="F":1,1:0)),D,$S(Taal="F":22,1:2)) Set Omschr2=$P(^KPR(PRNr,$S(Taal="F":3,1:0)),D,$S(Taal="F":21,1:11)) Set:$G(IDNr) IDNr=$P(^KPR(PRNr,2),D,25) Set R=$S($D(IDNr):IDNr_$J("",11-$L(IDNr))_" | ",1:""),R=R_KortTxt_$J("",25-$L(KortTxt))_" | "_Omschr1 If $L(Omschr2) Do .Set:"-.,;:!?"'[$E(R,$L(R)) R=R_"," Set R=R_" " .Set R=R_Omschr2 Quit R ; CHKPROD(PRNr,KLNr) New Test,KortText,IDNr Set Test='$P(^KPR(PRNr,1),D,25) If Test Set IDNr=$P(^KPR(PRNr,2),D,25),Test=$E(IDNr)'=7 If Test Set KortText=$P(^KPR(PRNr,0),D) Set:KortText?.E1"*"4N1"*".E Test=KortText[("*"_KLNr_"*") Set:Test Test=$$CHKKS(PRNr,KLNr) Quit Test ; CHKKS(PRNr,KLNr) New Test,KlTyp Set Test=1 If $P(^KPR(PRNr,1),D,20),'$$ISPROD^KS(PRNr) Set Test='$$ISKLANT^KS(KLNr,1) Quit Test ; 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 ; FAX(JobNr,KLNr,UserName,FaxNr,Taal,List,NoPrice,LvhKlRef) Quit:'$G(^ATK(0,0,"A")) Do FAX^ATKFAX(JobNr,KLNr,UserName,FaxNr,Taal,List,NoPrice,LvhKlRef) Quit ; INIT Set D="\",U=";",Q="K" Quit ; REMERROR(Error,ErrDate,ErrTime,KLNr,UserName,WachtW) New WachtRef Do INIT Set WachtRef=UserName_D_WachtW Set ^ATK("E",ErrDate,KLNr,WachtRef,ErrTime)=Error Do INERROR^ATKMAIL(Error,KLNr,UserName,WachtW) Quit ; 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 .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 ; TIMEOUT(KLNr,UserName) Do TIMEOUT^ATKMAIL($G(KLNr),$G(UserName)) Quit ;