Index: APPS/PM/Maatwerk/OLM/impl/AbstractOpMaatFactory.cls.xml =================================================================== diff -u -r1290 -r1341 --- APPS/PM/Maatwerk/OLM/impl/AbstractOpMaatFactory.cls.xml (.../AbstractOpMaatFactory.cls.xml) (revision 1290) +++ APPS/PM/Maatwerk/OLM/impl/AbstractOpMaatFactory.cls.xml (.../AbstractOpMaatFactory.cls.xml) (revision 1341) @@ -30,6 +30,8 @@ // Kopiƫren van het orgalux product Set PRNr = ProductAPI.KopieerProduct(OrgaluxProduct).GeefPRNr() // Productobject zelf niet bewaren omdat prijzen en samenstelling toch gaan wijzigen + Set SamengesteldProduct = ProductAPI.GeefSamengesteldProduct(PRNr) + // Product op "niet-stock" plaatsen Set $Piece(^KPR(PRNr,1),"\",20) = "" @@ -40,8 +42,8 @@ Set TeVervangenProduct = TeVervangenKinderen.GetAt(1).GeefProduct() Set BreedteInTeKortenProduct = ..GeefBreedteTeVervangenProduct(TeVervangenProduct,BreedteOLProduct) - Kill ^PRBS("BS",PRNr,TeVervangenKinderen.GetAt(1).GeefID()) - Kill ^PRBS("IP",TeVervangenProduct.GeefPRNr(),PRNr,TeVervangenKinderen.GetAt(1).GeefID()) + Set Bouwsteen = SamengesteldProduct.GeefBouwsteen(TeVervangenKinderen.GetAt(1).GeefID()) + Do SamengesteldProduct.VerwijderBouwsteen(Bouwsteen) // Berekenen van de ingekorte producten Set InTeKortenProduct = InTeKortenKinderen.GetAt(1).GeefProduct() @@ -53,21 +55,22 @@ Set InTeKortenNaar = InbouwBreedte - (BreedteOLProduct - BreedteInTeKortenProduct) Set IngekortProduct = ..BerekenIngekortProduct(InTeKortenProduct, TeVervangenProduct, InTeKortenNaar, AantalInTeKorten) - Set VrijLabel = $Order(^PRBS("BS",PRNr,"KIND.999"),-1) - Set VolgendNr = $E(1000+$Piece(VrijLabel,".",2)+1,2,4) - Set ^PRBS("BS",PRNr,"KIND."_VolgendNr) = IngekortProduct.GeefPRNr()_"\"_AantalInTeKorten_"\K\\\\\\\\PROD\" + Set Bouwsteen = SamengesteldProduct.VoegToeKindBouwsteen(IngekortProduct,AantalInTeKorten) - Kill ^PRBS("BS",PRNr,InTeKortenKinderen.GetAt(1).GeefID()) - Kill ^PRBS("IP",InTeKortenProduct.GeefPRNr(),PRNr,InTeKortenKinderen.GetAt(1).GeefID()) + Set Bouwsteen = SamengesteldProduct.GeefBouwsteen(InTeKortenKinderen.GetAt(1).GeefID()) + Do SamengesteldProduct.VerwijderBouwsteen(Bouwsteen) // Extra toe te voegen Set Iterator = ##class(TECH.ListIterator).%New(ToeTeVoegenKinderen) While (Iterator.HasNext()) { Set KindProductInfo = Iterator.Next() - Set $Piece(^PRBS("BS",PRNr,KindProductInfo.GeefID()),"\",2) = KindProductInfo.GeefAantal() + Set Bouwsteen = SamengesteldProduct.GeefBouwsteen(KindProductInfo.GeefID()) + Do Bouwsteen.ZetAantal(KindProductInfo.GeefAantal()) } + Do SamengesteldProduct.Save() + // Korttekst herwerken Set $Piece(^KPR(PRNr,0),"\",1) = ..GeefKorttekstIngekortProduct(OrgaluxProduct, InbouwBreedte)