Index: APPS/Verpakking/OrgaluxBonOptimizer.cls.xml =================================================================== diff -u -r72307 -r72310 --- APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72307) +++ APPS/Verpakking/OrgaluxBonOptimizer.cls.xml (.../OrgaluxBonOptimizer.cls.xml) (revision 72310) @@ -1029,33 +1029,34 @@ while BoxDataIterator.HasNext() { #dim BoxDataOrig As DS.Prod.OptiBox.BoxData = BoxDataIterator.Next() #dim BoxData As DS.Prod.OptiBox.BoxDataMetID = ..CopyBoxData(BoxDataOrig) - - If ($$$Not(BoxData.MaxCombinAantal = "") && $$$Not(BoxData.MaxCombinAantal = 1) && (Qty > 1)) { //Verdelen in evenredige stapels - #dim GelijkVerdeeldeAantallenLijstIterator As TECH.Iterator = ..GeefGelijkVerdeeldeAantallenLijstIterator(Qty, BoxData.MaxCombinAantal) - While GelijkVerdeeldeAantallenLijstIterator.HasNext() { - #dim Aantal As %Integer = GelijkVerdeeldeAantallenLijstIterator.Next() - Set Params("PRODAANTAL") = Aantal - Set Params("AANTAL") = Aantal - Set BoxData.AantalProductenGenest = Aantal - Set BoxData.Aantal = 1 + If (Qty > 0) { + If ($$$Not(BoxData.MaxCombinAantal = "") && $$$Not(BoxData.MaxCombinAantal = 1) && (Qty > 1)) { //Verdelen in evenredige stapels + #dim GelijkVerdeeldeAantallenLijstIterator As TECH.Iterator = ..GeefGelijkVerdeeldeAantallenLijstIterator(Qty, BoxData.MaxCombinAantal) + While GelijkVerdeeldeAantallenLijstIterator.HasNext() { + #dim Aantal As %Integer = GelijkVerdeeldeAantallenLijstIterator.Next() + Set Params("PRODAANTAL") = Aantal + Set Params("AANTAL") = Aantal + Set BoxData.AantalProductenGenest = Aantal + Set BoxData.Aantal = 1 + Set BoxData.Breedte = ..CalcMetDefault(1, BoxData.BreedteExec, .Params) + Set BoxData.Diepte = ..CalcMetDefault(1, BoxData.DiepteExec, .Params) + Set BoxData.Hoogte = ..CalcMetDefault(1, BoxData.HoogteExec, .Params) + Do BoxDataLijst.Insert(BoxData) + } + } Else { + Set Params("PRODAANTAL") = Qty + Set Params("AANTAL") = Qty + Set BoxData.Aantal = Qty Set BoxData.Breedte = ..CalcMetDefault(1, BoxData.BreedteExec, .Params) Set BoxData.Diepte = ..CalcMetDefault(1, BoxData.DiepteExec, .Params) Set BoxData.Hoogte = ..CalcMetDefault(1, BoxData.HoogteExec, .Params) - Do BoxDataLijst.Insert(BoxData) + + If (##class(TECH.Math).Max(BoxData.Breedte, BoxData.Diepte) > ..#MaximumVerpakkingBreedteVoorEuropallet) && (##class(TECH.Math).Min(BoxData.Breedte, BoxData.Diepte) > ..#MaximumVerpakkingDiepteVoorEuropallet) { + Do ..Logger.Debug("PastProductOpEuropallet", "Product "_PRNr_" past niet op een europallet voor bon " _ BonID_".") + } Else { + Do BoxDataLijst.Insert(BoxData) + } } - } Else { - Set Params("PRODAANTAL") = Qty - Set Params("AANTAL") = Qty - Set BoxData.Aantal = Qty - Set BoxData.Breedte = ..CalcMetDefault(1, BoxData.BreedteExec, .Params) - Set BoxData.Diepte = ..CalcMetDefault(1, BoxData.DiepteExec, .Params) - Set BoxData.Hoogte = ..CalcMetDefault(1, BoxData.HoogteExec, .Params) - - If (##class(TECH.Math).Max(BoxData.Breedte, BoxData.Diepte) > ..#MaximumVerpakkingBreedteVoorEuropallet) && (##class(TECH.Math).Min(BoxData.Breedte, BoxData.Diepte) > ..#MaximumVerpakkingDiepteVoorEuropallet) { - Do ..Logger.Debug("PastProductOpEuropallet", "Product "_PRNr_" past niet op een europallet voor bon " _ BonID_".") - } Else { - Do BoxDataLijst.Insert(BoxData) - } } } }