Index: DOM/PM/impl/DataM/DataMBouwsteenCreator.cls.xml =================================================================== diff -u -r65818 -r75118 --- DOM/PM/impl/DataM/DataMBouwsteenCreator.cls.xml (.../DataMBouwsteenCreator.cls.xml) (revision 65818) +++ DOM/PM/impl/DataM/DataMBouwsteenCreator.cls.xml (.../DataMBouwsteenCreator.cls.xml) (revision 75118) @@ -1,6 +1,12 @@ + +*********************************************************************************************************************************************************************************/ + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + Bij porten naar .NET: Een individuele Productbouwsteencreator en kostbouwsteencreator maken en dan deze klasse enkel nog laten afleiden van TECH.RegisteredObject + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +*********************************************************************************************************************************************************************************/ Prod.Bouwsteen 1 @@ -57,8 +63,8 @@ 1 - -%Boolean + +%String 1 @@ -90,12 +96,17 @@ Set ..BerekeningsSpecificatie = BerekeningsSpecificatie Set ..HalffabItemsBoom = HalffabItemsBoom Set ..KostItem = KostItem - Set ..IsSchaduwBerekening = IsSchaduwBerekening + If (IsSchaduwBerekening) { + Set ..BSNode = "BSS" + } Else { + Set ..BSNode = "BS" + } + // Omdat DELOBJ het linktype reset gaan we dit lokaal bewaren #dim LinkType As %String = $P(^KPR(PRNr,0),"\",23) // Verwijderen van reeds bestaande bouwstenen - If $$$Not(..IsSchaduwBerekening) { + If $$$Not(IsSchaduwBerekening) { Do DELOBJ^PRBS(PRNr) } @@ -124,11 +135,7 @@ @@ -163,7 +176,10 @@ @@ -229,11 +245,7 @@ Set $P(Rec,"\",3) = Item.AfmetingAangerekendPerStuk // DimHFUitval #dim BSKey As %String = ..MaakProductBouwsteen(Item,1, SamengesteldeRol,Rec) - If (..IsSchaduwBerekening) { - Set ^PRBS("BSS",..PRNr,BSKey,"D") = Rec - } Else { - Set ^PRBS("BS",..PRNr,BSKey,"D") = Rec - } + Set ^PRBS(..BSNode,..PRNr,BSKey,"D") = Rec Quit $$$OK ]]> @@ -274,7 +286,12 @@ // Iets met sorteren en groeperen //Set GroepAndSort=$$kpcGetDispGroepSort(DItem) // Soms uit fabrtekst, anders uit fabrgroep Set $P(Rec,"\",18) = "FabrGroep1" //$P(GroepAndSort,";",1) ; DItem.EvalTemplAuto("FabrGroep") - Set $P(Rec,"\",19) = "FabrPrep" //DItem.EvalTemplAuto("FabrPrep") // -> Deze is zeker nodig + If ((##class(DOM.DomeinContext).Instance().GeefProjectSettingsAPI().IsActiefBomBolOmleidingTbxNaarEncoway())) { + Set $P(Rec,"\",19) = ..GeefFabrPrep($Piece(HalffabItem.GeefVolledigeRolNaam(),".",1)) + } Else { + Set $P(Rec,"\",19) = ..GeefFabrPrep($Piece(##class(TECH.StringUtils).StripFirstPart(HalffabItem.GeefVolledigeRolNaam(),"."),".",1)) //DItem.EvalTemplAuto("FabrPrep") // -> Deze is zeker nodig + } + Set $P(Rec,"\",21) = "FabrGroep2" //$P(GroepAndSort,";",2) set $P(Rec,"\",$$$IsMeeTeRekenenInPrijs) = $$$Not(HalffabItem.IsMeeTeRekenenInPrijs) @@ -283,26 +300,67 @@ #dim BSKey As %String = ..GeefBSKey(HalffabItem,Label,Rec,RecD) - If (..IsSchaduwBerekening) { - // Als de bouwsteen al bestond moeten we de aantallen verhogen - If ($Data(^PRBS("BSS",..PRNr,BSKey))) { - Set $P(Rec,"\",2) = Aantal + $P(^PRBS("BSS",..PRNr,BSKey),"\",2) - Set $P(Rec,"\",13) = $P(^PRBS("BSS",..PRNr,BSKey),"\",13)_";"_$P(Rec,"\",13) - } - Set ^PRBS("BSS",..PRNr,BSKey) = Rec - } Else { - // Als de bouwsteen al bestond moeten we de aantallen verhogen - If ($Data(^PRBS("BS",..PRNr,BSKey))) { - Set $P(Rec,"\",2) = Aantal + $P(^PRBS("BS",..PRNr,BSKey),"\",2) - Set $P(Rec,"\",13) = $P(^PRBS("BS",..PRNr,BSKey),"\",13)_";"_$P(Rec,"\",13) - } - Set ^PRBS("BS",..PRNr,BSKey) = Rec + // Als de bouwsteen al bestond moeten we de aantallen verhogen + If ($Data(^PRBS(..BSNode,..PRNr,BSKey))) { + Set $P(Rec,"\",2) = Aantal + $P(^PRBS(..BSNode,..PRNr,BSKey),"\",2) + Set $P(Rec,"\",13) = $P(^PRBS(..BSNode,..PRNr,BSKey),"\",13)_";"_$P(Rec,"\",13) } + Set ^PRBS(..BSNode,..PRNr,BSKey) = Rec Quit BSKey ]]> + +Rol:%String +1 +%String + + + HalffabItem:DOM.PM.Maatwerk.Calc.HF.ConcreetHalffabItem,Label:%String,Rec:%String,RecD:%String 1 @@ -312,23 +370,13 @@ While 'IsValid { Set KeySuffix = KeySuffix + 1 #dim BSKey As %String = Label_"."_##class(TECH.StringUtils).AddLeadingChar(KeySuffix,0,3) - If (..IsSchaduwBerekening) { - If $data(^PRBS("BSS",..PRNr,BSKey)) { - Set IsValid = ..RecordsHebbenZelfdeVoorwaarden(Rec,^PRBS("BSS",..PRNr,BSKey)) - Set:IsValid IsValid = ($G(^PRBS("BSS",..PRNr,BSKey,"D")) = RecD ) - } - Else { - Set IsValid = 1 - } - } Else { - If $data(^PRBS("BS",..PRNr,BSKey)) { - Set IsValid = ..RecordsHebbenZelfdeVoorwaarden(Rec,^PRBS("BS",..PRNr,BSKey)) - Set:IsValid IsValid = ($G(^PRBS("BS",..PRNr,BSKey,"D")) = RecD ) - } - Else { - Set IsValid = 1 - } + If $data(^PRBS(..BSNode,..PRNr,BSKey)) { + Set IsValid = ..RecordsHebbenZelfdeVoorwaarden(Rec,^PRBS(..BSNode,..PRNr,BSKey)) + Set:IsValid IsValid = ($G(^PRBS(..BSNode,..PRNr,BSKey,"D")) = RecD ) } + Else { + Set IsValid = 1 + } } Quit BSKey ]]> @@ -363,11 +411,7 @@ Set $P(Record,"\",10)=..KostSortNr Set $P(Record,"\",11)=Groep - If (..IsSchaduwBerekening) { - Set ^PRBS("BSS",..PRNr,BSKey)=Record - } Else { - Set ^PRBS("BS",..PRNr,BSKey)=Record - } + Set ^PRBS(..BSNode,..PRNr,BSKey)=Record Set ..KostSuffix = ..KostSuffix + 1 Set ..KostSortNr = ..KostSortNr + 1 @@ -475,11 +519,7 @@ Do ..PrefixBestelReferentieIndienNodig(..PRNr,Product) - If (..IsSchaduwBerekening) { - Set ^PRBS("BSS",..PRNr,"KIND."_##class(TECH.StringUtils).AlignRight(..AantalKinderen,"0",3)) = Product.GeefID()_"\"_Item.Aantal_"\K\\\\\\\\PROD" - } Else { - Set ^PRBS("BS",..PRNr,"KIND."_##class(TECH.StringUtils).AlignRight(..AantalKinderen,"0",3)) = Product.GeefID()_"\"_Item.Aantal_"\K\\\\\\\\PROD" - } + Set ^PRBS(..BSNode,..PRNr,"KIND."_##class(TECH.StringUtils).AlignRight(..AantalKinderen,"0",3)) = Product.GeefID()_"\"_Item.Aantal_"\K\\\\\\\\PROD" Quit $$$OK ]]>