Anveo Web Portal / Installation / Logique d’entreprise dans les tableaux
C'est une traduction automatique. Le message original est disponible en Anglais.

Logique d’entreprise dans les tableaux

En raison de la structure technique de la publication des tableaux via Anveo Pages, il est nécessaire que toute la logique métier se trouve dans les tableaux et les codeunits – et non dans les formulaires/pages. Du point de vue conceptuel, c’est plus propre dès le début parce qu’une table doit se vérifier elle-même pour les consistances structurelles, parce que les codeunits sont prévues pour travailler avec les processus métier, et parce que les formulaires/pages représentent simplement des entrées/sorties impliquant l’utilisateur d’application.

Par conséquent, lors de la publication d’un tableau, il faut vérifier si les calculs ou les tests se trouvent dans la contrepartie – le formulaire/page dans Dynamics Client – qui doivent être déplacés dans le tableau.

xRec et CurrFieldNon

xRec est utilisé dans de nombreuses fonctions de table au sein de la Dynamics et représente l’enregistrement avant une modification. xRec peut être utilisé dans un déclencheur OnValidate pour tester si un champ a réellement changé, par exemple dans le déclencheur OnValidate pour la table Client.

IF "No." <> xRec."No." THEN BEGIN
SalesSetup.GET;
NoSeriesMgt.TestManual(SalesSetup."Customer Nos.");
"No. Series" := '';
END;
IF "Invoice Disc. Code" = '' THEN
"Invoice Disc. Code" := "No.";
Code source de OnValidate Déclencheur du champ No. dans la table Client

Toutefois, xRec n’est disponible que lorsqu’une saisie a lieu via un formulaire/page. Le xRec manquant dans le cas des fonctions dans les tables et les codeunits est une contrainte posée par la Dynamics qui n’est pas évidente lors de l’utilisation de Dynamics Client car les données y sont modifiées uniquement via les formulaires et les pages, et ces pages offrent xRec automatiquement. Sans le xRec, le code affiché ci-dessus ne fonctionnera pas correctement.

Anveo Client Suite fournit la fonction GetxRec dans la ACF Managementcodeunit sorte qu’Anveo Client Suite règle aussi correctement les xRec et CurrFieldNo. Dans l’application centrale Anveo Client Framework, il existe un modèle pour la fonction GetxRec et un exemple de code pour une activation correcte. Procédez comme indiqué ci-dessous pour que les champs xRec et CurrFieldNo soient disponibles pour vos tables :

  • Créez dans votre table la fonction GetxRec avec les paramètres suivants :
  • Ajoutez à la fonction GetxRec le code suivant :
ACFxRec.GETTABLE(xRec);
ACFManagement.GetxRec(ACFxRec,CurrFieldNo);
IF ACFxRec.NUMBER <> 0 THEN
   ACFxRec.SETTABLE(xRec);
  • Ajoutez le code suivant au début de tous les déclencheurs de table qui utilisent le xRec ou CurrFieldNo :
//+Anveo Client Suite Integration
GetxRec(xRec,CurrFieldNo);
//-Anveo Client Suite Integration

L’exécution du code est compatible avec les clients Classic, Role Tailored Client et Windows de Microsoft Dynamics NAV. Comme le code s’applique à tous les clients, il n’est pas nécessaire de faire une distinction distincte entre les cas. L’appel de cette fonction peut être effectué par chaque table du système aussi souvent, seul le premier appel utilisant Anveo Client Suite renvoie en conséquence xRec et CurrFieldNo.