XML-filter in GetConnector
Bij het aanroepen van een GetConnector kun je een filter (in XML-formaat) opgeven. Dit filter kan bij elke aanroep anders zijn, daarom noemen we dit een variabel filter.
Door het gebruik van een filter beperk je de hoeveelheid records. Als de hoeveelheid records desondanks te hoog is, gebruik je de optie 'GetDataWithOptions'.
Let op:
Om dit te testen moet je eerst een app connector toevoegen.
Koppel de te testen GetConnector aan de app connector.
Nadat je een gebruikersgroep aan de app connector gekoppeld hebt, maak je een token aan voor één van de gebruikers van deze gebruikersgroep. Deze token heb je nodig voor de aanroep van de GetConnector.
Inhoud |
Structuur van de filter-XML
De structuur van de filter-xml is als volgt:
Onderdelen van een filter:
- FilterId: volgnummer. Als je een filter maakt in Profit, is het FilterId van het eerste filter 'Filter 1'. De volgende filters worden doorgenummerd.
- FieldId: de veldnaam in de GetConnector.
- Operatortype: het type filter, volgens de onderstaande lijst.
Operator
Werking
Voorbeeld met de waarde 'NL' (alleen de filterregel wordt vermeld)
1
is gelijk aan
<Field FieldId="CoId" OperatorType="1">NL</Field>
2
is groter of gelijk aan
<Field FieldId="CoId" OperatorType="2">NL</Field>
3
is kleiner of gelijk aan
<Field FieldId="CoId" OperatorType="3">NL</Field>
4
is groter dan
<Field FieldId="CoId" OperatorType="4">NL</Field>
5
is kleiner dan
<Field FieldId="CoId" OperatorType="5">NL</Field>
6
tekst komt voor in veld
<Field FieldId="CoId" OperatorType="6">%NL%</Field>
7
Mogelijkheid 1:
Is niet gelijk aan
Precieze vergelijking van twee waarden:
<Field FieldId="CoId" OperatorType="7">NL</Field>
7
Mogelijkheid 2:
Tekst komt niet voor in veld
Kijken of een waarde in een veld voorkomt:
<Field FieldId="CoId" OperatorType="7">%NL%</Field>
8
veld is leeg
Bij dit filter geef je alleen de operator op.
<Field FieldId="CoId" OperatorType="8" />
9
veld is niet leeg
Bij dit filter geef je alleen de operator op.
<Field FieldId="CoId" OperatorType="9" />
10
veld begint met tekst
<Field FieldId="CoId" OperatorType="10">NL%</Field>
11
tekst komt niet voor in veld
<Field FieldId="CoId" OperatorType="11">%NL%</Field>
12
veld begint niet met tekst
<Field FieldId="CoId" OperatorType="12">NL%</Field>
13
veld eindigt met tekst
<Field FieldId="CoId" OperatorType="13">%NL</Field>
14
veld eindigt niet met tekst
<Field FieldId="CoId" OperatorType="14">%NL</Field>
- Bij OperatorType 6, 10, 11 en 12 moet gebruik worden gemaakt van wildcards, bijvoorbeeld "A%"(begint [niet] met A) of "%A%" (bevat [niet] A).
Let op:
Richt het filter zo efficiënt mogelijk in. Maak gebruik van operator type 1 = Gelijk aan. Filter waar mogelijk op sleutelvelden.
Je mag geen tags gebruiken, zoals [vandaag]. Deze tags gelden namelijk niet in XML.
Voorbeelden
Aandachtspunten
- In de filter-XML gebruik je 'true' en 'false' (kleine letters) in plaats van 'Ja' en 'Nee'.
- In de filter-XML gebruik je voor een datum/tijd de notatie jjjj-mm-ddTuu:mm:ss.
Voorbeeld:
Een filter op het tijdstip 13:30 op 18 december 2026 leg je dus vast als:
2026-12-18T13:30:00
Je kunt meerdere filters opgeven, hierbij geldt het volgende:
- EN-filter
Bij een EN-filter moet aan alle voorwaarden voldaan worden. Je plaatst alle filterregels in één filter.
Voorbeeld:
Filter op Administratie = 1 EN rekening = 8010.
<Filters>
<Filter FilterId="Filter 1">
<Field FieldId="AccountNo" OperatorType="1">8010</Field>
<Field FieldId="UnitId" OperatorType="1">1</Field>
</Filter>
</Filters>
- OF-filter
Bij een OF-filter moet aan minimaal één voorwaarde voldaan worden. Je plaatst de filterregels in verschillende filters.
Voorbeeld:
Filter op Rekening = 8010 of 8020.
<Filters>
<Filter FilterId="Filter 1">
<Field FieldId="AccountNo" OperatorType="1">8010</Field>
</Filter>
<Filter FilterId="Filter 2">
<Field FieldId="AccountNo" OperatorType="1">8020</Field>
</Filter>
</Filters>
Voorbeeld: Veld is aangevinkt of niet
Het veld Blocked is uitgeschakeld:
<Filters>
<Filter FilterId="Filter1">
<Field FieldId="Blocked" OperatorType="1">false</Field>
</Filter>
</Filters>
Voorbeeld: Gelijk aan
Het veld Land gelijk is aan 'NL':
<Filters>
<Filter FilterId="Filter1">
<Field FieldId="Land" OperatorType="1">NL</Field>
</Filter>
</Filters>
Voorbeeld: OF-filter
Het veld Name is niet gevuld OF bevat de tekst 'unknown':
<Filters>
<Filter FilterId="Filter1">
<Field FieldId="Name" OperatorType="8" />
</Filter>
<Filter FilterId="Filter2">
<Field FieldId="Name" OperatorType="6">%unknown%</Field>
</Filter>
</Filters>
Voorbeeld: Snelfiltercriteria
Filter op basis van de snelfiltertag @ (Veld begint met).
<Filters>
<Filter FilterId="Filter 1">
<Field FieldId="CoId" OperatorType="15">@nl</Field>
</Filter>
</Filters>
XML-filter toevoegen via AFAS Connect
Je kunt een XML-filter maken en testen in AFAS Connect.
- Start https://connect.afas.nl en log in.
- Selecteer de GetConnector.
- Klik op Create filter.
- Vul de filterwaarden in. Dit werkt net zoals in Profit, maar je mag geen tags zoals [vandaag] gebruiken.
Klik op Show XML om het filter te zien of XML om de SOAP-aanroep met het filter te zien.
Direct naar |