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
+
+
+
+
+