Wijzigingen GetConnectoren in Profit 15

Op deze pagina zie je aandachtspunten voor GetConnectoren (en AFAS Remote).

Het verwerken en samenstellen van JSON en XML vindt niet in Profit plaats maar direct in de SQL-database. Dit komt de performance ten goede.

Voordelen

Voordelen ten opzichte van de situatie waarin de verwerking nog via Profit ging:

  • Valutavelden hebben meer cijfers achter de komma.
  • Numerieke velden kunnen cijfers achter de komma hebben, bijvoorbeeld btw 21,00.
  • Bij labels die een punt bevatten krijg je een melding in Profit dat dit niet conform REST-definities is.
  • SOAP-optie 3 (with empty elements).
  • Datum-/tijdvelden kan andere afronding geven.
  • Base64-output kan iets andere opmaak hebben.
  • Sortering van tabellen kan anders zijn indien er geen sortering mee wordt gegeven.

Valutavelden

De output van de valutavelden is conform de meta beschrijving. Een voorbeeld van deze aangepaste output is bijvoorbeeld boekwaarde van Vaste Activa:

App_Cnr GetConnector wijzigingen Profit 15

Boekwaarde is als volgt in de metadata beschreven:

{

"id": "Boekwaarde",

"fieldId": "U005",

"dataType": "decimal",

"label": "Boekwaarde",

"length": 26,

"controlType": 1,

"decimals": 10,

"decimalsFieldId": ""

},

Hierdoor wordt het veld in Profit 15 met meerdere decimalen teruggegeven.

Numerieke velden

De output van numerieke velden is conform de meta-beschrijving. Een voorbeeld van deze output is het onderstaande btw-tarief:

{

"id": "Tarief",

"fieldId": "U009",

"dataType": "decimal",

"label": "Tarief",

"length": 5,

"controlType": 1,

"decimals": 2,

"decimalsFieldId": ""

},

Hierdoor wordt het veld in Profit 15 met meerdere decimalen teruggegeven.

Labels zonder punt via REST

Als in een oude Profit-versie een punt in een label gebruikt wordt zal de gebruiker een melding krijgen hier voorzichtig mee om te gaan omdat dit in REST niet toegestaan is.

Soap option Outputoptions=3 (with empty elements)

Met deze optie is het mogelijk om een lege tag wel in de XML te krijgen. In de oude situatie was het echter zo dat de tag geen waarde had. Nu wordt een empty tag teruggegeven. Bij deze empty tag hoort nu ook een name-space.

Datum-/tijdvelden

De optimalisatie geeft data direct terug uit de SQL database. Datum/Tijd velden bevatten in SQL de tijd met een onderverdeling in milliseconden. In Profit worden milliseconden niet gebruikt. Om het verschil nu te compenseren wordt er een afronding gemaakt door er 0.498 miliseconden bij op te tellen. Er zijn daardoor scenario’s te bedenken waardoor er een afwijking is van ~2 milliseconden.

Sla je datum-/tijdvelden op om deze bij een volgende aanroep als filter te gebruiken, dan is het mogelijk dat je dubbele regels ontvangt. Voorwaarde is dan dat je met de oude methode deze datum/tijd opgehaald en opgeslagen hebt (dus tijdens Profit 14), en gebruikt als filter bij de nieuwe methode (in Profit 15).

Afbeeldingen ophalen in Base64

Bij het ophalen van afbeeldingen op bijlagen is de output base64-string. De nieuwe methode zal qua inhoud niet verschillen van de oude, maar de opmaak in de base64 kan iets afwijken. Deze wordt nu op één regel getoond.

Sortering van tabellen

Bij gebruik van Skip and Take bevelen we altijd aan om ook een sortering te gebruiken. Indien deze ontbreekt zal SQL zelf een (optimale) sortering bepalen. Deze kunnen voor de oude en de nieuwe methode verschillen. Advies is om altijd een sortering mee te geven.

Direct naar

  1. GetConnector
  2. GetConnector bouwen en testen
  3. Performance optimaliseren
  4. Importeren en Exporteren GetConnector
  5. Gewijzigde gegevens opvragen met een GetConnector
  6. Omgaan met verwijderde gegevens
  7. GetConnector voor ophalen van waarden uit vrij bestand