Index: APPS/Verpakking/DoosService.cls.xml =================================================================== diff -u -r69844 -r69851 --- APPS/Verpakking/DoosService.cls.xml (.../DoosService.cls.xml) (revision 69844) +++ APPS/Verpakking/DoosService.cls.xml (.../DoosService.cls.xml) (revision 69851) @@ -81,18 +81,23 @@ } If ((ProductGroep = "PR") && (BoxDataID = "")) { - Set ResultSetLink=##class(TECH.ResultSet).%New("BL.Prod.OptiBox.BoxData:GetBoxDataIDsViaObjTypeAndRef") - Do ResultSetLink.Execute("PR" ,ProductId) + #dim BoxData As DS.Prod.OptiBox.BoxData = "" + Set ResultSetLink = ##class(TECH.ResultSet).%New("BL.Prod.OptiBox.BoxData:GetBoxDataIDsViaObjTypeAndRef") + Do ResultSetLink.Execute("PR", ProductId) While ResultSetLink.Next() { - Set oData = ##class(DS.Prod.OptiBox.BoxData).%OpenId(ResultSetLink.Data("ID")) - Do ..GeefDoos(ProductGroep, oData.Meta.Name, MachineID, Aantal, "", ProductId, Prioriteit, BaseRef, CallBack, BoxDataID) + Set BoxDataID = ResultSetLink.Data("ID") + Set BoxData = ##class(DS.Prod.OptiBox.BoxData).%OpenId(BoxDataID) + #dim SubAantal As %Integer = $Select(BoxData.Aantal = "Aantal": Aantal, BoxData.Aantal = "-1": 1, 1:BoxData.Aantal) + Do ..GeefDoos(ProductGroep, BoxData.Meta.Name, MachineID, (Aantal * SubAantal), "", ProductId, Prioriteit, BaseRef, CallBack, BoxDataID) } Do ResultSetLink.Close() - If (oData = "") { + If $$$Not($IsObject(BoxData)) { #dim Logger = ##class(vhLib.Logger).%New("VH doos service").ErrorMail("Geen boxdata gevonden voor product: '"_ProductId_"'.") } + + Quit } Set BaseRef = $Piece(BaseRef,".",1,2) //Bij TAOR komt er nog een 3e piece achter, dit zou verder in de flow anders voor fouten zorgen