Accueil Blog (en) Création de tables d’extension DAC Acumatica

Création de tables d’extension DAC Acumatica

Patrick Chen | 25 mars 2021

Table d’extension Dac

La plupart d’entre nous l’ont fait à un moment ou à un autre.  Le client a besoin d’un nouveau champ à l’écran, les consultants fournissent les informations et vous créez un UDF sur une table Acumatica standard.  Travail fait.  Mais, pour une raison quelconque, le champ devient inutilisé ou a peut-être été créé par erreur.  À moins que vous n’interveniez avec un script SQL pour supprimer la colonne, ce champ UDF inutilisé existera probablement dans SOOrder ou SOLine pour toujours à l’avenir.  Je trouve cela très frustrant et c’est une autre très bonne raison de toujours avoir une instance de test d’Acumatica !  Mais c’est le sujet d’un autre post. Dans cet article, je souhaite discuter des avantages de créer des champs personnalisés différemment en créant des tables d’extension DAC au lieu de créer des champs UDF individuels dans une table Acumatica standard.

Une table d’extension DAC est une table SQL distincte qu’Acumatica mappe automatiquement à une table standard (ex: SOOrder) via une jointure gauche ou une jointure interne selon la configuration.  La table d’extension DAC a les mêmes champs de clé que la table standard en plus du nombre de champs UDF que vous souhaitez créer.  Acumatica crée automatiquement une entrée dans votre table d’extension DAC chaque fois que vous en avez besoin ou pour chaque enregistrement de la table Acumatica jointe en fonction de la configuration. Dans mon esprit, c’est une bien meilleure façon d’ajouter des informations qui sont directement liées aux tables Acumatica standard.  Quelques éléments importants à noter lors de la création de votre propre table d’extension DAC :

  1. La table SQL doit avoir les mêmes colonnes de clé principale que les tables standard (celles-ci n’ont toutefois pas besoin d’être définies dans la DAC)
  2. La table SQL doit contenir les champs CompanyID et DeletedDatabaseRecord
  3. Vous devez avoir l’attribut PXTable attaché à votre DAC De la table d’extension DAC DAC. Le paramètre isOptional dicte si Acumatica mappe votre table avec une jointure externe interne ou gauche.
  4. Vous n’avez pas besoin d’utiliser le préfixe 'Usr' qui est requis lors de la création d’un UDF standard, vous devez plutôt utiliser un préfixe indiquant son auteur.
  5. Vous pouvez utiliser les types de colonnes d’audit standard pour ajouter des métadonnées à votre table (tstamp, CreatedByID, etc.). Toutefois, si la table standard contient ces champs d’audit, assurez-vous d’éviter les collisions de noms.

Voici un exemple de code pour vous:

GIST : https://gist.github.com/patrick711/8cde1aaf8da0069d75a59626edd6fdb9

Bonne chance et joyeux codage!

Auteur du blog

Patrick est le développeur principal de SPS Commerce EDI pour Acumatica. Il est un développeur Acumatica entièrement certifié et travaille avec le produit depuis 2013. Il a plus de 17 ans de développement de logiciels personnalisés dans l’industrie ERP.

Recevez des mises à jour de blog dans votre boîte de réception.