Accueil Blog (en) Introduction aux packages de personnalisation Acumatica

Introduction aux packages de personnalisation Acumatica

Gerhard van den Heever | Le 22 mai 2023

Introduction aux packages de personnalisation Acumatica

Introduction

Acumatica a la capacité de personnaliser presque n’importe quel écran pour fournir des informations supplémentaires ou une logique métier requise par un client ERP. Les personnalisations sont effectuées à l’aide de la plate-forme Acumatica xRP et s’intègrent de manière transparente à la plate-forme ERP, l’extension est robuste et agile, garantissant qu’elle permettrait à l’application d’être toujours évolutive et lorsque le package est supprimé, ramène l’application à son état d’origine.

Dans ce blog, nous allons créer un package de personnalisation qui permettrait aux utilisateurs professionnels de spécifier et de spécifier le type de commande po interne, qui peut être utilisé pour les flux de travail, les cartes d’affectation et les rapports. En outre, le package inclut un changement de nom de colonne de sélecteur.

Création d’un package de personnalisation

Pour créer des personnalisations, accédez à Personnalisations et ouvrez Projets de personnalisation (SM204505). À l’écran, créez une nouvelle personnalisation et ouvrez le lien.

Introduction aux packages de personnalisation Acumatica

REMARQUES :

  1. L’utilisateur doit avoir le rôle de Personnalisateur
  2. Convention d’appellation du projet pour qu’elle soit pertinente pour la fonction
  3. Fournir une séquence de numéros de version pour gérer les réitérations de personnalisation (sur la description)
    1. Construction minimale d’Acumatica
    2. Réitération de la version
  4. Le niveau du projet est important pour deux raisons :
    1. Plus la personnalisation est importante, plus le nombre est élevé
    2. Il garantit que les personnalisations ne fusionnent pas et ne provoquent pas de conflits

Une fois le package de personnalisation créé, commencez par des écrans et ajoutez tous les écrans requis pour la personnalisation. Ci-dessous, nous ajoutons un écran de bon de commande (PO301000):

Introduction aux packages de personnalisation Acumatica

À l’écran, créez un champ défini par l’utilisateur pour le type de commande interne.

Introduction aux packages de personnalisation Acumatica

L’ajout de champs personnalisés, en fonction du type de stockage (DBTableColumn), peut créer une colonne dans la base de données. En suivant ce processus, deux éléments supplémentaires sur le projet sont créés :

  1. Accès aux données – Champ DAC et ses attributs
  2. Scripts de base de données – le script généré par Acumatica pour créer la colonne (type de stockage DBTableColumn)

REMARQUES :

  1. Les champs définis par l’utilisateur doivent être spécifiés avec le préfixe « Usr ». Il s’agit de s’assurer que la colonne n’est pas supprimée pendant les mises à niveau
  2. Lors de l’ajout de nouveaux champs, le projet doit être publié avant que le champ puisse être utilisé
    1. Le champ est ajouté à l’écran avec 'CREATE CONTROLS'
  3. Lorsque vous ajoutez de nouveaux champs, assurez-vous que la vue correcte sélectionnée lors de la création du champ, c’est-à-dire si elle se trouve sur l’en-tête, assurez-vous que la section de résumé est sélectionnée lors de la création de nouveaux champs
  4. Passez en revue et ajustez les attributs de champ avant d’ajouter le champ au formulaire
    1. Si cet élément n’est pas terminé, le type d’élément d’origine sera utilisé. Il s’agit d’un problème lorsqu’un champ est créé pour une liste déroulante ou un sélecteur mais non défini. Sans cela, le champ serait ajouté en tant que champ de texte brut

Sur 'CREATE CONTROLS', le champ est ajouté à la vue. Une fois ajouté, le champ (basé sur le type de champ de sélecteur) a une liste d’attributs. Deux propriétés doivent être examinées

  1. CommitChanges – cette propriété déclencherait l’événement mis à jour sur le terrain
  2. ID – Identificateur du contrôle sur la page. Acumatica par défaut fournirait un Cst... ID de champ. Pro-tip  Modifiez l’ID pour qu’il soit unique au champ, car d’autres personnalisations sur le même site peuvent avoir la même valeur d’ID personnalisée attribuée et entraîneront un problème de conflit

Sur l’accès aux données, convertissez l’élément en extension en. L’article serait déplacé à la section du Code pour d’autres modifications.

Introduction aux packages de personnalisation Acumatica

À partir de la section du code, des activités supplémentaires peuvent être effectuées:

Introduction aux packages de personnalisation Acumatica

 

 

De ce qui précède ce qui suit:

  1. La section Code répertorie toutes les extensions du code
  2. La méthode de remplacement fournit une liste de méthodes / actions qui peuvent être remplacés, cela permet d’appeler une méthode d’origine et peut être modifiée
  3. Nouvelle action fournit le code pour créer de nouvelles actions « boutons » sur l’écran
  4. Déplacement du code vers une bibliothèque d’extension/code-behind (fichier dll)

 

Une fois l’extension DAC modifiée pour les attributs du champ DAC, le champ peut être ajouté à l’écran. (Plus d’informations sur le codage de l’extension se trouve dans la section suivante)

Le champ DAC est défini comme un sélecteur, qui répertorie les CD et les descriptions des attributs.

Introduction aux packages de personnalisation Acumatica

Le code

GIST : https://gist.github.com/Gerhard-ZA/102d5a2c5a182e8795bbb19733dee6ee

Extension du package au code-behind

Pour déplacer l’extension, cliquez sur bibliothèque d’extensions et créez/ouvrez la bibliothèque d’extensions.

En ouvrant Visual Studio, le fichier d’extension serait disponible sur l’explorateur de solutions.

Introduction aux packages de personnalisation Acumatica

  1. Le fichier d’extension de commande PO est disponible sur l’explorateur de solutions, ce fichier est utilisé lors de la connexion de la bibliothèque d’extension à Internet Information Service (IIS).
    1. REMARQUE – Si le fichier (extension) se trouve à la fois sur le package de personnalisation et sur Visual Studio, le fichier de package de personnalisation sera utilisé pour le traitement
  2. Le nom de classe de l’extension, ce nom doit être unique car il pourrait provoquer un problème de conflit si l’application a le même nom d’extension sur un autre package de personnalisation
  3. La méthode IsActive permet à la logique métier d’identifier si l’extension doit être utilisée ou non. Cette méthode peut être utilisée avec la logique métier ou la configuration pour activer uniquement à certaines conditions

Lors de la création d’une bibliothèque d’extensions, le fichier dll doit être inclus dans le projet de personnalisation afin que le package de personnalisation soit fonctionnel.

Introduction aux packages de personnalisation Acumatica

Introduction aux packages de personnalisation Acumatica

Le résultat final

Lien vers l’URL du package de personnalisation →

Résumé

En utilisant les méthodes fournies dans le post, vous éviterez les problèmes avec d’autres personnalisations publiées et garderez vos paquets propres et maintenables maintenant et à l’avenir. Recherchez d’autres meilleures pratiques de personnalisation pour continuer de moi-même et d’autres MVP développeurs.

Bonne chance et bonne codage!

Auteur du blog

Gerhard est directeur technique chez Astraia Technology (VAR) et FBA Software (ISV). Il est responsable de la création et de la livraison réussies du déploiement des solutions et des produits de l’organisation pour Acumatica. Il a plus de 10 ans d’expérience dans le développement de logiciels dans le domaine ERP et s’implique généralement en tant qu’architecte de système lors de projets. Étant né et élevé en Afrique, Gerhard aime sortir dans la nature et profite de chaque occasion pour faire un safari avec sa famille ou profiter des vignobles du Cap.

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