Name DataType Subtype Length abpDotXml DotNet 'System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlDocument abpDotXmlnodelist DotNet 'System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNodeList abpIntCount Integer abpDotXmlnode DotNet 'System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Xml.XmlNode abpTxtApiKey Text 100
abpFncGetStreetnameCity(parPostcode : Code[10];parHouseNo : Code[10]) IF (parPostcode = '') OR (parHouseNo = '') THEN EXIT; parPostcode := DELCHR(parPostcode,'=',' '); IF STRLEN(parPostcode) <> 6 THEN EXIT; abpTxtApiKey := 'beschikbaar na het aanmaken van een account'; abpDotXml := abpDotXml.XmlDocument(); abpDotXml.Load('http://api.postcodes.nl/1.0/address/?apikey='+abpTxtApiKey+'&nlzip6='+parPostcode+'&streetnumber='+parHouseNo+ '&output=xml'); abpDotXmlnodelist := abpDotXml.SelectNodes('//*'); IF (abpDotXmlnodelist.ToString() <> '') THEN BEGIN FOR abpIntCount := 0 TO abpDotXmlnodelist.Count - 1 DO BEGIN abpDotXmlnode := abpDotXmlnodelist.Item(abpIntCount); CASE abpDotXmlnode.Name OF 'status' : BEGIN IF abpDotXmlnode.InnerText='error' THEN ERROR('Combinatie postcode/huisnummer niet gevonden!'); END; 'streetname': Address := COPYSTR(abpDotXmlnode.InnerText,1,50); 'city' : City := UPPERCASE(COPYSTR(abpDotXmlnode.InnerText,1,30)); END END; END;
Comments
Bij deze dan een wijziging voor de classic client.
In codeunit 11401: Post Code Management, functie FindStreetName, wijzig de code //NA naar:
Voeg deze functie toe:
Wijzig de regel:
'YOUR OWN APIKEY' naar '04b91b7b6c721ba8d41a403dc90ea992adafb44d25e5b8d3134e18567b725541'
Bijvoorbeeld bij een contactpersoon:
Vul in het adresveld in de tekst: 2909LK22
en je krijgt: "Rivium Boulevard 22, Capelle aan den IJssel"