Index: FLOWORD7.mac.rou =================================================================== diff -u -r51451 -r54795 --- FLOWORD7.mac.rou (.../FLOWORD7.mac.rou) (revision 51451) +++ FLOWORD7.mac.rou (.../FLOWORD7.mac.rou) (revision 54795) @@ -327,18 +327,18 @@ ; ; Controle voorraad van de bouwstenen bij het sluiten van een order BSControl(ORDNr) - New R,KLNr,OLNr,OLUNr,PRNr,Aantal,Control,StockUpd,InventTransId + New R,KLNr,OLNr,OLUNr,PRNr,Aantal,Control,StockUpd,InventTransId,ConfigId,MaatwerkGenerischItemId Set KLNr=$P(^KO1(ORDNr,"F"),D),OLNr=100 Quit:KLNr=$$$KlantHalux ; Niet voor Halux For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do - . Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),OLUNr=$P(R,D,15),InventTransId=$P(R,D,55) + . Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2),OLUNr=$P(R,D,15),InventTransId=$P(R,D,55),ConfigId=$P(R,D,56),MaatwerkGenerischItemId=$P(R,D,57) . Quit:((InventTransId'="")&&($$OrderLijnIsGeblokkeerd(InventTransId))) . Quit:($P(R,"\",28)'="") . Quit:'PRNr . Set StockUpd=$P(R,D,14)'["S" Set:StockUpd StockUpd=$P(R,D,14)'["Z" . Quit:'StockUpd . Set Aantal=$P(R,D,3) - . Do FetchBSControl(PRNr,Aantal,.Control,ORDNr,OLUNr) + . Do FetchBSControl(PRNr,Aantal,.Control,ORDNr,OLUNr,,InventTransId,ConfigId,MaatwerkGenerischItemId) Do:$D(Control) . Do CalcBSControl(.Control) . Quit:'$D(Control("L")) @@ -348,7 +348,7 @@ Quit ; Ophalen en cumuleren van de bouwstenen -FetchBSControl(PRNr,Aantal,Control,ORDNr,OLUNr,InclVerpak) +FetchBSControl(PRNr,Aantal,Control,ORDNr,OLUNr,InclVerpak,InventTransId,ConfigId,MaatwerkGenerischItemId) New R,BSKey,BSPRNr,BSAantal,IsStock,BSType,Dimensie,CumulAantal,LEVNr Set InclVerpak=$G(InclVerpak),BSKey="" For Set BSKey=$O(^PRBS("BS",PRNr,BSKey)) Quit:BSKey="" Do @@ -371,6 +371,7 @@ . . Else Set CumulAantal=$$TELMAGST^MRP(BSPRNr,Aantal*BSAantal,,$P(Dimensie,D),$P(Dimensie,D,2)) ; Bouwsteen met dimensie . . Set $P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D)=$P($G(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr)),D)+CumulAantal . . Set $P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D,2)=$P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D,2)+1 + . . Set $P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D,3)=InventTransId_D_ConfigId_D_MaatwerkGenerischItemId . . Set $P(R,D)=$P(R,D)+CumulAantal . . Set $P(R,D,2)=BSType . . If BSType="K" Set:$P(R,D,3)<$P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D,2) $P(R,D,3)=$P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D,2) ; Een op een ralatie? @@ -426,7 +427,7 @@ ; Automatisch behandelen van de problemen. BewerkAxBSControl(Control) - New I,R,List,Input,CType,BSPRNr,BSAantal,Stock,Reservatie,BestHoev,LevTerm,LEVNr,GrVerp,EenOpEenRel,PRNr,ORDNr,OLUNr + New I,R,List,Input,CType,BSPRNr,BSAantal,Stock,Reservatie,BestHoev,LevTerm,LEVNr,GrVerp,EenOpEenRel,PRNr,ORDNr,OLUNr,InventTransId,ConfigId,MaatwerkGenerischItemId For I=1:1 Set R=$G(Control("L",I)) Quit:R="" Do . Set CType=$P(R,D,2),BSPRNr=$P(R,D,3),BSAantal=$P(R,D,4),Stock=$P(R,D,6),Reservatie=$P(R,D,7),BestHoev=$P(R,D,8),LevTerm=$P(R,D,9),LEVNr=$P(R,D,10),GrVerp=$P(R,D,11) . If CType="NS" Do @@ -440,7 +441,10 @@ . . . . . . Set OLUNr="" . . . . . . For Set OLUNr=$O(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr)) Quit:OLUNr="" Do . . . . . . . Set BSAantal=$P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D) - . . . . . . . Set Control("T",LEVNr,$O(Control("T",LEVNr,""),-1)+1)=BSPRNr_D_BSAantal_D_$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes(,"W",LevTerm),"DW")_D_ORDNr_D_OLUNr + . . . . . . . Set InventTransId=$P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D,3) + . . . . . . . Set ConfigId=$P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D,4) + . . . . . . . Set MaatwerkGenerischItemId=$P(Control("NS",BSPRNr,PRNr,ORDNr,OLUNr),D,5) + . . . . . . . Set Control("T",LEVNr,$O(Control("T",LEVNr,""),-1)+1)=BSPRNr_D_BSAantal_D_$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes(,"W",LevTerm),"DW")_D_ORDNr_D_OLUNr_D_InventTransId_D_ConfigId_D_MaatwerkGenerischItemId . . . . Else Do . . . . . If BSAantal'>BestHoev Set BSAantal=BestHoev ; Controle op min bestelhoev en grootverpakking . . . . . Else If BSAantal'>GrVerp Set BSAantal=GrVerp Index: FLOWTOE3.mac.rou =================================================================== diff -u -r54394 -r54795 --- FLOWTOE3.mac.rou (.../FLOWTOE3.mac.rou) (revision 54394) +++ FLOWTOE3.mac.rou (.../FLOWTOE3.mac.rou) (revision 54795) @@ -280,7 +280,7 @@ Quit ; BUILDBGR(PRNr,ToeRef) - New R,Next,LEVNr,TOENr,Aantal,LevTerm,ORDNr,OLUNr,TLUNr + New R,Next,LEVNr,TOENr,Aantal,LevTerm,ORDNr,OLUNr,TLUNr,InventTransId,ConfigId,MaatwerkGenerischItemId Set ToeRef=$G(ToeRef,"STOCK"),(Next,LEVNr)="" For Set Next=$O(PRNr(Next)) Quit:Next="" Do Quit:LEVNr=0 .Set PRNr=$P(PRNr(Next),D) @@ -297,8 +297,8 @@ .Set ^KTO(LEVNr,TOENr,1)=R .Set Next="" .For Set Next=$O(PRNr(Next)) Quit:Next="" Do - ..Set R=PRNr(Next),PRNr=$P(R,D),Aantal=$P(R,D,2),LevTerm=$P(R,D,3),ORDNr=$P(R,D,4),OLUNr=$P(R,D,5) - ..Do BUILDLN(LEVNr,TOENr,PRNr,Aantal,LevTerm) + ..Set R=PRNr(Next),PRNr=$P(R,D),Aantal=$P(R,D,2),LevTerm=$P(R,D,3),ORDNr=$P(R,D,4),OLUNr=$P(R,D,5),InventTransId=$P(R,D,6),ConfigId=$P(R,D,7),MaatwerkGenerischItemId=$P(R,D,8) + ..Do BUILDLN(LEVNr,TOENr,PRNr,Aantal,LevTerm,InventTransId,ConfigId,MaatwerkGenerischItemId) ..If $L($G(FBRef)),ORDNr,OLUNr Do ...Set R=$G(@FBRef@(PRNr,"TLUNr")),TLUNr=$P(R,D,$L(R,D)) ...Quit:'TLUNr @@ -341,7 +341,7 @@ .Do AutoVerwerkToelevering^Flow.Toelev.VerwerkDoc(LEVNr,ToeRef,,EDIORDNr,,FBRef) Quit ; -BUILDLN(LEVNr,TLNr,PRNr,Aantal,LevTerm) +BUILDLN(LEVNr,TLNr,PRNr,Aantal,LevTerm,InventTransId,ConfigId,MaatwerkGenerischItemId) New R,Prijs,Munt,Eenheid,LijstPr,Korting1,Korting2,NEenheid If LevTerm="" Do .Set R=^KPR(PRNr,"J"_LEVNr),LevTerm=$P(R,D,7) @@ -351,6 +351,7 @@ Set R="",$P(R,D,36)="",$P(R,D,2)=PRNr,$P(R,D,3)=Aantal,$P(R,D,6)=LijstPr,$P(R,D,7)=Korting1_"#"_Korting2 Set ($P(R,D,9),$P(R,D,10))=$J(Prijs*Aantal/NEenheid,0,2),$P(R,D,16)=$J(LijstPr*Aantal/NEenheid,0,2) Set $P(R,D,12)="L",$P(R,D,17)="KTRPL",$P(R,D,21)=Eenheid,$P(R,D,22)=Munt,$P(R,D,25)=LevTerm + Set $P(R,D,55)=InventTransId,$P(R,D,56)=ConfigId,$P(R,D,57)=MaatwerkGenerischItemId Do INSERT^FLOWTOE2(R,"E",,0) Set R=^KTO(LEVNr,TLNr,1) If $P(R,D,18)="" Set $P(R,D,18)=Munt,^KTO(LEVNr,TLNr,1)=R