Index: DOM/common/dto/Persoon.cls.xml
===================================================================
diff -u
--- DOM/common/dto/Persoon.cls.xml (revision 0)
+++ DOM/common/dto/Persoon.cls.xml (revision 1334)
@@ -0,0 +1,40 @@
+
+
+
+1
+%RegisteredObject,%XML.Adaptor
+0
+
+
+%String
+
+
+
+%String
+
+
+
+%String
+
+
+
+%String
+
+
+
+%String
+
+
+
+%String
+
+
+
+%String
+
+
+
+%String
+
+
+
Index: JBL InlezenKlantGegevens.prj.xml
===================================================================
diff -u
--- JBL InlezenKlantGegevens.prj.xml (revision 0)
+++ JBL InlezenKlantGegevens.prj.xml (revision 1334)
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: DOM/common/Persoon.cls.xml
===================================================================
diff -u -r1264 -r1334
--- DOM/common/Persoon.cls.xml (.../Persoon.cls.xml) (revision 1264)
+++ DOM/common/Persoon.cls.xml (.../Persoon.cls.xml) (revision 1334)
@@ -3,6 +3,7 @@
1
1
+0
1
@@ -21,7 +22,6 @@
/**********
/ Getters
/*********/
-
]]>
@@ -115,12 +115,16 @@
+
+1
+%Integer
+
+
Index: vhUnitTest/DOM/CRM/TestPersoon.cls.xml
===================================================================
diff -u -r1074 -r1334
--- vhUnitTest/DOM/CRM/TestPersoon.cls.xml (.../TestPersoon.cls.xml) (revision 1074)
+++ vhUnitTest/DOM/CRM/TestPersoon.cls.xml (.../TestPersoon.cls.xml) (revision 1334)
@@ -112,6 +112,35 @@
]]>
+
+
+
+
+
+
+
+JBL + 2011-05-24
+Gegevens vanuit een email die via een contactformulier binnenkomen
+parsen naar gegevens en properties die bruikbaar zijn bij het openen van een klant.
+https://www.pivotaltracker.com/story/show/9543011
+
+set Inhoud = "programmaoverzicht"_$C(9)_": "_$C(9)_"checked"_$C(13,10)_"stuur-mij-de-orgalux-brochure"_$C(9)_": "_$C(9)_"checked"_$C(13,10)_"aankoopprijzen-orgalux"_$C(9)_": "_$C(9)_"checked"_$C(13,10)_"stuur-mij-dynalog-full-versie"_$C(9)_": "_$C(9)_"checked"_$C(13,10)_"vermeld-mijn-website"_$C(9)_": "_$C(9)_"checked"_$C(13,10)_"neem-contact-met-mij-op-voor-een-afspraak"_$C(9)_": "_$C(9)_"checked"_$C(13,10)_"naam"_$C(9)_": "_$C(9)_"Joren Blancquaert"_$C(13,10)_"functie"_$C(9)_": "_$C(9)_"IT"_$C(13,10)_"bedrijf"_$C(9)_": "_$C(9)_"Van Hoecke"_$C(13,10)_"btw-nr"_$C(9)_": "_$C(9)_"123-456-789"_$C(13,10)_"straat-nr"_$C(9)_": "_$C(9)_"Centrumlaan 1"_$C(13,10)_"gemeente"_$C(9)_": "_$C(9)_"9000 Sint-Niklaas"_$C(13,10)_"telefoon"_$C(9)_": "_$C(9)_"093867459"_$C(13,10)_"fax"_$C(9)_": "_$C(9)_"093867458"_$C(13,10)_"emailfrom"_$C(9)_": "_$C(9)_"jbl@vanhoecke.be"_$C(13,10)_"website"_$C(9)_": "_$C(9)_"www.vanhoecke.be"_$C(13,10)_"opmerkingen"_$C(9)_": "_$C(9)_"Dit is een testmail voor het verwerken van binnenkomende contactformulieren. Kan deze mail worden doorgestuurd naar jbl@vanhoecke.be ? Dank Groeten, Joren "_$C(13,10)_"attachement"_$C(9)_": "_$C(9)_" "_$C(13,10)_"stuur-produkt-info-via-email"_$C(9)_": "_$C(9)_"checked"_$C(13,10)
+do ##class(APPS.CRM.impl.InlezenKlantGegevens).%New().ParseMail(Inhoud)
+Do ##class(APPS.CRM.impl.InlezenKlantGegevens).VraagInhoud()
+
+1
+%RegisteredObject
+0
+
+
+%String
+array
+
+
+
+1
+1
+%Status
+
+
+
+
+1
+0
+ [] = OK :"
+ Read Bevestig
+
+ If (Bevestig = ""){
+ Write @F11,@F1,@FMTI,"Openen Klant via contactformulier - ",QN,@FMTi
+ Set FP=0303 Write @F,@F1,"Kies een openingspatroon."
+
+ /// Openingspatroon kiezen
+ Set TemplateID = ..KiesOpeningspatroon()
+
+ If (TemplateID '= ""){
+ /// Nieuwe klant aanmaken met geparste gegevens
+ Set KlantAPI = ##class(DOM.DomeinContext).Instance().GeefKlantAPI()
+ Set Klant = KlantAPI.MaakKlant(KlantGegevens,TemplateID)
+
+ Set KlantIsDirty = 0
+ If (KlantGegevens.URL '= ""){
+ Do Klant.ZetURL(KlantGegevens.URL)
+ Set KlantIsDirty = 1
+ }
+ If (KlantGegevens.KVKNummer '= ""){
+ Do Klant.ZetHandelsregisterNr(KlantGegevens.KVKNummer)
+ Set KlantIsDirty = 1
+ }
+
+ If (KlantIsDirty){
+ Do Klant.Save()
+ }
+
+ /// PERSOON
+ /// Indien de naam van persoon gekend, is deze persoon aanmaken.
+ If (KlantGegevens.PersoonNaam '= ""){
+ Set dtoPersoon = ##class(DOM.common.dto.Persoon).%New()
+ Set dtoPersoon.Naam = KlantGegevens.PersoonNaam
+ Set dtoPersoon.Fax = KlantGegevens.Fax
+ Set dtoPersoon.Email = KlantGegevens.Email
+ Set dtoPersoon.Telefoon = KlantGegevens.Telefoon1
+ Do Klant.MaakPersoon(dtoPersoon)
+ }
+
+ /// Wijzig scherm openen van de nieuwe klant.
+ Do WIJZIG^KLANT(Klant.GeefNummer(),1)
+ }
+ }
+ }
+]]>
+
+
+
+
+Parsen van de input van de email met klantgegevens
+
+APPS.CRM.dto.KlantGegevens
+W")
+ Set Waarde = $ZSTRIP($Piece(Lijn,":",2),"<>W")
+
+ /// Taal controleren
+ If ((Property = "nom") || (Property = "fonction")) Set TaalFR = TaalFR + 1
+ If ((Property = "naam") || (Property = "functie")) Set TaalNL = TaalNL + 1
+
+ If (..MappingNaarProperty.IsDefined(Property)){
+ Set Property = ..MappingNaarProperty.GetAt(Property)
+
+ Set Object = Klant
+ If (Property["Adres."){
+ Set Object = Klant.Adres
+ Set Property = $Piece(Property,".",2)
+ }
+ /// Postcode en woonplaats opsplitsen
+ If (Property = "Woonplaats"){
+ /// Belgische postcodes :
+ Set Deel1 = $Piece(Waarde," ")
+ Set Deel2 = $Piece(Waarde," ",2,99)
+ Set Deel3 = $Piece(Deel2," ")
+ If ((Deel1?4.N) && '(Deel3?2.A)){
+ set $zobjProperty(Object,"Postcode")=Deel1
+ set $zobjProperty(Object,Property)=Deel2
+ }
+ /// Nederlandse postcodes :
+ ElseIf ((($Length(Deel1)=6) && (Deel1?4.N2.A)) || (($Length(Deel1)=4) && ($Length(Deel3)=2) && (Deel1?4.N) && (Deel3?2.A))){
+ set $zobjProperty(Object,"Postcode")=Deel1_Deel3
+ set $zobjProperty(Object,Property)=Deel2
+ }Else{
+ set $zobjProperty(Object,Property)=Waarde
+ }
+
+ }Else{
+ set $zobjProperty(Object,Property)=Waarde
+ }
+ }
+ }
+ }
+
+ If (TaalNL = 2){ Set Klant.Taal = "N" }
+ Elseif (TaalFR = 2) { Set Klant.Taal = "F" }
+
+ Quit Klant
+]]>
+
+
+
+1
+1
+%Integer
+
+
+
+
Index: DOM/CRM/KlantAPI.cls.xml
===================================================================
diff -u -r1133 -r1334
--- DOM/CRM/KlantAPI.cls.xml (.../KlantAPI.cls.xml) (revision 1133)
+++ DOM/CRM/KlantAPI.cls.xml (.../KlantAPI.cls.xml) (revision 1334)
@@ -7,12 +7,18 @@
1
-KlantObject:DOM.CRM.dto.Klant
+KlantObject:DOM.CRM.dto.Klant,TypeTemplateKlant:DOM.CRM.enu.TypeTemplateKlant
DOM.CRM.Klant
+
+1
+KlantNummer:%Integer,dtoPersoon:DOM.common.dto.Persoon
+DOM.common.Persoon
+
+
1
Nr:%Integer
@@ -40,5 +46,10 @@
1
DOM.CRM.Klant
+
+
+1
+KlantNummer:%Integer,Persoon:DOM.common.Persoon
+
Index: DOM/CRM/impl/KlantImpl.cls.xml
===================================================================
diff -u -r1328 -r1334
--- DOM/CRM/impl/KlantImpl.cls.xml (.../KlantImpl.cls.xml) (revision 1328)
+++ DOM/CRM/impl/KlantImpl.cls.xml (.../KlantImpl.cls.xml) (revision 1334)
@@ -102,6 +102,12 @@
]]>
+
+%String
+
+
+
Sleutel:%String
%String
@@ -251,6 +257,25 @@
]]>
+
+Email:%String
+
+
+
+
+HandelsregisterNr:%String
+
+
+
InitialenNaam:%String
1
@@ -270,19 +295,6 @@
]]>
-
-Email:%String
-
-
-
Tijdstip:%Date
1
@@ -301,5 +313,14 @@
+
+
+dtoPersoon:DOM.common.dto.Persoon
+DOM.common.Persoon
+
+
Index: DOM/CRM/dto/Klant.cls.xml
===================================================================
diff -u -r1075 -r1334
--- DOM/CRM/dto/Klant.cls.xml (.../Klant.cls.xml) (revision 1075)
+++ DOM/CRM/dto/Klant.cls.xml (.../Klant.cls.xml) (revision 1334)
@@ -33,6 +33,10 @@
%String
+
+%String
+
+
%Integer
Index: DOM/CRM/Klant.cls.xml
===================================================================
diff -u -r1328 -r1334
--- DOM/CRM/Klant.cls.xml (.../Klant.cls.xml) (revision 1328)
+++ DOM/CRM/Klant.cls.xml (.../Klant.cls.xml) (revision 1334)
@@ -72,6 +72,11 @@
%String
+
+1
+%String
+
+
1
%String
@@ -196,6 +201,11 @@
Email:%String
+
+1
+HandelsregisterNr:%String
+
+
1
LeveringVoorwaarde:DOM.CRM.enu.LeveringVoorwaarde
@@ -221,5 +231,11 @@
1
%Boolean
+
+
+1
+dtoPersoon:DOM.common.dto.Persoon
+DOM.common.Persoon
+
Index: DOM/CRM/impl/DataM/DataMKlantBase.cls.xml
===================================================================
diff -u -r1328 -r1334
--- DOM/CRM/impl/DataM/DataMKlantBase.cls.xml (.../DataMKlantBase.cls.xml) (revision 1328)
+++ DOM/CRM/impl/DataM/DataMKlantBase.cls.xml (.../DataMKlantBase.cls.xml) (revision 1334)
@@ -179,6 +179,12 @@
]]>
+
+%String
+
+
+
%String
+
+Piece:%Integer,Waarde:%String
+1
+
+
+
Piece:%Integer,Waarde:%String
1
@@ -361,6 +378,19 @@
]]>
+
+Email:%String
+%String
+
+
+
+
+HandelsregisterNr:%String
+
+
+
InitialenNaam:%String
1
@@ -380,13 +410,6 @@
]]>
-
-Email:%String
-%String
-
-
-
Telefoon1:%String
1
-
+
1
-
+
1
-
+
1
Index: DOM/CRM/impl/DataM/DataMKlant.cls.xml
===================================================================
diff -u -r1328 -r1334
--- DOM/CRM/impl/DataM/DataMKlant.cls.xml (.../DataMKlant.cls.xml) (revision 1328)
+++ DOM/CRM/impl/DataM/DataMKlant.cls.xml (.../DataMKlant.cls.xml) (revision 1334)
@@ -163,7 +163,7 @@
$$$ThrowError($$$errGeneralError,"Er is geen KlantNummer ingevuld, kan object niet saven.")
}
- If (..AlgemeneGegevensDirty || ..BetalingsGegevens2Dirty || ..BetalingsGegevens3Dirty || ..Opmerkingen1Dirty || ..Opmerkingen2Dirty || ..Node7Dirty)
+ If (..AlgemeneGegevensDirty || ..BetalingsGegevens1Dirty || ..BetalingsGegevens2Dirty || ..BetalingsGegevens3Dirty || ..Opmerkingen1Dirty || ..Opmerkingen2Dirty || ..Node7Dirty)
{
Set OudeKlantIndex = $PIECE(^DKL("K","KL.A",..KlantNummer,0),"\",31)
@@ -283,8 +283,10 @@
Index: DOM/CRM/impl/DataM/DataMKlantAPI.cls.xml
===================================================================
diff -u -r1133 -r1334
--- DOM/CRM/impl/DataM/DataMKlantAPI.cls.xml (.../DataMKlantAPI.cls.xml) (revision 1133)
+++ DOM/CRM/impl/DataM/DataMKlantAPI.cls.xml (.../DataMKlantAPI.cls.xml) (revision 1334)
@@ -53,9 +53,17 @@
$$$ThrowError($$$errGeneralError,"Er is geen klant template meegegeven.")
}
- Set GlobalData = ##class(DOM.CRM.impl.DataM.DataMKlantTemplate).GeefTemplate(TypeTemplateKlant)
- /// Data inladen vanuit de template
- for i = 0 : 1 : 8 Set Data(i) = GlobalData.GetAt(i)
+ Set Data(0)=""
+ /// Template komt uit global ^KBA("%A",1,"KL",
+ If ($Length(TypeTemplateKlant)=1){
+ for i = 0 : 1 : 8 Set Data(i) = $Translate(^KBA("%A",1,"KL",TypeTemplateKlant,i),"?")
+ }
+ /// Template is enkel via code bereikbaar via enumeration
+ Else{
+ Set GlobalData = ##class(DOM.CRM.impl.DataM.DataMKlantTemplate).GeefTemplate(TypeTemplateKlant)
+ /// Data inladen vanuit de template
+ for i = 0 : 1 : 8 Set Data(i) = GlobalData.GetAt(i)
+ }
Set KlantIndex = $$COMPRES^KLANT(dtoKlant.KlantNaam,KlantNummer)
@@ -68,6 +76,7 @@
Set $Piece(Data(0),..#Delimiter,6) = dtoKlant.Adres.GeefPostcode()
Set $Piece(Data(0),..#Delimiter,7) = dtoKlant.Adres.GeefGemeente()
Set $Piece(Data(0),..#Delimiter,8) = dtoKlant.Adres.GeefLandNr()
+ Set $Piece(Data(0),..#Delimiter,9) = dtoKlant.Taal
Set $Piece(Data(0),..#Delimiter,13) = dtoKlant.Telefoon1
If (dtoKlant.BTWNummer '= ""){
Set $Piece(Data(0),..#Delimiter,16) = dtoKlant.BTWNummer
@@ -114,6 +123,79 @@
]]>
+
+
+Maak een persoon voor de opgegeven klantnummer.
+KlantNummer:%Integer,dtoPersoon:DOM.common.dto.Persoon
+DOM.common.Persoon
+
+
+
+
+
+Maak een persoon voor de opgegeven klantnummer.
+KlantNummer:%Integer,Persoon:DOM.common.Persoon
+
+
+
Zoekt tussen de klanten de medewerkers van VanHoecke en Halux
Index: vhUnitTest/APPS/CRM/TestInlezenKlantGegevens.cls.xml
===================================================================
diff -u
--- vhUnitTest/APPS/CRM/TestInlezenKlantGegevens.cls.xml (revision 0)
+++ vhUnitTest/APPS/CRM/TestInlezenKlantGegevens.cls.xml (revision 1334)
@@ -0,0 +1,94 @@
+
+
+
+
+Do ##class(vhUnitTest.Manager).RunTest("/display=all","APPS.CRM.TestInlezenKlantGegevens")
+1
+vhUnitTest.TestCase
+0
+
+
+
+Test formulier dat binnenkomt op contactformulier@vanhoecke.be (Nederlandstalig)
+
+
+
+
+
+Test formulier dat binnenkomt op contactb2b@vanhoecke.be (Nederlandstalig)
+
+
+
+
+
+Test formulier dat binnenkomt op info-aanvraag@vanhoecke.be (Franstalig)
+
+
+
+
+
+Test formulier dat binnenkomt op pas-encore-client@vanhoecke.be (Franstalig)
+
+
+
+
Index: APPS/CRM/dto/KlantGegevens.cls.xml
===================================================================
diff -u
--- APPS/CRM/dto/KlantGegevens.cls.xml (revision 0)
+++ APPS/CRM/dto/KlantGegevens.cls.xml (revision 1334)
@@ -0,0 +1,21 @@
+
+
+
+
+JBL + 2011-05-25
+DOM.CRM.dto.Klant
+0
+
+
+%String
+
+
+
+%String
+
+
+
+%String
+
+
+
Index: DOM/common/impl/DataM/DataMPersoonBase.cls.xml
===================================================================
diff -u -r1264 -r1334
--- DOM/common/impl/DataM/DataMPersoonBase.cls.xml (.../DataMPersoonBase.cls.xml) (revision 1264)
+++ DOM/common/impl/DataM/DataMPersoonBase.cls.xml (.../DataMPersoonBase.cls.xml) (revision 1334)
@@ -147,6 +147,12 @@
]]>
+
+%Integer
+
+
+
+
+
+persistent
+1
+%Persistent
+0
+
+
+
+Toon in de ADMIN een multiline textarea. Als resultaat wordt de input als string terug gegeven.
+1
+Label:%String="Inhoud",Rect:%String="5;11;20;60"
+0
+%String
+
+
+
+
+%Library.CacheStorage
+^CHUI.ToolKitD
+ToolKitDefaultData
+^CHUI.ToolKitD
+^CHUI.ToolKitI
+^CHUI.ToolKitS
+
+listnode
+
+
+%%CLASSNAME
+
+
+
+
+