Index: BL/Legacy/EWORDS6.cls.xml =================================================================== diff -u -r29059 -r47790 --- BL/Legacy/EWORDS6.cls.xml (.../EWORDS6.cls.xml) (revision 29059) +++ BL/Legacy/EWORDS6.cls.xml (.../EWORDS6.cls.xml) (revision 47790) @@ -119,6 +119,14 @@ + + +1 +OrderNummer:%String,Delimiter:%String +%String + + Index: EWORDS6.mac.rou =================================================================== diff -u -r47789 -r47790 --- EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 47789) +++ EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 47790) @@ -17,56 +17,58 @@ ; WMS verwerking en eventueel doorsturen naar Egemin software indien voor vandaag SendWMS(ORDNr) - New %J,I,R,KLNr,PRNr,Aantal,OLUNr,LeverDag,CONSNr,VerzDat,DOutDate,DOutTime,VerzW,VerzZ,LevAdr,ChkBeletDone,IsVoorVandaagOfMorgen,IsVoorVandaag,ORDNrs,CumulORDNr,WaitORDNrs + New %J,I,R,PRNr,Aantal,OLUNr,LeverDag,CONSNr,VerzDat,DOutDate,DOutTime,VerzW,VerzZ,LevAdr,ChkBeletDone,IsVoorVandaag,ORDNrs,CumulORDNr,WaitORDNrs New LandCode,PostCode - New InfoMelder + New IsVoorVandaagOfMorgen, InfoMelder, KlantNummer - Set IsVoorVandaagOfMorgen=##class(BL.Legacy.EWORDS6).PickingVoorVandaagVolgendeArbeidsdagOfAndereDag(ORDNr) - + #dim IsVoorVandaagOfMorgen As %Boolean = ##class(BL.Legacy.EWORDS6).PickingVoorVandaagVolgendeArbeidsdagOfAndereDag(ORDNr) #dim InfoMelder As BL.Legacy.EWORDS6.InfoMelder = ##class(BL.Legacy.EWORDS6.InfoMelder).%New() Do InfoMelder.Controleer(ORDNr) - - If IsVoorVandaagOfMorgen { - Set ORDNrs=$$Cumul(ORDNr) - Set R=^KO1(ORDNr,"F"),KLNr=$P(R,D) - Set WaitORDNrs=$$WachtendeOrders(KLNr) - For I=$L(WaitORDNrs,";"):-1:1 { - Set CumulORDNr=$P(WaitORDNrs,";",I) - If ORDNrs[CumulORDNr - Else If $$CheckCumul(ORDNr,CumulORDNr) Set ORDNrs=ORDNrs_";"_CumulORDNr - Else Continue - Set $P(WaitORDNrs,";",I)=$P(WaitORDNrs,";",I+1,99) - } + + If (IsVoorVandaagOfMorgen) { + #dim KlantNummer As %String = ##class(BL.Legacy.EWORDS6).GeefKlantNummer(ORDNr, D) + + Set ORDNrs = $$Cumul(ORDNr) + Set WaitORDNrs = $$WachtendeOrders(KlantNummer) + + For I=$Length(WaitORDNrs,";"):-1:1 { + Set CumulORDNr = $Piece(WaitORDNrs,";",I) + If ORDNrs [ CumulORDNr + Else If $$CheckCumul(ORDNr,CumulORDNr) Set ORDNrs = ORDNrs _ ";" _ CumulORDNr + Else Continue + Set $Piece(WaitORDNrs,";",I) = $Piece(WaitORDNrs,";",I+1,99) + } + Quit:'$$Lock(ORDNrs) Set IsVoorVandaag=IsVoorVandaagOfMorgen=1 Set %J=$$%J^vhRtn1() Kill ^HULP(%J) - Set R=^KO1(ORDNr,"F"),KLNr=$P(R,D) + Set R=^KO1(ORDNr,"F"),KlantNummer=$P(R,D) For I=1:1:$L(ORDNrs,";") { Set CumulORDNr=$P(ORDNrs,";",I) Quit:'CumulORDNr Set OLNr=100 For { - Set OLNr=$O(^KOD(KLNr,"F",CumulORDNr,OLNr)) + Set OLNr=$O(^KOD(KlantNummer,"F",CumulORDNr,OLNr)) Quit:'OLNr - Set R=^KOD(KLNr,"F",CumulORDNr,OLNr),PRNr=$P(R,D,2),Aantal=$P(R,D,3),OLUNr=$P(R,D,15),LeverDag=$P(R,D,25) + Set R=^KOD(KlantNummer,"F",CumulORDNr,OLNr),PRNr=$P(R,D,2),Aantal=$P(R,D,3),OLUNr=$P(R,D,15),LeverDag=$P(R,D,25) Continue:'PRNr Set R=Aantal_D_D_LeverDag - Set ^HULP(%J,KLNr,"M","A",CumulORDNr,OLUNr)=R + Set ^HULP(%J,KlantNummer,"M","A",CumulORDNr,OLUNr)=R } } Set CONSNr=$$GETNUM^FLOW("KUL","KU1") ; Tijdelijk - Do INITDOMVKP^FLOWORD2(KLNr,ORDNr) - Set VerzW=$$DEFAULT^KLVERZW(,KLNr,ORDNr) + Do INITDOMVKP^FLOWORD2(KlantNummer,ORDNr) + Set VerzW=$$DEFAULT^KLVERZW(,KlantNummer,ORDNr) Set VerzZone="" Set DOutDateTime=$S(IsVoorVandaag:+$H,1:+$$CALCDATE^vhLib.DataTypes($H,"A",1))_","_blVerzendWijze.DueOutPickingTime() Set VerzDat=blLeveringsTermijn.GetVroegsteLeverDag(+DOutDateTime) Set DOutDateTime=blLeveringsTermijn.GetLaatstePickingsTijdstip(VerzDat) - Set LevAdr=^KOD(KLNr,"F",ORDNr,3) - Do BLDCONS^EWORDS2(KLNr,$NA(^HULP(%J,KLNr,"M")),CONSNr,$P(VerzW,";"),VerzDat,DOutDateTime,VerzZone,LevAdr,.ChkBeletDone) ; Creatie suborderlijnen + Set LevAdr=^KOD(KlantNummer,"F",ORDNr,3) + Do BLDCONS^EWORDS2(KlantNummer,$NA(^HULP(%J,KlantNummer,"M")),CONSNr,$P(VerzW,";"),VerzDat,DOutDateTime,VerzZone,LevAdr,.ChkBeletDone) ; Creatie suborderlijnen If $$WMSIsActief(),IsVoorVandaag Do SEND^EWORDSW(CONSNr) ; Indien voor vandaag -> doorsturen