Index: FLOW3.mac.rou =================================================================== diff -u -r734 -r921 --- FLOW3.mac.rou (.../FLOW3.mac.rou) (revision 734) +++ FLOW3.mac.rou (.../FLOW3.mac.rou) (revision 921) @@ -5,7 +5,7 @@ ; Berekenen van de leverdag ; lbExtraBtns $LB($LB(Key,Omschrijving)) GetLeverDag(KLNr,PRNr,VroegsteLevering,BackGround,lbSelected,Titel,lbExtraBtns,ValDate,NoOther) - New zb,VroegstePick,lbDatums,LeverDatum,LeverDatums,Huidig + New zb,VroegstePick,lbDatums,LeverDatum,LeverDatums,Huidig,ORef,domVerlof,Verlof Set (VroegsteLevering,Huidig)=$G(VroegsteLevering),lbExtraBtns=$G(lbExtraBtns),ValDate=$G(ValDate,$H) Set:VroegsteLevering<$H VroegsteLevering=$H If $G(PRNr) Do @@ -14,8 +14,11 @@ Set lbDatums=blLeveringsTermijn.GetLeverDatums(VroegsteLevering,3) If $G(BackGround) Set LeverDatum=$LI(lbDatums) Else Do + . Set ORef=##Class(Derde.Klant.Klant).%OpenId(KLNr) + . Set domVerlof=##Class(DOM.CRM.impl.KlantVerlofPeriode).%New(ORef) + . Do domVerlof.Fetch(.Verlof) . Set lbSelected=$G(lbSelected) - . Do MergeDatums(lbDatums,lbSelected,.LeverDatums,.lbExtraBtns,Huidig,.NoOther) + . Do MergeDatums(lbDatums,lbSelected,.LeverDatums,.lbExtraBtns,Huidig,.NoOther,.Verlof) . Set Titel=$G(Titel,$$SHOW^KLVERZW(,,,blVerzendWijze.VerzendWijze)) . Set CallBack("S")="F`CBSelect^FLOW3" . Set LeverDatum=$$WILD^vhPOPUP("C;C","-1O",Titel,.LeverDatums,VroegsteLevering,.CallBack) @@ -30,6 +33,7 @@ . . . If '%TC Set LeverDatum=VroegsteLevering Quit . . . Do:LeverDatum . . . . If '$$ISARBDAG^vhRtn2(%INT),'$$^vhTXTPOP("FLOW","NOARBDAG","",%EXT) Set LeverDatum=VroegsteLevering,%TC=0 + . . . . Else If ##Class(DOM.CRM.impl.KlantVerlofPeriode).IsVerlofDag(KLNr,%INT),'$$^vhTXTPOP("FLOW","KLVERLOF","",%EXT,$P(^KKL(^KK1(KLNr),0),D,2)) Set LeverDatum=VroegsteLevering,%TC=0 . . . . Else Set LeverDatum=%INT Quit LeverDatum @@ -46,7 +50,7 @@ Quit $$GetLeverDag(KLNr,.PRNr,.DefLeverDag,.BackGround,lbSelected) ; Alle leverdatums in een tabel gieten -MergeDatums(lbDatums,lbSelected,LeverDatums,lbExtraBtns,Huidig,NoOther) +MergeDatums(lbDatums,lbSelected,LeverDatums,lbExtraBtns,Huidig,NoOther,Verlof) New I,R,Datum,Datums,Selected,Status,Count Set lbExtraBtns=$G(lbExtraBtns) For I=1:1:$LL(lbDatums) Set Datums($LI(lbDatums,I))="" @@ -61,11 +65,19 @@ . If Datum=$G(Huidig) Set Selected(Datum)="" . Else If '$D(Datums(Datum)),$O(Datums(Datum),-1)="" Set Selected(Datum)="I" . Else Set Selected(Datum)="U" + For Count=1:1 Set R=$G(Verlof(Count)) Quit:R="" Do + . Set VerlofVan=$P(R,D,2),VerlofTot=$P(R,D,3) + . If $O(Datums(""))>VerlofTot Quit + . If $O(Datums(""),-1)