Accueil Blog (en) Tirer parti du gestionnaire de notes contextuelles

Tirer parti du gestionnaire de notes contextuelles

Gabriel Michaud | 17 janvier 2020

Introduction

Note de la rédaction : Il y a une grande valeur dans les petites friandises ramassées le long de son voyage dans la vie. C’est particulièrement vrai dans de nombreuses disciplines, où les compétences sont aiguisés au fil du temps en pratiquant son métier. Ce n’est pas différent dans le domaine de l’ingénierie et du développement - des friandises petites mais utiles qui sont rarement documentées. Dans cet esprit, nous avons pensé qu’il offrirait de courts petits messages de notre communauté de développeurs MVP chez Acumatica qui, selon nous, seraient utiles aux développeurs Acumatica. Attendez-vous à un certain nombre de ces postes dans les mois à venir.

Il s’agit du deuxième de notre série Conseils et astuces pour les développeurs de Gabriel Michaud, un ancien employé d’Acumatica qui a géré nos laboratoires de Montréal et qui a maintenant sa propre entreprise, Velixo et l’un de nos MVP de développeur Acumatica.

Conseils et astuces pour les développeurs

Lorsque Acumatica 2018 R2 a été introduit, une nouvelle fonctionnalité a été ajoutée qui vous permet de définir des notes contextuelles sur des entités clés. Par exemple, un responsable des achats qui voit que le contrat d’un fournisseur doit être renouvelé peut mettre une note sur le dossier du fournisseur. La note apparaîtra lorsqu’un utilisateur est sur le point d’effectuer un achat auprès de ce fournisseur.

Note contextuelle - Acumatica.

Voici une courte démonstration enregistrée de la Note popup: https://recordit.co/GC6l7WAuAk

Saviez-vous qu’il est possible de tirer parti du système Popup Note dans vos propres personnalisations? Les notes contextuelles sont des notes statiques que vous configurez dans les données de base.  Un de nos clients nous a demandé de personnaliser leurs notes pour montrer dynamiquement. Dans ce scénario particulier, ils voulaient informer leurs commis à la saisie des commandes qu’une commande existante pour le même produit et le même client existe déjà dans le système et pour vérifier s’il y avait des commandes en attente du fabricant.

Comme il n’y a actuellement aucune documentation pour ce faire, j’ai dû utiliser mon décompilateur préféré, dnSpy pour examiner la mise en œuvre des notes contextuelles dans PX. Données.dll. À l’intérieur d’Acumatica, les notes contextuelles sont définies pendant l’événement FieldVerifying par le PXSelectorAttribute. Si une note contextuelle est définie pour l’entité configurée, le système appelle PopupNoteManager.RegisterText comme suit à l’aide de dnSpy :

 

Gestionnaire de notes contextuelles. Texte d’enregistrement.

 

Vous pouvez appeler la même fonction dans votre propre code pour afficher des messages contextaux. Aux fins de ma personnalisation spécifique, j’ai étendu le graphique de saisie de commande client et ajouté un gestionnaire d’événements pour le champ d’ID d’inventaire SOLine.

Vous trouverez ci-dessous une vue du code intégré de GibHub: https://gist.github.com/gmichaud/17e346cdf3062de233f52c9976d0a03e

Après avoir publié la personnalisation, le système recherche les commandes client existantes lorsque vous ajoutez des articles en stock à une commande. Si une commande est trouvée, notre message contextable client apparaît comme suit:

 

Gestionnaire de notes contextuelles. Texte d’enregistrement

 

Grâce à cette personnalisation, notre client est désormais en mesure d’éviter les commandes en double, ce qui se produisait fréquemment avec des articles en rupture de stock qui ont un délai de livraison plus long que d’habitude.

Veuillez noter qu’au moment d’écrire ces lignes, il n’est pas possible d’enregistrer plusieurs notes contextuelles au cours du même rappel. Si PopupManager.RegisterText est appelé plusieurs fois, la fenêtre contextuelle qui apparaît indiquera simplement qu’il y a plusieurs notes, mais ne vous montrera pas les notes individuelles.

J’espère que vous trouverez cela utile et que vous commencerez à ajouter vos propres popups personnalisés à vos solutions pour vos clients - Happy Coding!

Auteur du blog

Ancien directeur général, Acumatica Labs Montréal. J’adore voyager et parler du cloud, de l’ERP, du SaaS, du développement de logiciels et je suis passionné par ce que je fais.

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