EWRCPST ;E'WMS Status receptie [ 02/21/2002 4:56 PM ] ; GOTO VERWERK ; RCPNR(MemRCPNr) Goto VERWERK VERWERK New OldRCPNr,RCPTyp,RCPNr,RCPDate,RCPVRef New Input,LD,LKNr,RCPStat,RCPProb,WMSStat,Krit,Extern Set WMSStat="" Do INIT Do SELECT Quit:'%SC Do FETCH(.Krit) If '$D(^HULP(%J,"L")) Do .Do ADD^vhScherm(2,24),REFRESH .Set R=$$^vhTXTPOP("EWRCPST","NORCP","",$S(Krit("K","RCPNR")="T":"terugnames",1:"toeleveringen")) Else Do .Do GETREFS(1) .Do REFRRCP For Do REFRESH,COMMAND Quit:Input="CANC" Kill ^HULP(%J) Quit ; COMMAND New Quit Set Input=$$SCROLL^vhLIST(.LD,,1) Do GETREFS(LD("SELECT")) Do:Krit("A","DISPLAY")="S" REFRRCP If Input=")" Do Quit:Quit .If Krit("A","DISPLAY")="S" Set Quit='$$NEXTREF(LD("SELECT"),+1) Write:Quit *7 Quit .Set Quit=0 .If RCPTyp="L",$O(^RCP("IL",LKNr,RCPNr))="" Write *7 Set Quit=1 If Input="(" Do Quit:Quit .If Krit("A","DISPLAY")="S" Set Quit='$$NEXTREF(LD("SELECT"),-1) Write:Quit *7 Quit .Set Quit=0 .If RCPTyp="L",$O(^RCP("IL",LKNr,RCPNr),-1)="" Write *7 Set Quit=1 If Input="COM" Set Input="" Do CALL^vhMenu("EWRCPST") Quit:Input="" Do EXEC^vhMenu("EWRCPST",.Input) Quit ; SELECT Do MACRO($$SELMACRO(1)) If $G(MemRCPNr),$D(^RCP("D",MemRCPNr)) Do .Set Krit("K","RCPNR")=MemRCPNr .Kill MemRCPNr .Set %SC=1 .Do MODKRIT .Do ADD^vhScherm(2,24) Else Do .Do EDIT^vhScherm("EWRCPSTS") .Do:%SC MODKRIT Quit ; SELEDIT(Macro) New %SC,KritTemp Set Macro=$G(Macro) Merge KritTemp=Krit If $L(Macro) Do .Kill Krit .Do MACRO(Macro) .If $D(Krit) Do ..Set %SC=1 ..Do MODKRIT Else Do SELECT If '%SC Merge Krit=KritTemp Else Do REWRITE(.Krit,,2) Quit ; MODKRIT Set:Krit("A","SORT")="" Krit("A","SORT")="T" Set:$G(Krit("K","KLNR")) Krit("K","RCPNR")="T" If Krit("K","RCPNR") Set Krit("A","DISPLAY")="R" Else If Krit("K","RCPNR")="T" Do .New KLNr,RCPNr .Set Krit("A","DISPLAY")="S",KLNr=$O(^RCP("IK","")) .Quit:$O(^RCP("IK",""),-1)'=KLNr .Set Krit("A","DISPLAY")="R" .Quit:'KLNr .Set RCPNr=$O(^RCP("IK",KLNr,"")) .Quit:$O(^RCP("IK",KLNr,""),-1)=RCPNr .Set Krit("A","DISPLAY")="S" Else If Krit("K","LEVNR") Do .New LEVNr,RCPNr .Set Krit("A","DISPLAY")="S",LEVNr=Krit("K","LEVNR") .Set RCPNr=$O(^RCP("IL",LEVNr,"")) .Quit:$O(^RCP("IL",LEVNr,""),-1)'=RCPNr .Set Krit("A","DISPLAY")="R" Else Set Krit("A","DISPLAY")=$S($O(^RCP("D","")):"S",1:"R") If Krit("K","RCPNR") Set RCPNr=Krit("K","RCPNR") Do INITRCP If Krit("K","LEVNR") Set LKNr=Krit("K","LEVNR") Kill Krit("M") Merge Krit("M","A")=Krit("A"),Krit("M","K")=Krit("K") Quit ; RCPNR2 New R Do FIELD^vhScherm("EWRCPSTS","RCPNR") If %SC Do INITRCP Quit ; LEVER(LEVNr) New %J,OldRCPNr,RCPTyp,RCPNr,RCPDate,RCPVRef New Input,PRNr,LD,LKNr,RCPStat,RCPProb,WMSStat,Krit,IsHalux Set IsHalux=LEVNr=6332 Quit:'$D(^KL1(LEVNr)) Do INIT Set Krit("K","LEVNR")=LEVNr Do MODKRIT Do FETCH(.Krit),ADD^vhScherm(1,24) For Do REFRESH,COMMAND Quit:Input="CANC" Kill ^HULP(%J) Quit ; TOELEV(TOENr) New %J,OldRCPNr,RCPTyp,RCPNr,RCPDate,RCPVRef New Input,PRNr,LD,LKNr,LEVNr,RCPStat,RCPProb,WMSStat,Krit,Extern Quit:'$D(^KTO1(TOENr)) Set Extern=1 Do INIT Set LEVNr=$P(^KTO1(TOENr),D) Set Krit("K","LEVNR")=LEVNr,Krit("K","TOENR")=TOENr Do MODKRIT Do FETCH(.Krit),ADD^vhScherm(1,24) Do GETREFS(1) For Do REFRESH,COMMAND Quit:Input="CANC" Kill ^HULP(%J) Quit ; INIT New Rubriek Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Do INIT^vhLIST("EWRCPST","LIJST",.LD) Set (OldRCPNr,RCPTyp,LKNr,RCPNr,RCPDate,RCPVRef,RCPStat,RCPProb)="",Extern=$G(Extern,0) Do INITKR Do:'Extern ADD^vhScherm(1,24),REFRESH Quit ; INITKR Set Krit("K","RCPNR")="" Set Krit("K","LEVNR")="" Set Krit("K","KLNR")="" Set Krit("K","PRNR")="" Set Krit("K","FDAT")="" Set Krit("K","TDAT")="" Set Krit("K","STAT")="" Set Krit("K","LIJN")="" Set Krit("A","SORT")="" Set Krit("A","DISPLAY")="" Quit ; INITRCP New R If $G(RCPNr) Do .Set R=^RCP("D",RCPNr),RCPTyp=$P(R,D),LKNr=$P(R,D,2),RCPVRef=$P(R,D,3) .Set RCPDate=$P(R,D,4),RCPStat=$P(R,D,20),RCPProb=$P(R,D,21) Else Set LKNr=Krit("K","LEVNR"),(RCPTyp,RCPDate,RCPVRef,RCPStat,RCPProb)="" Quit ; REFRRCP If RCPNr'=OldRCPNr Do .Do INITRCP,HOOFDING .Set OldRCPNr=RCPNr Quit ; HOOFDING New SubTitel Set SubTitel=$G(Krit("A","DISPLAY")) Set SubTitel=$S(SubTitel="S":"Selectie",SubTitel="R":"Receptieoverzicht",SubTitel="D":"Receptiedetail",1:"") Set:$P($G(^EWREC("DISP")),D,2) SubTitel=SubTitel_"*" ;Indien knipperend display in magazijn Do DISPLAY^vhScherm("EWRCPSTH",,,,,1) Quit REFRESH New R,SubTitel,SubTitel If sRT=1 Do DISPLAY^vhScherm("EWRCPST") If sRT<$P(LD("POS"),";") Do HOOFDING If sRT<($P(LD("POS"),";")+$P(LD("POS"),";",3)) Do WRITE^vhLIST(.LD) Do RESET^vhScherm Write @FMTCL Quit ; REWRITE(Krit,NewRcp,Top) New I,R,Selected,Quit Set NewRcp=$G(NewRcp),Top=$G(Top) Set Selected=$G(^HULP(%J,"L",LD("SELECT"))) Set:'Top Top=$S(NewRcp:2,1:$P(LD("POS"),";")+$P(LD("POS"),";",3)-1) Do INITRCP,FETCH(.Krit) If NewRcp Set LD("SELECT")=1 Else Do .Set Quit=0 .For I=1:1 Quit:'$D(^HULP(%J,"L",I)) Do Quit:Quit ..Set R=^HULP(%J,"L",I) ..Set:$P(R,D,1,5)=$P(Selected,D,1,5) LD("SELECT")=I,Quit=1 Set LD("MAX")=$O(^HULP(%J,"L",""),-1) Set:LD("SELECT")>LD("MAX") LD("SELECT")=LD("MAX") Set:'LD("SELECT") LD("SELECT")=1 Kill LD("OFFSET") Do GETREFS(LD("SELECT")) Do ADD^vhScherm(Top,24),REFRESH Set:'$D(^HULP(%J,"L")) R=$$^vhTXTPOP("EWRCPST","NORCP","",$S(Krit("K","RCPNR")="T":"terugnames",1:"toeleveringen")) Quit ; FETCH(Krit) New R,Rec,RCPNr,RCPTyp,LKNr,TBNr,TBLUNr,TLNr,ORDNr,Count,SortKey,LKSortKey New Index,OneLK,OneRcp,PRNr,TempTBNr,TempPRNr,MPRNr,KLNr,ORDNr Kill ^HULP(%J,"S"),^HULP(%J,"L"),^HULP(%J,"SLK") Set (OneLK,OneRcp)="",Index=$S(Krit("K","RCPNR")="T":"IK",1:"IL"),Count=0 Set LKNr="" If Krit("K","LEVNR") Set LKNr=Krit("K","LEVNR"),OneLK=1 Set RCPNr="" If Krit("K","RCPNR") Set RCPNr=Krit("K","RCPNR"),OneRcp=1 Do SORTINDEX(Index,LKNr) ; Sortering op naam Set LKSortKey="" For Set LKSortKey=$O(^HULP(%J,"SLK",LKSortKey)) Quit:LKSortKey="" Do Quit:OneRcp .Set LKNr=^HULP(%J,"SLK",LKSortKey) .Set:'OneRcp RCPNr="" .For Set:'OneRcp RCPNr=$O(^RCP(Index,LKNr,RCPNr)) Quit:RCPNr="" Do Quit:OneRcp ..Quit:'$D(^RCP("D",RCPNr)) ..Set R=^RCP("D",RCPNr),RCPTyp=$P(R,D),LKNr=$P(R,D,2) ..Quit:'$$CHKRCP(.Krit,RCPNr) ..If Krit("A","DISPLAY")="S" Set Rec=RCPTyp_D_LKNr_D_RCPNr_"\\\\\\\\"_R,^HULP(%J,"S",0)=Rec ..Set (TBNr,KLNr,ORDNr)="" ..For Set TBNr=$O(^RCP("D",RCPNr,"D",TBNr)) Quit:TBNr="" Do ...If $G(IsHalux),Krit("A","DISPLAY")="S",RCPTyp="L",LKNr=6332,'KLNr,'ORDNr Do ....Set R=$G(^KTO(LKNr,TBNr,1)),KLNr=$P(R,D,8),ORDNr=$P(R,D,7) ...Set TBLUNr="" ...For Set TBLUNr=$O(^RCP("D",RCPNr,"D",TBNr,TBLUNr)) Quit:TBLUNr="" Do ....If Krit("A","DISPLAY")'="D" Do Quit .....Quit:'$$CHKRCP(.Krit,RCPNr,TBNr,TBLUNr) .....Set R=^RCP("D",RCPNr,"D",TBNr,TBLUNr),PRNr=$P(R,D) .....Set Rec=RCPTyp_D_LKNr_D_RCPNr_D_TBNr_D_TBLUNr_"\\\\\\"_R .....If RCPTyp="L" Do ......Set TLNr=$G(^TO("IU",TBNr,TBLUNr)) ......Quit:'TLNr ......Set R=^KTO(LKNr,TBNr,TLNr),ORDNr=$P(R,D,27) Set:ORDNr $P(Rec,D,7)=ORDNr .....Set SortKey=$$SORTKEY(.Krit,Rec) .....Set ^HULP(%J,"S",SortKey)=Rec ....Set STBLUNr="" ....Set R=^RCP("D",RCPNr,"D",TBNr,TBLUNr),MPRNr=$P(R,D) ....For Set STBLUNr=$O(^RCP("D",RCPNr,"D",TBNr,TBLUNr,STBLUNr)) Quit:STBLUNr="" Do .....Set R=^RCP("D",RCPNr,"D",TBNr,TBLUNr,STBLUNr),PRNr=$P(R,D) .....Set Rec=RCPTyp_D_LKNr_D_RCPNr_D_TBNr_D_TBLUNr_D_STBLUNr_"\\\\\"_R .....Set SortKey=$$SORTKEY(.Krit,Rec) .....Set ^HULP(%J,"S",SortKey)=Rec .....If MPRNr,MPRNr'=PRNr Do ......Set R=^RCP("D",RCPNr,"D",TBNr,TBLUNr),PRNr=$P(R,D),$P(R,D,2,3)="" ......Set Rec=RCPTyp_D_LKNr_D_RCPNr_D_TBNr_D_TBLUNr_"\\\\\\"_R ......Set SortKey=$$SORTKEY(.Krit,Rec) ......Set ^HULP(%J,"S",SortKey)=Rec,MPRNr="" ..If $G(IsHalux),Krit("A","DISPLAY")="S",RCPTyp="L",LKNr=6332,KLNr,ORDNr Do ...Set R=^HULP(%J,"S",0),$P(R,D,8,9)=KLNr_D_ORDNr,^HULP(%J,"S",0)=R ..Do ...If Krit("A","DISPLAY")="S",$O(^HULP(%J,"S",0))="" Quit ...Set (SortKey,TempTBNr,TempPRNr)="" ...For Set SortKey=$O(^HULP(%J,"S",SortKey)) Quit:SortKey="" Do ....Set Rec=^HULP(%J,"S",SortKey) ....Set $P(Rec,D,10)="" ....If SortKey'=0 Do .....If TempTBNr=$P(Rec,D,4) Set $P(Rec,D,10)=1 If TempPRNr=$P(Rec,D,11) Set $P(Rec,D,10)=2 .....Set TempTBNr=$P(Rec,D,4),TempPRNr=$P(Rec,D,11) ....Set Count=Count+1,^HULP(%J,"L",Count)=Rec ..Kill ^HULP(%J,"S") Kill ^HULP(%J,"S"),^HULP(%J,"SLK") Quit ; CHKRCP(Krit,RCPNr,TBNr,TBLUNr) New R,Ok,Kriteria Set TBNr=$G(TBNr),TBLUNr=$G(TBLUNr) Set Kriteria="",Ok=1 If '$G(Krit("K","RCPNR")),'$L($G(Krit("K","STAT"))),'TBNr Set R=^RCP("D",RCPNr) Set:$P(R,D,20)="I" Ok=0 If $G(Krit("K","RCPNR"))="T",$G(Krit("K","KLNR")) Set R=^RCP("D",RCPNr) Set Ok=$P(R,D,2)=Krit("K","KLNR") If Ok For Set Kriteria=$O(Krit("K",Kriteria)) Quit:Kriteria="" Do Quit:'Ok .Set R=Krit("K",Kriteria) .Quit:R="" .Set Ok=$$CHKKRIT(Kriteria,RCPNr,TBNr,TBLUNr,R) Quit Ok ; CHKKRIT(Krit,RCPNr,TBNr,TBLUNr,Value) New R,Ok Set Ok=1 If TBNr Do .If Krit="LIJN" Do ..New WMSStat,WMSProb,TempVal,Urgent ..Set Ok=1 ..If $L(Value) Do ...Set R=^RCP("D",RCPNr,"D",TBNr,TBLUNr),WMSStat=$P(R,D,2),WMSProb=$P(R,D,3) Set:WMSStat="" WMSStat="Z" ...Set Urgent=$$IsUrgent^FLOWTOE(TBNr,TBLUNr),Urgent=$S(Urgent:"U",1:"") ...Set TempVal="" ...For Quit:Value="" Do ....Set R=$P(^RES("EWRCPST","PI","LIJN","D",$P(Value,";")),"`",3) ....Set TempVal=TempVal_";"_$S($L(R):R,1:$P(Value,";")),Value=$P(Value,";",2,99) ...Set $E(TempVal)="",Value=TempVal ...Set Ok=";"_Value_";"[(";"_WMSStat_";") ...If 'Ok,$L(WMSProb) Set Ok=";"_Value_";"[(";"_WMSProb_";") ...If Ok,";"_Value_";"[";U;" Set Ok=Urgent="U" ...If Value="U" Set Ok=Value=Urgent .If Krit="PRNR" Do ..New PRNr ..Set Ok=1 ..If $L(Value) Set R=^RCP("D",RCPNr,"D",TBNr,TBLUNr),PRNr=$P(R,D),Ok=PRNr=Value Else Do .If Krit="RCPNR" Set Ok=RCPNr=Value Set:'Ok Ok=Value="T" .If Krit="TOENR" Set Ok=TBNr=Value Set:'Ok Ok=TBNr="" .If Krit="LEVNR" Do ..New LEVNr ..Set Ok=1 ..If $L(Value) Set R=^RCP("D",RCPNr),LEVNr=$P(R,D,2),Ok=Value=LEVNr .If Krit="FDAT" Do ..New RCPDate ..Set Ok=1 ..If $L(Value) Set R=^RCP("D",RCPNr),RCPDate=$P(R,D,4),Ok=RCPDate'Value .If Krit="STAT" Do ..New WMSStat,WMSProb,TempVal ..Set Ok=1 ..If $L(Value) Do ...Set R=^RCP("D",RCPNr),WMSStat=$P(R,D,20),WMSProb=$P(R,D,21) Set:WMSStat="" WMSStat="Z" ...Set TempVal="" ...For Quit:Value="" Do ....Set R=$P(^RES("EWRCPST","PI","STATUS","D",$P(Value,";")),"`",3) ....Set TempVal=TempVal_";"_$S($L(R):R,1:$P(Value,";")),Value=$P(Value,";",2,99) ...Set $E(TempVal)="",Value=TempVal ...Set Ok=";"_Value_";"[(";"_WMSStat_";") ...If 'Ok,$L(WMSProb) Set Ok=";"_Value_";"[(";"_WMSProb_";") Quit Ok ; SORTKEY(Krit,Rec) New R,SortKey,TBNr,TBLUNr,STBLUNr,PRNr Set TBNr=$P(Rec,D,4),TBLUNr=$P(Rec,D,5),STBLUNr=$P(Rec,D,6) Set SortKey=TBNr_"-"_TBLUNr_"-"_STBLUNr Set:Krit("A","SORT")="P" PRNr=$P(Rec,D,11),SortKey=$$SORTKEY^PRODUKT(PRNr)_SortKey Quit SortKey ; ; Sorteren van de numerieke index op leverancier- of klantnaam SORTINDEX(Index,LKNr) New SortKey,OneLK Set OneLK=LKNr For Set:'OneLK LKNr=$O(^RCP(Index,LKNr)) Quit:LKNr="" Do Quit:OneLK . Set SortKey=$S(Index="IK":^KK1(LKNr),1:^KL1(LKNr)),^HULP(%J,"SLK",SortKey)=LKNr Quit ; NEWRCP New %SC Do RCPNR2 Do:%SC REWRITE(.Krit,1) Quit ; NEXTRCP(Dir) New NextRef If Krit("A","DISPLAY")="S" Do .Set NextRef=$$NEXTREF(LD("SELECT"),Dir) .If 'NextRef Write *7 Quit .Set LD("SELECT")=NextRef .Do REWRITE(.Krit,,7) Else Do .If $O(^RCP("IL",LKNr,RCPNr),Dir)="" Write *7 .Else Do ..Set RCPNr=$O(^RCP("IL",LKNr,RCPNr),Dir),Krit("K","RCPNR")=RCPNr ..Do REWRITE(.Krit,1) Quit ; NEXTREF(Line,Dir) New R,RCPNr,Quit Set R=$G(^HULP(%J,"L",Line)),RCPNr=$P(R,D,3),Quit=0 For Set Line=$O(^HULP(%J,"L",Line),Dir) Quit:'Line Do Quit:Quit .Set R=^HULP(%J,"L",Line) .If RCPNr'=$P(R,D,3) Set Quit=$P(R,D)=$P(R,D,11) Quit Line ; DISPLAY(Display) If Display="S",Krit("M","A","DISPLAY")'="S" Quit Set Krit("A","DISPLAY")=Display If Display="S" Set Krit("K","RCPNR")=Krit("M","K","RCPNR"),Krit("K","LEVNR")=Krit("M","K","LEVNR") Else Set Krit("K","RCPNR")=RCPNr,Krit("K","LEVNR")="" Do REWRITE(.Krit,,1) Quit ; URGENTIE New R,RCPNr,TBNr,TBLUNr,WMSStat,WasUrgent Set R=$G(^HULP(%J,"L",LD("SELECT"))),RCPNr=$P(R,D,3),TBNr=$P(R,D,4),TBLUNr=$P(R,D,5) If RCPNr Do .Quit:'$$LOCK(RCPNr) .Set WasUrgent=$$IsUrgent^FLOWTOE(TBNr,TBLUNr) .Set R="Do "_$S(WasUrgent:"Un",1:"")_"MarkUrgent^FLOWTOE(TBNr,TBLUNr)" .Xecute R .Do ENABLE^vhLIST(.LD,LD("SELECT"),1) .Do UNLOCK(RCPNr) Quit ; ZENDURG(RCPNr,TBNr,TBLUNr) New C,DH,Urgentie,SubLNr Quit:'RCPNr Set Urgentie=$$IsUrgent^FLOWTOE(TBNr,TBLUNr) Set DH=$$OPEN^EWRECS Set SubLNr="" ;Door sturen voor elke masterlijn For Set SubLNr=$O(^RCP("D",RCPNr,"D",TBNr,TBLUNr,SubLNr)) Quit:SubLNr="" Do:SubLNr#100=0 .Set C="R04" .Set C("RCPNR")=RCPNr,C("BONNR")=TBNr .Set C("RCPLNR")=TBLUNr*100+(SubLNr\100) .Set C("URGENTIE")=Urgentie .Do PUT^EWRECS(DH,"C") Do CLOSE^EWRECS(DH) Quit ; CHKDEL(RCPNr,TBNr) New ZendRef,WaitRef,WH,Ref Quit:'RCPNr Set R=^RCP("D",RCPNr) Set ZendRef="R03" Set ZendRef("DATUM")=$H Set ZendRef("RCPNR")=RCPNr Set:$G(TBNr) ZendRef("BONNR")=TBNr Set WaitRef="C07" Set WaitRef("RCPNR")=RCPNr Set:$G(TBNr) ZendRef("BONNR")=TBNr Set WH=$$ZENDWAIT^EWRECW("ZendRef","WaitRef") Do GET^EWRECW(WH,"Ref") Quit $G(Ref("STATUS"))="CC" ; DELRCPNR(Delete) New R,WMSStat,LOCKNr Set Delete=$G(Delete),LOCKNr=RCPNr If 'Delete Do Quit:'R .Set R="$$^vhTXTPOP(""EWRCPST"",""DELRCPNR"","""",""" .Set R=R_$$EXTNUM^vhDTyp(RCPNr,0,".",0)_""",""" .Set R=R_$P($S(RCPTyp="K":^KKL(^KK1(LKNr),0),1:^KLE(^KL1(LKNr),0)),D,2) .Set R=R_""")" .Xecute "Set R="_R Quit:'$$LOCK(LOCKNr) If 'Delete Do .Set R=^RCP("D",RCPNr),WMSStat=$P(R,D,20) .If "AI"[WMSStat,WMSStat'="" Set Delete=0 Quit .Set:'Delete Delete=$$CHKDEL(RCPNr) If Delete Do .Do DELOBJ(RCPNr) .Kill ^HULP(%J,"L") .Kill RCPNr .Do REWRITE(.Krit,,$P(LD("POS"),";")+$P(LD("POS"),";",3)-1) Else Do .Set R="$$^vhTXTPOP(""EWRCPST"",""NODELRCPNR"","""",""" .Set R=R_$$EXTNUM^vhDTyp(RCPNr,0,".",0)_""",""" .Set R=R_$P($S(RCPTyp="K":^KKL(^KK1(LKNr),0),1:^KLE(^KL1(LKNr),0)),D,2) .Set R=R_""")" .Xecute "Set R="_R Do UNLOCK(LOCKNr) Quit ; DELTBNR(Delete) New R,RCPNr,TBNr,WMSStat,LOCKNr Set Delete=$G(Delete) Do Quit:'R .Set R=$G(^HULP(%J,"L",LD("SELECT"))),(RCPNr,LOCKNr)=$P(R,D,3),TBNr=$P(R,D,4) .Set R="$$^vhTXTPOP(""EWRCPST"",""DELTBNR"","""",""" .Set R=R_$S(RCPTyp="K":"terugname ",1:"toelevering ") .Set R=R_$$EXTNUM^vhDTyp(TBNr,0,".",0)_""",""" .Set R=R_$P($S(RCPTyp="K":^KKL(^KK1(LKNr),0),1:^KLE(^KL1(LKNr),0)),D,2)_""",""" .Set R=R_$$EXTNUM^vhDTyp(RCPNr,0,".",0) .Set R=R_""")" .Xecute "Set R="_R Quit:'$$LOCK(LOCKNr) If 'Delete Do .Set R=^RCP("D",RCPNr),WMSStat=$P(R,D,20),Delete=WMSStat="" .If 'Delete,"AI"'[WMSStat Set Delete=$$CHKDEL(RCPNr,TBNr) If Delete Do .If $O(^RCP("D",RCPNr,"D",TBNr))="",$O(^RCP("D",RCPNr,"D",TBNr),-1)="" Do DELRCPNR(1) Quit .Do REMTBNR(RCPNr,TBNr),REWRITE(.Krit) Else Do .Set R="$$^vhTXTPOP(""EWRCPST"",""NODELTBNR"","""",""" .Set R=R_$S(RCPTyp="K":"Terugname ",1:"Toelevering ") .Set R=R_$$EXTNUM^vhDTyp(TBNr,0,".",0)_""",""" .Set R=R_$P($S(RCPTyp="K":^KKL(^KK1(LKNr),0),1:^KLE(^KL1(LKNr),0)),D,2)_""",""" .Set R=R_$$EXTNUM^vhDTyp(RCPNr,0,".",0) .Set R=R_""")" .Xecute "Set R="_R Do UNLOCK(LOCKNr) Quit ; DELOBJ(RCPNr) New TBNr Set TBNr="" For Set TBNr=$O(^RCP("D",RCPNr,"D",TBNr)) Quit:TBNr="" Do REMTBNR(RCPNr,TBNr) Quit ; REMTBNR(RCPNr,TBNr) New R,RCPTyp,LKNr,LKIndex,TBLUNr,VervId,FakNr,LNr Set R=^RCP("D",RCPNr),RCPTyp=$P(R,D),LKNr=$P(R,D,2),VervId=$P(R,D,3) Set LKIndex=$S(RCPTyp="K":"IK",1:"IL"),TBLUNr="" If RCPTyp="L" Do .For Set TBLUNr=$O(^RCP("D",RCPNr,"D",TBNr,TBLUNr)) Quit:TBLUNr="" Do ..If $L(VervId),$D(^Verv(LKNr,"D",VervId)) Do ...Set R=^RCP("D",RCPNr,"D",TBNr,TBLUNr),FakNr=$P(R,D,10),LNr=$P(R,D,11) ...Quit:FakNr="" Quit:LNr="" ...Set R=$G(^Verv(LKNr,"D",VervId,FakNr,LNr)) ...Quit:$P(R,D,16)'="R" ...Set $P(R,D,16)="",^Verv(LKNr,"D",VervId,FakNr,LNr)=R ..Kill ^RCP("IT",TBNr,TBLUNr) Kill ^RCP("D",RCPNr,"D",TBNr) Kill:RCPTyp="K" ^RCP("IU",TBNr) Do STORE^LOG("RCP",RCPNr,"V",TBNr) If $O(^RCP("D",RCPNr,"D",""))="" Do .If $L(VervId),$D(^Verv(LKNr,"D",VervId)) Do ..Set R=^Verv(LKNr,"D",VervId),$P(R,D,7)="",$P(R,D,16)="",^Verv(LKNr,"D",VervId)=R .Kill ^RCP(LKIndex,LKNr,RCPNr),^RCP("IO",RCPNr),^RCP("D",RCPNr) Quit ; SENDRCP New R,WMSStat Set R=^RCP("D",RCPNr),WMSStat=$P(R,D,20) If WMSStat="" Do .Quit:'$$LOCK(RCPNr) .Do SEND^EWRCPSW(RCPNr) .Do UNLOCK(RCPNr) .Do REWRITE(.Krit,,2) Quit ; INBRCP(RCPNr,TBNr,TBLUNr) New R,RCPTyp Set TBNr=$G(TBNr),TBLUNr=$G(TBLUNr) Set R=^RCP("D",RCPNr),RCPTyp=$P(R,D) If $$LOCK(RCPNr) Do .If RCPTyp="L" Do ..If TBLUNr Do TLUNR^EWTOE(RCPNr,TBNr,TBLUNr,1) Quit ..If TBNr Do TOENR^EWTOE(RCPNr,TBNr,1) Quit ..Do RCPNR^EWTOE(RCPNr) .If RCPTyp="K" Do ..If TBLUNr Do BLUNR^EWBON(RCPNr,TBNr,TBLUNr) Quit ..If TBNr Do BONNR^EWBON(RCPNr,TBNr) Quit ..Do RCPNR^EWBON(RCPNr) .Do REWRITE(.Krit,,2) .Do UNLOCK(RCPNr) Quit ; CHKMENU(Menu,Aktie) Quit $$CHKMENU^EWRCPST3(Menu,$G(Aktie)) ; FINDTOE New TOENr,DERDE,Found,VolgNr S:$G(Krit("K","LEVNR")) DERDE("L")=Krit("K","LEVNR"),DERDE("N")=1 Set TOENr=$$SELECT^FLOW("KTO","KTO1",1,,.DERDE) Quit:'TOENr Set (Found,VolgNr)="" For Set VolgNr=$O(^HULP(%J,"L",VolgNr)) Quit:VolgNr="" Do Quit:Found .If $P(^(VolgNr),D,4)=TOENr Set Found=VolgNr Quit:'Found Set LD("SELECT")=Found Do WRITE^vhLIST(.LD) Quit RPLKL New R Set R=$$RAADPL^KLANT(LKNr,"L",1) Do ADD^vhScherm(1,24),REFRESH Quit ; RPLPR New R,PRNr Set R=$G(^HULP(%J,"L",LD("SELECT"))),PRNr=$P(R,D,11) If PRNr Do .Set R=$$RAADPL^PRODUKT(PRNr,"O",1) .Do ADD^vhScherm(1,24),REFRESH Quit ; MODTOE New R,TOENr,Locals Set R=$G(^HULP(%J,"L",LD("SELECT"))),TOENr=$P(R,D,4) If TOENr Do .Set Locals("TOENr")=TOENr,Locals("Extern")=1,Locals("EwmsLink")=0 .Do DO^vhPROGRAM("FTE^KTO30") .Do ADD^vhScherm(1,24),REFRESH Quit ; MODORD New R,ORDNr,Locals Set R=$G(^HULP(%J,"L",LD("SELECT"))),ORDNr=$P(R,D,7) If ORDNr Do .Set Locals("ORDNr")=ORDNr,Locals("Extern")=1,Locals("EwmsLink")=0 .Do DO^vhPROGRAM("FOE^KF9") .Do ADD^vhScherm(1,24),REFRESH Quit ; MODBON New R,BONNr,Locals Set R=$G(^HULP(%J,"L",LD("SELECT"))),BONNr=$P(R,D,3) Set BONNr=356161 If BONNr Do .Set Locals("BONNr")=BONNr,Locals("Extern")=1,Locals("EwmsLink")=0 .Do DO^vhPROGRAM("FUE^KF9") .Do ADD^vhScherm(1,24),REFRESH Quit ; MACRO(Macro,Repaint) New KritTyp Set Macro=$G(Macro) Quit:Macro'?.N If Macro="" Do .Set FP=2201 .Write @F,@F1 .Set Macro=$$SELMACRO() If $L(Macro) Do .If Macro'=0,'$D(^EWSEL("RCPST","M"_Macro)) Quit .Do INITKR .Set KritTyp="" .For Set KritTyp=$O(Krit(KritTyp)) Quit:KritTyp="" Do ..Set Krit="" ..For Set Krit=$O(Krit(KritTyp,Krit)) Quit:Krit="" Do ...Set R=$G(^EWSEL("RCPST","M"_Macro,KritTyp,Krit)) ...Quit:R="" ...Xecute:"""$"[$E(R) "Set R="_R ...Set Krit(KritTyp,Krit)=R .Do:$G(Repaint) REPAINT^vhScherm("") Quit ; SELMACRO(AutoSel) New zb,Macro,Count,DevUsers,UserIds,Users,Quit If $G(AutoSel) Do .Set DevUsers=$$DEVUSER^vhUSER($$IO^cQ5),(Macro,Quit)=0 .For Set Macro=$O(^EWSEL("RCPST",Macro)) Quit:Macro="" Do Quit:Quit ..Set Users=$P(^EWSEL("RCPST",Macro),D,2) ..Quit:Users="" ..Set Users=$$USERID^vhUSER(Users) ..For Do Quit:Users="" Quit:Quit ...If ";"_DevUsers_";"[(";"_$P(Users,";")_";") Set Users=$P(Users,";"),Quit=1 ...Else Set Users=$P(Users,";",2,99) .Set Macro=$E(Macro,2,9) Set:Macro="" Macro=0 Else Do .Set Macro="" .For Set Macro=$O(^EWSEL("RCPST",Macro)) Quit:Macro="" Do ..Set Macro("F",$E(Macro,2,99))=^EWSEL("RCPST",Macro) .Set Macro="",Count=0 .For Set Macro=$O(Macro("F",Macro)) Quit:Macro="" Do ..Set R=Macro("F",Macro) ..If $L(R),"""$"[$E(R) Xecute "Set R="_R ..Set R=Macro_"`"_R,Count=Count+1,Macro(Count)=R .Kill Macro("F") .If $O(Macro("")) Do ..Set Macro=$$WILD^vhPOPUP("C;C","OK1-","",.Macro) ..If 'Macro,zb'="CANC" Set Macro=0 Quit Macro ; GETMACRO(Select) New Macro If $G(Select) Do .Set Macro=$$SELMACRO() Else Do .Set Macro=$$SCROLL^vhLIST(.LD,,2) .Do GETREFS(LD("SELECT")) If $L(Macro),$D(^EWSEL("RCPST","M"_Macro))!(Macro=0) Do .Do SELEDIT(Macro) .Set Input="" Else Set Input=Macro Set:Input="-" Input="CANC" Quit ; RUBREXEC New RubrName,Refresh If $E(X)="M" Do MACRO($E(X,2,99),1) Quit Set RubrName=$S(X:$$EDITID^vhScherm(X),1:"") If $L(RubrName) Do .If RubrName="RCPNR" Do ..New RCPNr ..Set X="",RCPNr=$$SELECT^EWRCP() ..If "T"'[RCPNr,'RCPNr Quit ..Set Krit("K","RCPNR")=RCPNr,Krit("K","LEVNR")="" ..If $L(RCPNr) Set X="-" ..Else Do REPAINT^vhScherm("RCPNR") .If RubrName="LEVNR" Do ..New LEVNr ..Set X="",LEVNr=$$SELECT^KONTAKT("L","PZ","","Leverancier : ") Set:LEVNr'="-" LEVNr=$P(LEVNr,";",2) ..Quit:LEVNr="-" ..Set Krit("K","LEVNR")=LEVNr,Krit("K","RCPNR")="" ..If LEVNr Set X="-" ..Else Do REPAINT^vhScherm("RCPNR;LEVNR") .If RubrName="KLNR" Do ..New KLNr ..Set X="",KLNr=$$SELECT^KONTAKT("K","AZ","","Klant : ") Set:KLNr'="-" KLNr=$P(KLNr,";",2) ..Quit:KLNr="-" ..Set Krit("K","KLNR")=KLNr,Krit("K","RCPNR")="T" ..If KLNr Set X="-" ..Else Do REPAINT^vhScherm("RCPNR;KLNR") .If RubrName="PRNR" Do ..New PRNr,LEVNr ..Set X="",PRNr=$$SELECT^PRODUKT6() ..Quit:PRNr="-" ..Set Krit("K","PRNR")=PRNr,Krit("K","RCPNR")="",Krit("K","LEVNR")=$$LEVNR^PRODUKT2(PRNr) ..If PRNr Set X="-" ..Else Do REPAINT^vhScherm("RCPNR;LEVNR;PRNR") Set:X="-" %SC=1 Quit ; POPUP(PopRef,Value,MultSel,Zonder,Display) New X,Position,Titel,Xecute,TempVal If '$G(Display) Do .Set Value=$TR(Value,",\",";;"),MultSel=$S($G(MultSel):"M",1:""),Zonder=$S($G(Zonder):"Z",1:"") .Set FP=2201 .Write @F,@F1 .Set Position=$P(sFR,"`",5)+sScrnPos .Do ..Quit:Value="" Quit:'$D(^RES("EWRCPST","PI",PopRef,"D",$P(Value,";"))) ..Set Position=Position-$P(^RES("EWRCPST","PI",PopRef,"D",$P(Value,";")),"`") .Set Position=Position+$S($L(Value):$S($L(Zonder):-1,1:1),1:"") .Set Position=Position_";"_$P(sFR,"`",6) .Set Titel=$P(^RES("EWRCPST","PI",PopRef),"`") .Set Value=$$PI^vhPOPUP(Position,MultSel_Zonder_"O1-",Titel,"EWRCPST",PopRef,Value) Else Do .Set TempVal="" .If $L(Value,";")>1 Do ..For Quit:Value="" Do ...Set R=$P(^RES("EWRCPST","PI",PopRef,"D",$P(Value,";")),"`",3) ...Set TempVal=TempVal_";"_$S($L(R):R,1:$P(Value,";")),Value=$P(Value,";",2,99) ..Set $E(TempVal)="",Value=TempVal .Quit:Value="" Quit:'$D(^RES("EWRCPST","PI",PopRef,"D",Value)) .Set (Value,X)=$P(^RES("EWRCPST","PI",PopRef,"D",Value),"`",2) .Set Xecute=$P(^RES("EWRCPST","PI",PopRef,"P","O"),"`",7) .Xecute:$L(Xecute) "Set Value="_Xecute Quit Value ; DISPBEP(Krit,VoorKeur) New R,WMSStatB,WMSLijnB Set VoorKeur=$G(VoorKeur,1) Set R="" Set WMSStatB=Krit("K","STAT"),WMSLijnB=Krit("K","LIJN") If Krit("A","DISPLAY")'="D" Do .If $L(WMSStatB) Set WMSStatB=$TR($$POPUP("STATUS",WMSStatB,,,1),"Z","*") .If $L(WMSLijnB) Set WMSLijnB=$$POPUP("LIJN",WMSLijnB,,,1) .If VoorKeur=1 Set R=WMSStatB Set:R="" R=WMSLijnB .If VoorKeur=2 Set R=WMSLijnB Set:WMSStatB="" R="" Quit R ; GETREFS(Select) New R Set R=$G(^HULP(%J,"L",Select)),RCPTyp=$P(R,D),LKNr=$P(R,D,2),RCPNr=$P(R,D,3),TBNr=$P(R,D,4),TBLUNr=$P(R,D,5) Do INITRCP Quit ; LOCK(RCPNr) New %TC Do ADD^vhLock($NA(^RCP("D",RCPNr))) Do:'%TC LDISP^vhLock($NA(^RCP("D",RCPNr)),"Receptie "_RCPNr) Quit %TC ; UNLOCK(RCPNr) Do REMOVE^vhLock($NA(^RCP("D",RCPNr))) Quit ; LDTITEL(RCPTyp,Krit) New Titel Set Titel=$S(Krit("A","DISPLAY")="S":" Ref nr ",1:$S(RCPTyp="K":" Ord nr",1:" Toel nr")) Set Titel=Titel_"|WMS|" Set Titel=Titel_$S(Krit("A","DISPLAY")="S":$S(RCPTyp="K":"Klant",1:"Leverancier")_" - ",1:"") Set Titel=Titel_"Korttekst",Titel=Titel_$J("",40-$L(Titel)-(Krit("A","DISPLAY")'="D")) If Krit("A","DISPLAY")'="D" Set Titel=Titel_"M|"_$S(RCPTyp="K":" Toel nr",1:" Ord nr")_"| #Verw| #Ontv| #Versch|U" Else Set Titel=Titel_"| #Verw| #Ontv| Palet | Controle" Quit Titel ; HALUXINB New R If $G(^RCP("AUTO")) Do .Set R=$$^vhTXTPOP("EWRCPST","HALSTOP") .Quit:'R .Kill ^RCP("AUTO") .Do ADD^vhScherm(1,99),REFRESH Else Do .Set R=$$^vhTXTPOP("EWRCPST","HALSTART") .Quit:'R .Set ^RCP("AUTO")=1 .Do ADD^vhScherm(1,99),REFRESH QUIT ; ; Toon alle producten van een controlepallet met hun stockagepallet ContrOpPallet(ContrPallet) New R,RCPNr,TOENr,TLUNr,STLUNr,PRNr,StockPallet,KortTxt,Pallet Set RCPNr="" For Set RCPNr=$O(^RCP("D",RCPNr)) Quit:RCPNr="" Do . Set TOENr="" . For Set TOENr=$O(^RCP("D",RCPNr,"D",TOENr)) Quit:TOENr="" Do . . Set TLUNr="" . . For Set TLUNr=$O(^RCP("D",RCPNr,"D",TOENr,TLUNr)) Quit:TLUNr="" Do . . . Set STLUNr="" . . . For Set STLUNr=$O(^RCP("D",RCPNr,"D",TOENr,TLUNr,STLUNr)) Quit:STLUNr="" Do . . . . Set R=^RCP("D",RCPNr,"D",TOENr,TLUNr,STLUNr) . . . . Quit:'$L($P(R,D,9)) . . . . If +$P(R,D,9)'=+ContrPallet,$P(R,D,9)'=ContrPallet Quit . . . . Set PRNr=$P(R,D),StockPallet=$P(R,D,5),KortText=$P(^KPR(PRNr,0),D),KortText=KortText_$J("",25-$L(KortText)) . . . . Set R=KortText_" : "_$S(StockPallet="":$J("",8),1:$TR($J(StockPallet,8)," ",0)) . . . . Set SortKey=$$SORTKEY^PRODUKT(PRNr),Pallet("S",SortKey)=R If $D(Pallet) Do . Set SortKey="" . For Set SortKey=$O(Pallet("S",SortKey)) Quit:SortKey="" Set R=Pallet("S",SortKey),Pallet($Increment(Pallet))=R . Kill Pallet("S") Else Set Pallet(1)="Geen producten gevonden voor dit pallet!" Set Pallet="Pallet",R=$$WILD^vhTXTPOP("C;C","Controle pallet : "_$TR($J(ContrPallet,8)," ",0),"Pallet") Quit ; ; Ophalen van de palet-codes in ^Verv ; Format = "L" lange versie x.xx.xxx;y.yy.yyy ; = "C" compacte versie x.xx.xxx;yyy BlumPalet(RCPNr,TOENr,TLUNr,MaxLen,Format) New I,R,Verpakking,LEVNr,VervRef,FaktNr,TLNr,BlumULNr,VervLijn Set MaxLen=$G(MaxLen),Format=$G(Format,"L"),Verpakking="" Set R=^RCP("D",RCPNr),LEVNr=$P(R,D,2),VervRef=$P(R,D,3) Set R=^RCP("D",RCPNr,"D",TOENr,TLUNr),FaktNr=$P(R,D,10) Set BlumULNr="",TLNr=$G(^TO("IU",TOENr,TLUNr)) Set:TLNr R=^KTO(LEVNr,TOENr,TLNr),BlumULNr=$P(R,D,13) If LEVNr,$L(VervRef),$L(FaktNr),BlumULNr Do . Set VervLijn="" . For Set VervLijn=$O(^Verv(LEVNr,"D",VervRef,FaktNr,VervLijn)) Quit:VervLijn="" Do Quit:$P(R,D,2)=BlumULNr . . Set R=^Verv(LEVNr,"D",VervRef,FaktNr,VervLijn) . Quit:VervLijn="" . Set R=$G(^Verv(LEVNr,"D",VervRef,FaktNr,VervLijn,"V")) . For I=1:1:$L(R,D) If $L($P(R,D,I)),";"_Verpakking_";"'[(";"_$P($P(R,D,I),";")_";") Set Verpakking=Verpakking_";"_$P($P(R,D,I),";") . Set $E(Verpakking)="" . If Format'="L",Format'="C" Quit . For I=1:1:$L(Verpakking,";") Set R=$P(Verpakking,";",I),R=$E(R)_"."_$E(R,5,6)_"."_$E(R,7,9),$P(Verpakking,";",I)=R . Quit:Format'="C" . For I=2:1:$L(Verpakking,";") Set $P(Verpakking,";",I)=$P($P(Verpakking,";",I),".",3) If MaxLen,$L(Verpakking)>MaxLen Do . For Quit:$L(Verpakking)