Index: vhUnitTest/APPS/VKP/Maatwerk/TestConfiguratorService.cls.xml =================================================================== diff -u -r1686 -r1731 --- vhUnitTest/APPS/VKP/Maatwerk/TestConfiguratorService.cls.xml (.../TestConfiguratorService.cls.xml) (revision 1686) +++ vhUnitTest/APPS/VKP/Maatwerk/TestConfiguratorService.cls.xml (.../TestConfiguratorService.cls.xml) (revision 1731) @@ -10,7 +10,7 @@ + + + + + + + + + + + +Geeft de id van de winkelkar terug +1 +%Integer + + Index: DOM/EC/Winkelkar/Visitors/ProductLijnenTeller.cls.xml =================================================================== diff -u --- DOM/EC/Winkelkar/Visitors/ProductLijnenTeller.cls.xml (revision 0) +++ DOM/EC/Winkelkar/Visitors/ProductLijnenTeller.cls.xml (revision 1731) @@ -0,0 +1,38 @@ + + + +1 +DOM.EC.Winkelkar.WinkelkarVisitor +0 + + +%Integer +0 +1 + + + +%Integer + + + + +ProductLijn:DOM.EC.Winkelkar.ProductLijn +%Status + + + + +MaatwerkLijn:DOM.EC.Winkelkar.MaatwerkLijn +%Status + + + + Index: WS/VKP/Maatwerk/ConfiguratorService.cls.xml =================================================================== diff -u -r1679 -r1731 --- WS/VKP/Maatwerk/ConfiguratorService.cls.xml (.../ConfiguratorService.cls.xml) (revision 1679) +++ WS/VKP/Maatwerk/ConfiguratorService.cls.xml (.../ConfiguratorService.cls.xml) (revision 1731) @@ -20,12 +20,27 @@ ]]> + +Applicatie:APPS.common.dto.Applicatie,WinkelkarID:%String,DocumentType:APPS.VKP.Maatwerk.enu.DocumentType,DocumentID:%String,LijnID:%String +1 + + + ParameterID:%String APPS.VKP.Maatwerk.dto.ConfiguratorParameters 1 + + +Familie:DOM.PM.enu.Familie,Variant:DOM.PM.enu.LadeVariant,GevraagdeVersie:%Integer,ProductID:%String +APPS.PM.Maatwerk.dto.IngegevenKenmerken +1 + + Index: APPS/VKP/Maatwerk/impl/ParameterToDtoVisitor.cls.xml =================================================================== diff -u --- APPS/VKP/Maatwerk/impl/ParameterToDtoVisitor.cls.xml (revision 0) +++ APPS/VKP/Maatwerk/impl/ParameterToDtoVisitor.cls.xml (revision 1731) @@ -0,0 +1,64 @@ + + + +1 +%RegisteredObject,APPS.VKP.Maatwerk.impl.IParametersVisitor +0 + + +APPS.VKP.Maatwerk.dto.ConfiguratorParameters +1 + + + +ProductToevoegenParameters:APPS.VKP.Maatwerk.impl.ProductToevoegenParameters + + + + +ProductWijzigenParameters:APPS.VKP.Maatwerk.impl.ProductWijzigenParameters + + + + +ConfiguratorParameters:APPS.VKP.Maatwerk.impl.ConfiguratorParameters +1 + + + + +APPS.VKP.Maatwerk.dto.ConfiguratorParameters + + + + Index: APPS/VKP/Maatwerk/dto/ConfiguratorParameters.cls.xml =================================================================== diff -u -r1679 -r1731 --- APPS/VKP/Maatwerk/dto/ConfiguratorParameters.cls.xml (.../ConfiguratorParameters.cls.xml) (revision 1679) +++ APPS/VKP/Maatwerk/dto/ConfiguratorParameters.cls.xml (.../ConfiguratorParameters.cls.xml) (revision 1731) @@ -1,6 +1,7 @@ +1 1 %RegisteredObject,%XML.Adaptor 0 @@ -29,12 +30,5 @@ %String 1 - - - -Optioneel. Lijnnummer binnen het doorgegeven document dat aangepast wordt. -In dat geval mag de client-sessie enkel het maatwerkproduct voor die lijn editeren en geen andere producten toevoegen. -%String - Index: vhTXTPOP.mac.rou =================================================================== diff -u -r734 -r1731 --- vhTXTPOP.mac.rou (.../vhTXTPOP.mac.rou) (revision 734) +++ vhTXTPOP.mac.rou (.../vhTXTPOP.mac.rou) (revision 1731) @@ -42,7 +42,7 @@ Quit ;Toont alleen de tekst, naderhand REFRESH^vhTERMINA() oproepen om de textpop te wissen -DISPONLY(Tekst,sTitel) +DISPONLY(Tekst,sTitel,sNoRefr) ; Tekst : Tekstlijnen met "`" of "~" gescheiden ; Optie : sTitel New sTxt,sButLoc,I,MailId @@ -51,7 +51,7 @@ For I=1:1:$L(Tekst,"~") Do .Set sTxt=sTxt+1 .Set sTxt(sTxt)=$P(Tekst,"~",I)_$S($G(Muet):"~",1:"") - Set Tekst=$$WILD("C;C",$G(sTitel,"Waarschuwing"),"sTxt","",-1,-1) + Set Tekst=$$WILD("C;C",$G(sTitel,"Waarschuwing"),"sTxt","",-1,-1,.sNoRefr) Quit WILD(sPos,sTitel,sTxtLoc,sButLoc,sButAli,sTimeO,sNoRefr,sP1,sP2,sP3,sP4,sP5) Index: APPS/VKP/Maatwerk/dto/ProductToevoegenParameters.cls.xml =================================================================== diff -u --- APPS/VKP/Maatwerk/dto/ProductToevoegenParameters.cls.xml (revision 0) +++ APPS/VKP/Maatwerk/dto/ProductToevoegenParameters.cls.xml (revision 1731) @@ -0,0 +1,16 @@ + + + +1 +APPS.VKP.Maatwerk.dto.ConfiguratorParameters +0 + + +DOM.PM.enu.Familie + + + +DOM.PM.enu.Variant + + + Index: APPS/VKP/Maatwerk/impl/ConfiguratorParameters.cls.xml =================================================================== diff -u -r1686 -r1731 --- APPS/VKP/Maatwerk/impl/ConfiguratorParameters.cls.xml (.../ConfiguratorParameters.cls.xml) (revision 1686) +++ APPS/VKP/Maatwerk/impl/ConfiguratorParameters.cls.xml (.../ConfiguratorParameters.cls.xml) (revision 1731) @@ -8,33 +8,30 @@ %Integer +1 1 APPS.VKP.Maatwerk.enu.DocumentType +1 1 %String +1 1 %Integer +1 1 - - -Optioneel. Lijnnummer binnen het doorgegeven document dat aangepast wordt. -In dat geval mag de client-sessie enkel het maatwerkproduct voor die lijn editeren en geen andere producten toevoegen. -%String - - -DocumentType:APPS.VKP.Maatwerk.enu.DocumentType,DocumentID:%String,KlantID:%String,GebruikerID:%String,LijnID:%String="" +DocumentType:APPS.VKP.Maatwerk.enu.DocumentType,DocumentID:%String,KlantID:%String,GebruikerID:%String 1 1 %Status @@ -43,11 +40,34 @@ Set ..DocumentID = DocumentID Set ..KlantID = KlantID Set ..GebruikerID = GebruikerID - Set ..LijnID = LijnID Quit $$$OK ]]> + +%Integer + + + + +APPS.VKP.Maatwerk.enu.DocumentType + + + + +%String + + + + +%Integer + + + %Library.CacheStorage ^APPS.VKP.Ma79D.Configurator907D Index: DOM/EC/Winkelkar/Winkelkar.cls.xml =================================================================== diff -u -r1674 -r1731 --- DOM/EC/Winkelkar/Winkelkar.cls.xml (.../Winkelkar.cls.xml) (revision 1674) +++ DOM/EC/Winkelkar/Winkelkar.cls.xml (.../Winkelkar.cls.xml) (revision 1731) @@ -104,27 +104,7 @@ Geeft leeg terug indien de groep niet bestaat GroepNaam:%String DOM.EC.Winkelkar.GroepLijn - Index: CSC ConfiguratorService.prj.xml =================================================================== diff -u -r1687 -r1731 --- CSC ConfiguratorService.prj.xml (.../CSC ConfiguratorService.prj.xml) (revision 1687) +++ CSC ConfiguratorService.prj.xml (.../CSC ConfiguratorService.prj.xml) (revision 1731) @@ -1,5 +1,26 @@ - + + + + + + + + + + + + + + + + + + + + + + Index: FLOWOFF.mac.rou =================================================================== diff -u -r1686 -r1731 --- FLOWOFF.mac.rou (.../FLOWOFF.mac.rou) (revision 1686) +++ FLOWOFF.mac.rou (.../FLOWOFF.mac.rou) (revision 1731) @@ -42,7 +42,8 @@ .If Input="IC" Do CONTRACT Quit .If Input="C" Do PAKKET .If Input="Z" Do HADWIZ - .If Input="F" Do Configurator + .If Input="F" Do Configurator(0) + .If Input="B" Do Configurator(1) .If Input="G" Do LINSERT("G") .If Input="H" Do ^KF13 If '$P(^KOFKL(KLNr,"F",OFFNr,1),D,9) Set Input="-" Quit .If Input="I" Do LINSERT("","B") @@ -444,7 +445,6 @@ Set DelMirror=1 LDELETE New I,PRNr,OFLNr,MirrorLine - Quit:'$D(Detail) Set OFLNr=Detail(@DL(1)@(6)) Set K=^KOFKL(KLNr,"F",OFFNr,OFLNr),PRNr=$P(K,D,2) If $P(K,D,17)="KOF11" Do DELETE^FLOWTEXT(Q_UGL,OFFNr,OFLNr) Quit @@ -514,13 +514,31 @@ . If PRNr,Aantal Do PINSERT("","",PRNr,Aantal) Quit -Configurator - New R,PRNr,Aantal,ConfiguratorService,BesteldeProducten,BesteldeProductenIterator,BesteldProduct,Puntjes +Configurator(WijzigProduct) + New R,PRNr,Aantal,ConfiguratorService,BesteldeProducten,BesteldeProductenIterator,BesteldProduct,Puntjes,Parameters,Status Set (PRNr,Aantal,BesteldeProducten,Puntjes)="" + New Familie,Variant + Set (Familie,Variant) = "" - New Parameters - Set Parameters = ##class(APPS.VKP.Maatwerk.impl.ConfiguratorParameters).%New(##class(APPS.VKP.Maatwerk.enu.DocumentType).Offerte(),OFFNr,KLNr,##class(TECH.Context.RuntimeContext).Instance().GeefGebruikerInitialen()) - Set Status = Parameters.%Save() + If (WijzigProduct) + { + New ProductAPI, Product + Set ProductAPI = ##class(DOM.DomeinContext).Instance().GeefProductAPI() + Set OFLNr=Detail(@DL(1)@(6)),R=^KOFKL(KLNr,"F",OFFNr,OFLNr),PRNr=$P(R,D,2) Set:PRNr Aantal=$P(R,D,3) + Set Product = ProductAPI.GeefProduct(PRNr) + If (Product.%Extends("DOM.PM.MaatwerkProduct")) + { + Set Familie = Product.GeefFamilie() + Set Variant = Product.GeefVariant() + } + Set Parameters = ##class(APPS.VKP.Maatwerk.impl.ProductWijzigenParameters).%New(##class(APPS.VKP.Maatwerk.enu.DocumentType).Offerte(),OFFNr,KLNr,##class(TECH.Context.RuntimeContext).Instance().GeefGebruikerInitialen(),Familie,Variant,PRNr,OFLNr) + Set Status = Parameters.%Save() + } + Else + { + Set Parameters = ##class(APPS.VKP.Maatwerk.impl.ProductToevoegenParameters).%New(##class(APPS.VKP.Maatwerk.enu.DocumentType).Offerte(),OFFNr,KLNr,##class(TECH.Context.RuntimeContext).Instance().GeefGebruikerInitialen(),Familie,Variant) + Set Status = Parameters.%Save() + } If ($$$ISERR(Status)) { Do DISPONLY^vhTXTPOP("Opslaan parameter object niet gelukt~"_$$ParseStatus^vhLib(Status),"Fout!") @@ -541,17 +559,26 @@ Write @F,"VBA:\\" Do REFRESH^vhTERMINA() + Do STORE^vhTERMINA() Set ConfiguratorService = ##class(APPS.VKP.Maatwerk.ConfiguratorService).%New() - Do DISPONLY^vhTXTPOP("Invoeren van product met configurator ","Bezig met ...") + Do DISPONLY^vhTXTPOP("Invoeren van product met configurator ","Bezig met ...",1) Set BesteldeProducten = "" While (BesteldeProducten = "") { - h 1 + Hang 1 Set Puntjes = Puntjes_"." If ($Length(Puntjes) > 3) Set Puntjes = "" - Do DISPONLY^vhTXTPOP("Invoeren van product met configurator "_Puntjes_$Justify("",3-$Length(Puntjes)),"Bezig met ...") + Do DISPONLY^vhTXTPOP("Invoeren van product met configurator "_Puntjes_$Justify("",3-$Length(Puntjes)),"Bezig met ...",1) Set BesteldeProducten = ConfiguratorService.GeefBesteldeProducten(##class(APPS.VKP.Maatwerk.enu.DocumentType).Offerte(),OFFNr) } + Do REFRESH^vhTERMINA(1,24) + + If (WijzigProduct) + { + Set DelMirror=1 // zorgt ervoor dat er geen input wordt gevraagd voor de delete + Do LDELETE + } + Set BesteldeProductenIterator = ##class(TECH.ListIterator).%New(BesteldeProducten.Lijst) While (BesteldeProductenIterator.HasNext()) { Index: APPS/VKP/Maatwerk/ConfiguratorService.cls.xml =================================================================== diff -u -r1686 -r1731 --- APPS/VKP/Maatwerk/ConfiguratorService.cls.xml (.../ConfiguratorService.cls.xml) (revision 1686) +++ APPS/VKP/Maatwerk/ConfiguratorService.cls.xml (.../ConfiguratorService.cls.xml) (revision 1731) @@ -24,48 +24,78 @@ ]]> + +Applicatie:APPS.common.dto.Applicatie,WinkelkarID:%String,DocumentType:APPS.VKP.Maatwerk.enu.DocumentType,DocumentID:%String,LijnID:%String + + + Geeft leeg terug indien er geen producten werden besteld voor dit document type en de welbepaalde id DocumentType:APPS.VKP.Maatwerk.enu.DocumentType,DocumentID:%String APPS.VKP.Maatwerk.impl.BesteldeProducten - ParameterID:%String APPS.VKP.Maatwerk.dto.ConfiguratorParameters + + + +Familie:DOM.PM.enu.Familie,Variant:DOM.PM.enu.LadeVariant,GevraagdeVersie:%Integer,ProductID:%String +APPS.PM.Maatwerk.dto.IngegevenKenmerken + Index: APPS/VKP/Maatwerk/impl/IParametersVisitor.cls.xml =================================================================== diff -u --- APPS/VKP/Maatwerk/impl/IParametersVisitor.cls.xml (revision 0) +++ APPS/VKP/Maatwerk/impl/IParametersVisitor.cls.xml (revision 1731) @@ -0,0 +1,18 @@ + + + +1 +1 +0 + + +1 +ProductToevoegenParameters:APPS.VKP.Maatwerk.impl.ProductToevoegenParameters + + + +1 +ProductWijzigenParameters:APPS.VKP.Maatwerk.impl.ProductWijzigenParameters + + + Index: APPS/VKP/Maatwerk/impl/ProductWijzigenParameters.cls.xml =================================================================== diff -u --- APPS/VKP/Maatwerk/impl/ProductWijzigenParameters.cls.xml (revision 0) +++ APPS/VKP/Maatwerk/impl/ProductWijzigenParameters.cls.xml (revision 1731) @@ -0,0 +1,92 @@ + + + +persistent +1 +APPS.VKP.Maatwerk.impl.ConfiguratorParameters +0 + + +DOM.PM.enu.Familie +1 + + + +DOM.PM.enu.Variant +1 + + + +%Integer +1 + + + +%Integer +1 + + + +DocumentType:APPS.VKP.Maatwerk.enu.DocumentType,DocumentID:%String,KlantID:%String,GebruikerID:%String,Familie:DOM.PM.enu.Familie,Variant:DOM.PM.enu.Variant,ProductID:%Integer,LijnID:%Integer +1 +1 +%Status + + + + +DOM.PM.enu.Familie + + + + +DOM.PM.enu.Variant + + + + +%Integer + + + + +%Integer + + + + +Visitor:APPS.VKP.Maatwerk.impl.IParametersVisitor + + + + +%Library.CacheStorage +ProductWijzigenParametersDefaultData + +listnode +"ProductWijzigenParameters" + +Familie + + +Variant + + +ProductID + + + + + Index: APPS/VKP/Maatwerk/dto/ProductWijzigenParameters.cls.xml =================================================================== diff -u --- APPS/VKP/Maatwerk/dto/ProductWijzigenParameters.cls.xml (revision 0) +++ APPS/VKP/Maatwerk/dto/ProductWijzigenParameters.cls.xml (revision 1731) @@ -0,0 +1,24 @@ + + + +1 +APPS.VKP.Maatwerk.dto.ConfiguratorParameters +0 + + +DOM.PM.enu.Familie + + + +DOM.PM.enu.Variant + + + +%Integer + + + +%Integer + + + Index: APPS/VKP/Maatwerk/impl/ProductToevoegenParameters.cls.xml =================================================================== diff -u --- APPS/VKP/Maatwerk/impl/ProductToevoegenParameters.cls.xml (revision 0) +++ APPS/VKP/Maatwerk/impl/ProductToevoegenParameters.cls.xml (revision 1731) @@ -0,0 +1,71 @@ + + + + +Geeft aan dat we producten willen toevoegen aan een document. +De Familie + Variant bepalen welk soort product gevraagd wordt om als eerste toe te voegen. +De client kan op basis hiervan de orderingave met de juiste productspecificatietool initialiseren +(de juiste maatwerkeditor kiezen dan wel een product zoek voor niet-maatwerkproducten). +Familie mag ook leeg zijn, in dat geval moet op de client nog worden aangegeven welk type product men wenst toe te voegen. +persistent +1 +APPS.VKP.Maatwerk.impl.ConfiguratorParameters +0 + + +DOM.PM.enu.Familie +1 + + + +DOM.PM.enu.Variant +1 + + + +DocumentType:APPS.VKP.Maatwerk.enu.DocumentType,DocumentID:%String,KlantID:%String,GebruikerID:%String,Familie:DOM.PM.enu.Familie="",Variant:DOM.PM.enu.Variant="" +1 +1 +%Status + + + + +DOM.PM.enu.Familie + + + + +DOM.PM.enu.Variant + + + + +Visitor:APPS.VKP.Maatwerk.impl.IParametersVisitor + + + + +%Library.CacheStorage +ProductToevoegenParametersDefaultData + +listnode +"ProductToevoegenParameters" + +Familie + + +Variant + + + + +