1 %RegisteredObject 0 Applicatie:APPS.common.dto.Applicatie,WinkelkarID:%String APPS.EC.Winkelkar.dto.Winkelkar Applicatie:APPS.common.dto.Applicatie,KlantID:%String APPS.EC.Winkelkar.dto.Winkelkar Applicatie:APPS.common.dto.Applicatie,WinkelkarID:%String,LijnID:%String APPS.EC.Winkelkar.dto.Winkelkar Applicatie:APPS.common.dto.Applicatie,WinkelkarID:%String APPS.EC.Winkelkar.dto.Winkelkar Applicatie:APPS.common.dto.Applicatie,WinkelkarID:%String,GroepNaam:%String,IngegevenKenmerken:APPS.PM.Maatwerk.dto.IngegevenKenmerken,Aantal:%String APPS.EC.Winkelkar.dto.Winkelkar Maakt een groep aan indien deze niet bestaat. Winkelkar:DOM.EC.Winkelkar.Winkelkar,GroepNaam:%String,Lijn:DOM.EC.Winkelkar.Lijn 1 %Status Applicatie:APPS.common.dto.Applicatie,WinkelkarID:%String Applicatie:APPS.common.dto.Applicatie,WinkelkarID:%String,LijnID:%String,IngegevenKenmerken:APPS.PM.Maatwerk.dto.IngegevenKenmerken,Aantal:%String APPS.EC.Winkelkar.dto.Winkelkar IngegevenKenmerken:APPS.PM.Maatwerk.dto.IngegevenKenmerken,Aantal:%String,KlantID:%String 1 0) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("Het aantal moet groter zijn dan 0")) } If ('IngegevenKenmerken.IsVolledig()) { Do ##class(TECH.ExceptionHandler).Throw(##class(TECH.Exceptions.InvalidInputException).%New("De ingegeven kenmerken zijn niet volledig")) } Set IngegevenKenmerkenVisitor = ##class(APPS.PM.Maatwerk.impl.DtoNaarKenmerkVisitor).%New() Do IngegevenKenmerken.Accept(IngegevenKenmerkenVisitor) Set IngegevenKenmerkenDOM = IngegevenKenmerkenVisitor.GeefIngegevenKenmerken() // Berekenen halffabrikaat items product Set Personality = ##class(DOM.common.VanHoeckePersonality).Instance() Set BerekeningsSpecificatie = ##class(DOM.PM.Maatwerk.Calc.Common.BerekeningsSpecificatie).%New(1,KlantID,Personality) Set Context=##class(DOM.PM.Maatwerk.Calc.HF.HalffabContext).%New(IngegevenKenmerken.GeefFamilie(),IngegevenKenmerken.GeefVariant(),BerekeningsSpecificatie) Do ##class(vhLib.OldSchool).InitVars() Do Context.GeefHalffabSpec().BerekenHalffabDetails(Context,IngegevenKenmerkenDOM) Set KostContext = ##class(DOM.PM.Maatwerk.Calc.Kost.KostContext).%New(IngegevenKenmerken.GeefFamilie(), IngegevenKenmerken.GeefVariant(), BerekeningsSpecificatie) Set KostItem = KostContext.GeefKostSpec().BerekenKostDetails(KostContext,Context.HalffabItemsBoom,IngegevenKenmerkenDOM) // Aanmaken van de lijn Set EenheidPrijs = $$ROUND^KPRIJS(KostItem.GeefKost()) Set TotaalPrijs = EenheidPrijs * Aantal Quit ##class(DOM.EC.Winkelkar.MaatwerkLijn).%New(Aantal, IngegevenKenmerkenDOM, EenheidPrijs, TotaalPrijs) ]]> Applicatie:APPS.common.dto.Applicatie,WinkelkarID:%String 1 DOM.EC.Winkelkar.Winkelkar