Anveo Web Portal / De gebruikersinterface aanpassen / Flexibele relaties tussen Anveo Pages
Dit is een automatische vertaling. De originele post is beschikbaar in Engels.

Flexibele relaties tussen Anveo Pages

Normaal gesproken identificeert Anveo Client Suite de relatie tussen twee Anveo Pages aan de hand van de tabelrelaties die eenmaal globaal voor alle Anveo Pages zijn opgezet. Deze opstelling wordt gedaan in ”Anveo. Bijvoorbeeld, de relatie tussen de ”Customer” en de ”Sales hoeven dus niet voor elke Anveo Page handmatig ingesteld te worden zoals in Dynamics.

Voor meer speciale scenario’s waarbij de relatie tussen twee tabellen niet via de directe relatie van veld naar veld wordt gecreëerd, kan een C/AL-code in de codeunit worden gedeponeerd. ”ACF functie CustomAnveoPageRelation die de relatie handmatig instelt. Dit maakt het bijvoorbeeld mogelijk om het bijbehorende contact voor een klant uit te voeren.

De hierboven beschreven relatie is gedefinieerd in C/AL-code in het volgende codevoorbeeld:

// Show related company contact from customer
// Data Source: Customer
// Destination: Contact

// 1. Set table reference
RecRef.SETTABLE(Customer);
Mgt.OPENRecRef(DATABASE::Contact,DestRecRef);

// 2. Filter
ContBusRel.RESET;
ContBusRel.SETCURRENTKEY("Link to Table","No.");
ContBusRel.SETRANGE("Link to Table",ContBusRel."Link to Table"::Customer);
ContBusRel.SETRANGE("No.",Customer."No.");
IF ContBusRel.FINDFIRST THEN
Contact.GET(ContBusRel."Contact No.");
Contact.SETRECFILTER;
// 3. Copy Filters to DestRecRef
DestRecRef.SETVIEW(Contact.GETVIEW);
Broncode van de aangepaste tabelrelatie tussen de klant en zijn contactpersoon

U kunt de bovenstaande broncode opzoeken in de ACF Events Sales & Marketing, functie CTR_CUSTOMER:CONTACT.

Het maken van een aangepaste tabelrelatie gebeurt volgens hetzelfde schema:

  • Zet de recordreferentie om in een record; maak een lokale variabele aan en wijs deze toe (regel 6).
  • Maak de bestemmingstabel aan als een lokale variabele. De bestemmingstabel heeft het type van de Anveo Page (in de voorbeeld tabel Contact).
  • Breng het filter over naar de recordreferentie (regel 17)

Om de aangepaste tabelrelatie in het Anveo Web Portal te gebruiken is een aanroep nodig om de CustomAnveoPageRelation functie te gebruiken, met behulp van de relatiecode CTR_CUSTOMER:CONTACT:

CASE RelationCode OF
'CUSTOMER:CONTACT': "CTR_CUSTOMER:CONTACT"();
END;

De relatiecode CUSTOMER:CONTACT moet in de Anveo Client Suite openbaar worden gemaakt en als individuele tabelrelatie op de Anveo Page worden ingevoerd, zodat de Anveo Client Suite de handmatig gedefinieerde tabelrelatie gebruikt in plaats van globaal gedefinieerde automatische tabelrelaties. De record die wordt gebruikt voor het filteren op Anveo Pages van de typekaart wordt gedefinieerd door de record die op de kaart wordt weergegeven; in Anveo Pages van de typelijst wordt de record voor filteren gedefinieerd door de geselecteerde record.