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: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().ParseKlantUitMail(Inhoud) Do ##class(APPS.CRM.impl.InlezenKlantGegevens).VraagInhoud() 1 %RegisteredObject %String array 1 1 %Status 1 KlantGegevens:DOM.common.dto.KlantPartij,TemplateID:%String DOM.common.PartijID Parsen van de input van de email met klantgegevens DOM.common.dto.KlantPartij 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) }ElseIf(Property = "Opmerking1"){ Set i = i + 1 Set Lijn = $Piece(Inhoud,LineFeed,i) While (Lijn '[ ":"){ Set Waarde = Waarde_$ZSTRIP(Lijn,"<>W") Set i = i + 1 Set Lijn = $Piece(Inhoud,LineFeed,i) } Set i = i - 1 } /// Postcode en woonplaats opsplitsen If (Property = "Gemeente"){ /// 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 set $zobjProperty(Object,"LandNr")=1019 } /// Nederlandse postcodes : ElseIf ((($Length(Deel1)=6) && (Deel1?4.N2.A)) || (($Length(Deel1)=4) && ($Length(Deel3)=2) && (Deel1?4.N) && (Deel3?2.A))){ If ($Length(Deel1)=6){ Set Deel3 = "" }Else{ Set Deel2 = $Piece(Waarde," ",3,99) } set $zobjProperty(Object,"Postcode")=Deel1_Deel3 set $zobjProperty(Object,Property)=Deel2 set $zobjProperty(Object,"LandNr")=1147 }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 ]]>