ATKWW ; Afstand-toegang voor klanten [ 12/09/2003 1:39 PM ] ; New Do INIT^vhTERMINA,EDIT^vhScherm("ATKWW") Quit ; INIT New UcUser Set SLogOn=$G(^ATK(0,0,"A")),STaal=$G(^ATK(0,0,"T")),SMenu=$G(^ATK(0,0,"M")),SPrijs=$G(^ATK(0,0,"P")) Set ATKTime=$G(ATKTime,SLogOn) Set:'ATKTime ATKTime=$H Set KLNr=$G(KLNr),User=$G(User),OWachtW=$$GET(KLNr,User),NWachtW="" If KLNr,'$D(^KK1(KLNr)) Set KLNr="" Set:'KLNr (User,OWachtW)="" Set UcUser=$S($L(User):$$UPCASE^vhRtn1(User),1:"") Do:$L(OWachtW) PUTATTR^vhScherm(17,"K","K") Do:OWachtW="*" PUTATTR^vhScherm(19,"B","B") Do GETLOGON(KLNr,UcUser),GETMENU(KLNr,UcUser),GETPRIJS(KLNr,UcUser),GETPRREF(KLNr,UcUser) Set UTaal=$S($L(UcUser):$G(^ATK(KLNr,UcUser,"T")),1:"") Quit ; GET(KLNr,User) New UcUser,WachtW Set UcUser=$$UPCASE^vhRtn1(User),WachtW=UcUser_D For Set WachtW=$O(^ATK("W",WachtW)) Quit:WachtW=""!($P(WachtW,D)'=UcUser) Quit:$P(^ATK("W",WachtW),D)=KLNr Set:$P(WachtW,D)'=UcUser WachtW="" Quit $P(WachtW,D,2) ; GENERATE(KLNr,User,ATKTime,OldVers) Quit:'$G(OldVers) $$GETWW^vhRtn1("W",6,7) ;Nieuwe versie (E-Commerce) ;Oude versie (VHisie) New I,UcUser,Count,WachtW,KlNaam,NWachtW Set UcUser=$$UPCASE^vhRtn1(User),WachtW=UcUser_D For Set WachtW=$O(^ATK("W",WachtW)) Quit:WachtW=""!($P(WachtW,D)'=UcUser) Quit:$P(^ATK("W",WachtW),D)=KLNr If WachtW=""!($P(WachtW,D)'=UcUser) Set Count=0,WachtW="" Else Set Count=$$COUNT(KLNr,UcUser)+1,WachtW=$P(WachtW,D,2) Set KlNaam=$P(^KKL(^KK1(KLNr),0),D,2) Set WachtW=KlNaam_UcUser_WachtW_Count_ATKTime Set NWachtW=0 For I=1:1:$L(WachtW) Set NWachtW=NWachtW+($A($E(WachtW,I))*$A($E(WachtW,I))) Set NWachtW=100000+NWachtW,NWachtW=$E(NWachtW,$L(NWachtW)-4,$L(NWachtW)) Quit NWachtW ; UPGRADE(KLNr,User,NWachtW) New UcUser,Count,WachtW,EComId Set UcUser=$$UPCASE^vhRtn1(User),Count=1,WachtW=$$GET(KLNr,User) Quit:WachtW=NWachtW Set MultCust=$$MULTCUST(KLNr,UcUser),EComId=$$ECOMID(KLNr,UcUser) If $L(WachtW) Do .Set Count=$$COUNT(KLNr,UcUser)+1 .Kill ^ATK("W",UcUser_D_WachtW),^ATK("IU",EComId) Set ^ATK("W",UcUser_D_NWachtW)=KLNr_D_Count_D_User_D_MultCust_D_EComId_D_$H,^ATK("IU",EComId)=UcUser_D_NWachtW Quit ; COUNT(KLNr,UcUser) New Count,WachtW Set WachtW=$$GET(KLNr,UcUser) If $L(WachtW) Set Count=$P(^ATK("W",UcUser_D_WachtW),D,2) Quit $G(Count) ; MULTCUST(KLNr,UcUser) New MultCust,WachtW Set WachtW=$$GET(KLNr,UcUser) If $L(WachtW) Set MultCust=$P(^ATK("W",UcUser_D_WachtW),D,4) Quit $G(MultCust) ; ECOMID(KLNr,UcUser) New EComId,WachtW Set WachtW=$$GET(KLNr,UcUser) If $L(WachtW) Set EComId=$P(^ATK("W",UcUser_D_WachtW),D,5) Set:$G(EComId)="" EComId=$$USERID() Quit EComId ; MBEPERK(X,KLNr,User) New Y,Titel,MenuIt,OldMenu Do STORE^vhTERMINA() Set X=$TR(X,D,";"),OldMenu=X,KLNr=$G(KLNr),User=$G(User) Set Titel=$P(sFR,"`",3)_" "_$S($L(User):User,$L(KLNr):$P(^KKL(^KK1(KLNr),0),D,2),1:"") Set MenuIt="" For Set MenuIt=$O(^POP("ATKWW","D",MenuIt)) Quit:MenuIt="" Do .Set R=^POP("ATKWW","D",MenuIt),Y($P(R,D))=MenuIt_" | "_$P(R,D,2)_D_MenuIt .If (";"_X_";")[(";"_MenuIt_";") Set X=X_";"_$P(R,D) Set Y(0)=$O(Y(""),-1),Y="20\MFKP\"_Titel Do ^POP If X="-"!(X=".") Set X=OldMenu Else Set %SC=1 If $L(X) For I=1:1:$L(X,";") If $D(Y($P(X,";",I))) Set $P(X,";",I)=$P(Y($P(X,";",I)),D,2) Do REFRESH^vhTERMINA() Quit $TR(X,";",D) ; GETLOGON(KLNr,UcUser) Set KLNr=$G(KLNr),UcUser=$G(UcUser) Set (KLogOn,ULogOn)="" If KLNr Set KLogOn=$G(^ATK(KLNr,0,"A")) Set:$L(UcUser) ULogOn=$G(^ATK(KLNr,UcUser,"A")) Quit ; GETMENU(KLNr,UcUser) Set KLNr=$G(KLNr),UcUser=$G(UcUser) Set (KMenu,UMenu)="" If KLNr Set KMenu=$G(^ATK(KLNr,0,"M")) Set:$L(UcUser) UMenu=$G(^ATK(KLNr,UcUser,"M")) Quit ; GETPRIJS(KLNr,UcUser) Set KLNr=$G(KLNr),UcUser=$G(UcUser) Set (KPrijs,UPrijs)="" If KLNr Do .Set KPrijs=$G(^ATK(KLNr,0,"P")) .If $L(UcUser) Set UPrijs=$G(^ATK(KLNr,UcUser,"P")) Set:UPrijs="" UPrijs=KPrijs Quit ; GETPRREF(KLNr,UcUser) Set KLNr=$G(KLNr),UcUser=$G(UcUser) Set (KPrRef,UPrRef)="" If KLNr Do .Set KPrRef=$G(^ATK(KLNr,0,"R")) .If $L(UcUser) Set UPrRef=$G(^ATK(KLNr,UcUser,"R")) Set:UPrRef="" UPrRef=KPrRef Quit ; NEWCUST New Rubriek Set KLNr=X,(User,UTaal,OWachtW,NWachtW)="" Do .New X,Dag .Do GETLOGON(KLNr),PUT^vhScherm("KLOGON",KLogOn),PUT^vhScherm("ULOGON",ULogOn) .Do PUT^vhScherm("UTAAL",UTaal) .Do GETMENU(KLNr),PUT^vhScherm("KMENU",KMenu),PUT^vhScherm("UMENU",UMenu) .Do GETPRIJS(KLNr),PUT^vhScherm("KPRIJS",KPrijs),PUT^vhScherm("UPRIJS",UPrijs) .Do GETPRREF(KLNr),PUT^vhScherm("KPRREF",KPrRef),PUT^vhScherm("UPRREF",UPrRef) .Do REMATTR^vhScherm(17,"K","K"),REMATTR^vhScherm(19,"B","B") .Do REPAINT^vhScherm("GEBRUIKER;ULOGON;UTAAL;UMENU;UPRIJS;UPRREF;OWACHTW;NWACHTW;WEEK") .For Dag=1:1:7 Do REPAINT^vhScherm("DAG"_Dag) Quit ; NEWUSER New UcUser Set User=X,UcUser=$$UPCASE^vhRtn1(User),(OWachtW,NWachtW)="" If $L(X) Do .Set OWachtW=$$GET^ATKWW(KLNr,X) .If $L(OWachtW) Do ..If $L($P($G(^ATK("W",UcUser_D_OWachtW)),D,3)) Set (X,User)=$P(^ATK("W",UcUser_D_OWachtW),D,3) ..Else Set %SC("U")=1 .Else Set NWachtW=$$GENERATE^ATKWW(KLNr,X,ATKTime),%SC("U")=1 Do .New X,Dag .Do GETLOGON(KLNr,UcUser),PUT^vhScherm("KLOGON",KLogOn),PUT^vhScherm("ULOGON",ULogOn) .Set UTaal=$S($L(UcUser):$G(^ATK(KLNr,UcUser,"T")),1:"") .Do PUT^vhScherm("UTAAL",UTaal) .Do GETMENU(KLNr,UcUser),PUT^vhScherm("KMENU",KMenu),PUT^vhScherm("UMENU",UMenu) .Do GETPRIJS(KLNr,UcUser),PUT^vhScherm("KPRIJS",KPrijs),PUT^vhScherm("UPRIJS",UPrijs) .Do GETPRREF(KLNr,UcUser),PUT^vhScherm("KPRREF",KPrRef),PUT^vhScherm("UPRREF",UPrRef) .Do @($S($L(OWachtW):"PUT",1:"REM")_"ATTR^vhScherm(17,""K"",""K"")") .Do @($S(OWachtW="*":"PUT",1:"REM")_"ATTR^vhScherm(19,""B"",""B"")") .Do REPAINT^vhScherm("ULOGON;UTAAL;UMENU;UPRIJS;UPRREF;OWACHTW;NWACHTW;WEEK") .For Dag=1:1:7 Do REPAINT^vhScherm("DAG"_Dag) Quit ; NEWWW(NWachtW) New Dag,OWachtW Do @($S(NWachtW="*":"PUT",1:"REM")_"ATTR^vhScherm(19,""B"",""B"")") Do REPAINT^vhScherm("WEEK") For Dag=1:1:7 Do REPAINT^vhScherm("DAG"_Dag) Quit ; RUBREXEC If X="-"!(X=5)!(X=10)&%SC Do .If '$G(%SC("S")),'$G(%SC("K")),'$G(%SC("U")) Quit .New Save,Modified .Set Modified="Modified",(Modified(1),Modified(2),Modified(3))="" .Set:$G(%SC("S")) Modified(2)="het systeem" .If $G(%SC("K")) Do ..Set:$L(Modified(2)) Modified(2)=Modified(2)_$S($G(%SC("U")):", ",1:" en ") ..Set Modified(2)=$G(Modified(2))_"klant "_$P(^KKL(^KK1(KLNr),0),D,2) .If $G(%SC("U")) Do ..Set:$L(Modified(2)) Modified(2)=Modified(2)_" en " ..Set Modified(2)=$G(Modified(2))_"gebruiker "_User .Set Save=$$^vhTXTPOP("ATKWW","SAVE") .If $L(Save) Set Save=$S(Save="J":"-",Save="N":".",1:"") .Do:Save="-" SAVE^ATKWW .If Save="" Set X="" .Else Kill %SC Set %SC=0 Quit ; SAVE New UcUser Set UcUser=$$UPCASE^vhRtn1(User) Do SLOGON(UcUser),STAAL(UcUser),SMENU(UcUser),SPRIJS(UcUser),SPRREF(UcUser) If $L(User) Do .If $L(OWachtW) Set $P(^ATK("W",UcUser_D_OWachtW),D,3)=User .If $L(NWachtW) Do UPGRADE(KLNr,User,NWachtW) Quit ; SLOGON(UcUser) Do SSYSTEM("A",SLogOn) Quit:'KLNr Kill ^ATK(KLNr,0,"A") Set:$L(KLogOn) ^ATK(KLNr,0,"A")=KLogOn If $L(UcUser) Do .Kill ^ATK(KLNr,UcUser,"A") .Set:KLogOn=0&(ULogOn="") ULogOn=1 .If $L(ULogOn),ULogOn'=KLogOn Set ^ATK(KLNr,UcUser,"A")=ULogOn Quit ; STAAL(UcUser) Do SSYSTEM("T",STaal) Quit:'KLNr If $L(UcUser) Do .Kill ^ATK(KLNr,UcUser,"T") .Set:$L(UTaal) ^ATK(KLNr,UcUser,"T")=UTaal Quit ; SMENU(UcUser) Do SSYSTEM("M",SMenu) Quit:'KLNr Kill ^ATK(KLNr,0,"M") Set:$L(KMenu) ^ATK(KLNr,0,"M")=KMenu If $L(UcUser) Do .Kill ^ATK(KLNr,UcUser,"M") .If $L(UMenu),UMenu'=KMenu Set ^ATK(KLNr,UcUser,"M")=UMenu Quit ; SPRIJS(UcUser) Do SSYSTEM("P",SPrijs) Quit:'KLNr Kill ^ATK(KLNr,0,"P") Set:KPrijs=0 KPrijs="" Set:$L(KPrijs) ^ATK(KLNr,0,"P")=KPrijs If $L(UcUser) Do .Kill ^ATK(KLNr,UcUser,"P") .Set:UPrijs=0 UPrijs="" Set:KPrijs&(UPrijs'="±") UPrijs=+UPrijs .If $L(UPrijs),UPrijs'=KPrijs Set ^ATK(KLNr,UcUser,"P")=UPrijs Quit ; SPRREF(UcUser) Quit:'KLNr Kill ^ATK(KLNr,0,"R") Set:$L(KPrRef) ^ATK(KLNr,0,"R")=KPrRef If $L(UcUser) Do .Kill ^ATK(KLNr,UcUser,"R") .Set:KPrRef&(UPrRef="") UPrRef=0 .If $L(UPrRef),UPrRef'=KPrRef Set ^ATK(KLNr,UcUser,"R")=UPrRef Quit ; SSYSTEM(Type,Data) Do .If Type'="T",Type'="P" Quit .If Type="T",Data'="" Quit .If Type="P",Data=1 Quit .Kill Data Kill ^ATK(0,0,Type) Set:$D(Data) ^ATK(0,0,Type)=Data Quit ; AKTCUST(KLNr) New sEr,Tekst Set KLNr=$G(KLNr),sEr=$S($L(KLNr):"",1:-1) Do:$L(sEr) TXTL^vhINP("ATKWW","AKTCUST") Quit sEr ; AKTUSER(User) New sEr,Tekst Set User=$G(User),sEr=$S($L(User):"",1:-1) Do:$L(sEr) TXTL^vhINP("ATKWW","AKTUSER") Quit sEr ; MODSYS(sFld) New sEr,Tekst,Rubriek,Nok Set sFld=$G(sFld),Rubriek=$S(sFld:$P($G(sScrnDef(sFld)),"`",3),1:""),Nok=1 Do TXTL^vhINP("ATKWW","MODSYS") Set sEr=$S($$CHECK^vhWACHTW("MANAGER",2201,"",0):"",1:-1) Quit sEr ; MODRUB(Rubriek) Set Rubriek=$G(Rubriek) Set:$L(Rubriek) Rubriek=" """""_Rubriek_"""""" Quit Rubriek ; VERANTW(KLNr,Old) New R,User,Count,Optie Set User="",Count=0 For Set User=$O(^ATK("W",User)) Quit:User="" Do .Set R=^ATK("W",User) .Quit:KLNr'=$P(R,D) .Set R=$P(R,D,3) Set:R="" R=$P(User,D) Set Count=Count+1,Optie("AFTER",Count)=R Set Optie("SELECT")=$G(Old),Optie("CASE")="L",Optie("AANSPR")=0,Optie("NAME")=1 Set FP=2201 Write @F,@F1 Quit $$SELECT^PERS("K",KLNr,.Optie) ; NWWHELP() New R If OWachtW="*" Set R="[] = * (dagelijks nieuw)" Else Set R=$S($L(OWachtW):"[] = "_OWachtW_" ",1:"")_"*[] = dagelijks nieuw" Quit R ; LIST(KLNr,User,Week) New FromDate,ToDate,Date Set User=$G(User),Week=$G(Week) Set:User="" User=$$VERANTW(KLNr) Quit:User="" Set Week=$$INTDATE^vhLib.DataTypes(Week) Set:'Week Week=$H Set FromDate=$$CALCDATE^vhLib.DataTypes(Week,"W","FD"),ToDate=$$CALCDATE^vhLib.DataTypes(Week,"W","LD") Write @F11,@F1,!,@FMTU,User,@FMTu,!!,@FMTU,"Datum | Kode ",@FMTu For Date=FromDate:1:ToDate Do .Write:Date=ToDate @FMTU .Write !,$$EXTDATE^vhLib.DataTypes(Date)," | ",$$GENERATE(KLNr,User,Date*Date,1) .Write:Date=ToDate @FMTu Quit ; USERID() New I,UserId Set UserId=$R(1E8) If $D(^ATK("IU",UserId))!(UserId<1E6) Set UserId=$$USERID() Quit UserId ; CHKUSER New R,UPCUser,Index Set:$L(X)<5&$L(X) sEr="Minimum lengte is 5" If zb,sEr'=1 Set X=$$VERANTW^ATKWW(KLNr,User),sEr=-1 Set:X="" X=User Set OWachtW=$$GET(KLNr,X) Set UPCUser=$$UPCASE^vhRtn1(X),Index="" For Set Index=$O(^ATK("W",Index)) Quit:Index="" Do .Quit:$P(Index,D)'=UPCUser .Set R=^ATK("W",Index) .If $L(OWachtW),$P(R,D)=KLNr Quit .Set sEr=X_" bestaat reeds bij klant "_$P(^KKL(^KK1($P(R,D)),0),D,2) Quit ;