EWORDW ;E'WMS Receptie [ 10/26/2001 2:54 PM ] ; SELECT(ObjRef,WStat,PStat) ;WMS Stat : String van toegelaten statussen, status:leeg wordt doorgegeven als een blanko ;Probleem Stat : String van toegelaten probleemstatussen, probleemstatus:leeg wordt doorgegeven als een blanko New CONSNr,KLNr Set (CONSNr,KLNr)="" Set ObjRef=$G(ObjRef) Set WStat=$G(WStat) Set PStat=$G(PStat) For Do Quit:Inp'=""&($L(Inp)<2) Quit:CONSNr .Set Inp=$$ASKL^vhINP("EWORDW","SELECT") .If Inp=""!zb Set Inp=$$LIST(ObjRef,WStat,PStat,KLNr) Quit:'Inp .If Inp="K" Set Inp=$$SELECT^KLANT6(1,"","Uitleveringen van klant : ") Set:Inp KLNr=Inp Set Inp="" Quit .If Inp="P" Set Inp=$$PROD(ObjRef,WStat,PStat,KLNr) If 'Inp Set Inp="" Quit .If Inp="Z" Set (KLNr,Inp)="" Quit .Quit:$L(Inp)<2&(Inp'="N") ; Stoptekens -,.() .If '$D(^ORDW("D",Inp)) Set Inp="" Quit .If $$CHKSTAT(Inp,ObjRef,WStat,PStat),$$CHKLEV(Inp,KLNr) Set CONSNr=Inp Quit $S(CONSNr:CONSNr,1:Inp) ; CHKSTAT(CONSNr,ObjRef,WStat,PStat) New RStat,Rec Set Rec=^ORDW("D",CONSNr) Quit:Rec="" 0 If $L(WStat) Set RStat=$P(Rec,D,20) Set:RStat="" RStat=" " Quit:WStat'[RStat 0 If $L(PStat) Set RStat=$P(Rec,D,21) Set:RStat="" RStat=" " Quit:PStat'[RStat 0 If $L(ObjRef),$P(Rec,D,2)'=ObjRef Quit 0 Quit 1 ; CHKLEV(CONSNr,KLNr) New Ok Set Ok=1 Set:KLNr Ok=$D(^ORDW("IK",KLNr,CONSNr)) Quit Ok ; LIST(ObjRef,WStat,PStat,KLNr,PRNr) New %J,CONSNr,zb,ViaKlant,ViaProd,Count,LD Set (KLNr,ViaKlant)=$G(KLNr),(PRNr,ViaProd)=$G(PRNr) Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Do INIT^vhLIST("EWORDW","SELECT",.LD) Do .Set R=$P(LD("POS"),"`") .Set Count=+$O(^HULP(%J,""),-1) .Quit:Count>($P(R,";",3)-$P(R,";")) .Set Count=$$CBMORE(Count,$P(R,";",3)-$P(R,";")+1,$G(^HULP(%J,Count))) .Quit:Count>($P(R,";",3)-$P(R,";")) .Set FP=$P(R,";")*100+1 .Write @F,@F1 .Set $P(R,";")=$P(R,";",3)-$O(^HULP(%J,""),-1)+1 Set:$P(R,";")>24 $P(R,";")=24 .Set $P(LD("POS"),"`")=R,$P(LD("SET"),"`")=R .Set $P(R,";",2,9)=$P($P(LD("POS"),"`",2),";",2,9),$P(LD("POS"),"`",2)=R Do WRITE^vhLIST(.LD) For Set R=$$SCROLL^vhLIST(.LD) Do Quit:R="ENTER"!(R="-") Set CONSNr=$S(R="ENTER":$P($G(^HULP(%J,LD("SELECT"))),D),1:"") Kill ^HULP(%J) Quit CONSNr ; PROD(ObjRef,WStat,PStat,KLNr) New CONSNr,PRNr Set PRNr=$$SELECT^PRODUKT6(,,,,"NODO;NOKP") Set CONSNr=$S(PRNr:$$LIST(ObjRef,WStat,PStat,KLNr,PRNr),1:"") Quit CONSNr ; CBMORE(Max,Len,Rec) New R,CONSNr,ORDNr,OLUNr Set CONSNr=$P(Rec,D) If ViaProd Do .Set ORDNr="" .For Set ORDNr=$O(^ORD("IP",PRNr,ORDNr)) Quit:ORDNr="" Do ..Quit:'$D(^ORDW("IO",ORDNr)) ..Set OLUNr="" ..For Set OLUNr=$O(^ORDW("IO",ORDNr,OLUNr)) Quit:OLUNr="" Do ...Set CONSNr=^ORDW("IO",ORDNr,OLUNr) ...Quit:$D(CONSNr(CONSNr)) ...Set R=^ORDW("D",CONSNr,"D",ORDNr,OLUNr) ...Quit:$P(R,D)'=PRNr ...Quit:'$$CHKSTAT(CONSNr,ObjRef,WStat,PStat) ...Set R=CONSNr,$P(R,D,11)=^ORDW("D",CONSNr) ...Set Max=Max+1,^HULP(%J,Max)=R ...Set CONSNr(CONSNr)="" Else Do Set Len=Len+Max For Set CONSNr=$O(^ORDW("D",CONSNr),-1) Quit:CONSNr="" Do Quit:Max'