Index: EWORDS.mac.rou =================================================================== diff -u -r51246 -r75040 --- EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 51246) +++ EWORDS.mac.rou (.../EWORDS.mac.rou) (revision 75040) @@ -142,8 +142,9 @@ If Optie'["A",Optie'["T" Kill ^HULP(%J) Quit ; + FETCH(KLNr,ORDNr,Optie) - New R,Count,OLNr,MarkOrd,OLUNr,EwmsVerw,VerzW,Lock,VerzZ,GewGemWv,PRNr,Beloofd,IsTBX,StockNiveauService + New R,Count,OLNr,MarkOrd,OLUNr,EwmsVerw,VerzW,Lock,VerzZ,GewGemWv,PRNr,Beloofd,IsTBX,StockNiveauService,VkpKinderen New LevTerm,BufferW,Week,DynTheoS,KomOrd,StockUpd,FysStock,PraStock,TeoStock,Aantal,ResWMS,Order,OrderStaatVolledigBijVanHoecke Set KLNr=$G(KLNr),ORDNr=$G(ORDNr),Optie=$G(Optie),VerzW="",(Beloofd,IsTBX)=0 If ORDNr Set KLNr=$P(^KO1(ORDNr,"F"),D),VerzW=$$DEFVERZW(KLNr,ORDNr),Beloofd=$$Beloofd(KLNr,ORDNr),IsTBX=$$ISTBX^FLOWCHK("O",ORDNr) @@ -187,7 +188,11 @@ ...Set R=^KPR(PRNr,R),LevTerm=$P(R,D,7) ...Set WeekDat=(LevTerm+BufferW)*7+$H ...Set WVStock=$$CV2MAG^MRP(PRNr,$P($G(^PRSTOCK("D",PRNr)),D,5)) Set:WVStock<0 WVStock=0 - ...Set WVRes=$$CV2MAG^MRP(PRNr,$P($$VerkoopKinderen^PRODUKT4(PRNr,WeekDat),"\",2)) + ...If $$GeenMaatWerkCheck(PRNr) Do ;het maatwerk is gemaakt, niet meer op de kinderen controleren + ....Set VkpKinderen = "0\0\0" + ...else Do + ....Set VkpKinderen = "0\0\0" ;$$VerkoopKinderen^PRODUKT4(PRNr,WeekDat) ;reeds door AX gedaan. + ...Set WVRes=$$CV2MAG^MRP(PRNr,$P(VkpKinderen,"\",2)) ...Set WVTekort=$S(KLNr=$$$KlantHalux:"",WVStock " _ $Get(VerzW)) // We gaan nagaan of er backorderlijnen moeten gesplitst worden. Indien de 2de piece is ingevuld moet die gebruikt worden als BO aantal. // Achteraf maken we die piece leeg zodat de rest van de code zijn werk blijft doen. @@ -551,7 +589,9 @@ Set ^HULP(%J, KLNr, "M", "A", PickingOpdrachtInfo.GeefOrderNummer(), PickingOpdrachtInfo.GeefOrderLijnNummer()) = PickingOpdrachtInfo.GeefData() Do ##class(vhLib.Logger).%New("SAVE^EWORDS").Debug("Lijn registreren in ^HULP", "OrderLijnNummer='"_PickingOpdrachtInfo.GeefOrderLijnNummer()_"'") } - + + Do ##class(vhLib.Logger).%New("SAVE^EWORDS").Debug("Start opmaken pickingopdracht", "BLCONS voor "_ CONSNr _ "met VerzW " _ VerzW ) + Do BLDCONS^EWORDS2(KLNr,$Name(^HULP(%J,KLNr,"M")),CONSNr,$Piece(VerzW,";"),VerzDat,DOutDate_","_DOutTime,VerzZ,LevAdr,.ChkBeletDone) ; Creatie suborderlijnen Do STORE^LOG("ORDW", CONSNr, "O", ##class(BL.Legacy.EWORDS.Save).GeefOrderNummers(CONSNr)) @@ -847,6 +887,8 @@ If $L($G(VerzendWijze)) Do . Do SETVERZW(KLNr,,VerzW) . Set GewenstePickDatum = $piece(sdVerzendWijze,D,2) + . ; onderstaande lijn niet meer gebruiken zie [ict-5848] + . ;If VerzendWijze?1(1"DD1",1"DI1") Set GewenstePickDatum=$$GetPickDatum^EWORDS6(ORDNr) ; aangepast PV 18/01/2022 - voortrekken toelaten met het behouden van de gewenste verzenddatum. In comment 04/04/23 vanwege PV . Do VulInVerzendWijzeInHoedjeHulp(KLNr,ORDNr, GewenstePickDatum,VerzW) . Do DISPLAY^vhScherm("EWORDSH",,,,"VERZWIJZE;GERAAPT;VERZZONE;VERZDATUM") Else DO MANMODVERZW @@ -856,7 +898,7 @@ New blLeveringsTermijn,blVerzendWijze,IsVoorVandaag,DOutDateTime,VerzDat,LaatstePickingTijdstip,sdVerzendWijze set sdVerzendWijze=^HULP(%J,KLNr,"V") ; kijken wat er in de temp global zit Do INITDOMVKP^FLOWORD2(KLNr,ORDNr) - Set DueOutTime = blLeveringsTermijn.blVerzendWijze.DueOutPickingTime() + Set DueOutTime = blLeveringsTermijn.GetDueOutPickingTime() If (+GewenstePickDatum = ##class(TECH.Context).Instance().GeefDateTimeAPI().CurrentDate()) { Set IsVoorVandaag = (##class(BL.Legacy.EWORDS6).PickingVoorVandaagVolgendeArbeidsdagOfAndereDag(ORDNr)=1) Set GewenstePickDatum = $S(IsVoorVandaag:+$H,1:+$$CALCDATE^vhLib.DataTypes($H,"A",1)) @@ -869,7 +911,7 @@ Set $P(sdVerzendWijze,D,5) = blLeveringsTermijn.GetVroegsteLeverDag(+LaatstePickingTijdstip) Set ^HULP(%J,KLNr,"V")=sdVerzendWijze Set ^HULP(%J,"V","V")=sdVerzendWijze - + Quit MANMODVERZW @@ -930,7 +972,7 @@ Quit VerzZ ; DEFVERZW(KLNr,ORDNr) - New I,R,Default,Kriteria,VerzW,DagNr + New I,R,Default,Kriteria,VerzW,DagNr,DagNrVoorwerken Set Default=$$DEFAULT^KLVERZW(,$G(KLNr),$G(ORDNr)) Merge Kriteria=^HULP(%J,"S","O") Set R="`"_$G(Kriteria("VERZ")) @@ -939,12 +981,15 @@ . For Set VerzW=$O(^RES("KLANT","PI","VERZENDWIJZE","D",VerzW)) Quit:$E(VerzW,1,2)'="OD" If $E(VerzW,3)?.N,R'[("`"_VerzW_";"_DagNr) Set R=R_"`"_VerzW_";"_DagNr . Set $E(R)="",Kriteria("VERZ")=R Set VerzW="",DagNr=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"A",1),"DWN") + Set DagNrVoorwerken=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"A",2),"DWN") If $L($G(Kriteria("VERZ"))) For I=1:1:$L(Default,"`") Do Quit:$L(VerzW) .Quit:"`"_Kriteria("VERZ")_"`"'[("`"_$P(Default,"`",I)_"`") .Set VerzW=$P(Default,"`",I) If VerzW="",$L(Default,"`")=1 Set VerzW=Default - If VerzW="" For I=1:1:$L(Default,"`") If $P($P(Default,"`",I),";",2)=DagNr Set VerzW=$P(Default,"`",I) Quit - Set:VerzW="" VerzW="OD"_";"_DagNr + If VerzW="" For I=1:1:$L(Default,"`") If $P($P(Default,"`",I),";",2)=DagNr Set VerzW=$P(Default,"`",I) Quit ;picking op dag voor verzending + If VerzW="" For I=1:1:$L(Default,"`") If $P($P(Default,"`",I),";",2)=DagNrVoorwerken Set VerzW=$P(Default,"`",I) Quit ; 1 dag voorwerken? + ;Set:VerzW="" VerzW="OD"_";"_DagNr ;-> dit was helemaal fout ("OD" op zich bestaat niet (meer) ) + Set:VerzW="" VerzW=$p(Default,"`",1) ;1e verzendwijze van order, betere fallback dan 'OD' Quit VerzW ; NOORDS(KLNr)