Accueil Blog (en) Rendre les flux de travail d’approbation activés facultatifs dans Acumatica

Rendre les flux de travail d’approbation activés facultatifs dans Acumatica

Brian Stevens | Le 16 novembre 2021

Rendre les flux de travail d’approbation activés facultatifs dans Acumatica

Introduction

Il y a des années, un processus d’approbation consistait pour les travailleurs à passer un formulaire papier autour de l’usine pour toute approbation nécessaire pour compléter les processus opérationnels.  En règle générale, ceux-ci seraient envoyés dans des enveloppes de courrier intersociétés, mais les cas urgents seraient effectués en main à la main tout au long du processus.  Dans un cas, un client appellerait tous les intervenants d’un processus ensemble pour une réunion hebdomadaire afin d’examiner de nombreuses demandes et d’approuver ou de rejeter chaque demande en tant que commission d’examen.  Comme vous pouvez l’imaginer, ces processus d’approbation sur papier et ces réunions hebdomadaires ont été exceptionnels pour ralentir la prise de décision et l’approvisionnement en matériel.

Avance rapide de quelques années (ou décennies) à Acumatica ERP.  Avec un moteur d’approbation robuste, le papier a été remplacé par des approbations électroniques simplifiées complètes avec des notifications, l’approbation via un navigateur ou une application mobile, et une prise de décision qui fonctionne à la vitesse de l’entreprise.  Le moteur d’approbation peut être exploité dans des écrans personnalisés, et diverses conditions peuvent être définies pour automatiser certaines approbations et rejets en fonction des exigences de l’entreprise.

Bien que l’approbation électronique soit loin d’être nouvelle à l’ère actuelle de l’informatique numérique, les processus d’affaires ne sont pas toujours coupés et secs en ce qui concerne les approbations.  Certains processus opérationnels peuvent nécessiter un examen périodique, et seules les recommandations de changement doivent être envoyées pour approbation.  Le défi consiste à faire la distinction entre un document « examiné » et un document « approuvé » ou « rejeté ».

Analyse de rentabilisation

SETECH Supply Chain Solutions gère les matériaux indirects pour leurs clients.  Au cœur de leurs services se trouve plan pour chaque partie. Ce processus opérationnel de base exige que chaque article soit examiné périodiquement pour s’assurer que la disponibilité des matériaux correspond aux besoins de leurs clients.  L’exigence opérationnelle stipule qu’un plan qui a été examiné devrait donner lieu à un statut d’examen, mais que les plans soumis à l’approbation devraient suivre le processus d’approbation normal qui consiste à obtenir le statut d’approbation ou de rejet .  Étant donné que le processus d’approbation standard, lorsqu’il est activé, se traduit par approuvé ou rejeté, une personnalisation était nécessaire pour prendre en charge le contournement conditionnel du processus d’approbation et la définition du statut à un troisième état appelé Révisé.  Le processus d’approbation standard demande une carte d’approbation et crée automatiquement un enregistrement dans l’onglet Détails de l’approbation , de sorte que même un plan marqué Révisé aurait un enregistrement d’approbation orphelin qui était trompeur.  Il est également important de noter que la version utilisée est Acumatica ERP 2021 R1.

Alors que le nouveau moteur de flux de travail change facilement le statut en Révisé, empêcher l’enregistrement d’approbation orphelin nécessite un codage créatif.

Solution

Tout d’abord, les champs DAC doivent être définis pour soutenir le processus d’approbation.  Notez les champs standard de maintien, approuvés et rejetés .  J’ai maintenant remarqué l’ajout d’un champ supplémentaire appelé RequestApproval qui sera défini en fonction de la valeur de l’enregistrement d’installation (à partir d’un écran de préférences ) permettant ou désactivant les approbations.  Ce champ sera utilisé par le workflow sur l’écran personnalisé pour déterminer par programme si les conditions de l’enregistrement nécessitent une approbation.

 Champs DAC

GIST : https://gist.github.com/BrianMRO/4063f8214a301c36b1f3516dd96f0e63

Ensuite, les vues doivent être définies.  La vue principale de MyDAC s’appelle Document et la vue Approbation du programme d’installation pour MySetupApproval est appelée SetupApproval.  Il s’agit de la table qui contient les cartes d’approbation définies dans la configuration d’approbation de l’écran.  Étant donné que cette table contient les cartes d’approbation à utiliser par le moteur d’approbation, un constructeur est utilisé pour retourner null si le plan (MyDAC) ne nécessite pas d’approbation selon le champ RequestApproval .  Ce constructeur est la « magie » qui empêche un enregistrement orphelin de remplir l’onglet Détails de l’approbation .

Configurer les vues

GIST: https://gist.github.com/BrianMRO/d1cc58b6deff39ff48d4c08b8f645b90

Ensuite, le système d’approbation doit être ajouté.  Le moteur d’approbation est spécifié par l’inclusion de EPApprovalAutomation, référençant les champs de maintien, approuvé et rejeté de MyDAC ainsi que la table d’approbation du programme d’installation MySetupApproval.  Pour plus de commodité, le code CacheAttached pour EPApproval a été inclus pour rappeler que ces champs doivent être spécifiés pour amener les valeurs de MyDAC à l’écran d’approbation standard.

Ajouter des configurations d’approbation standard

GIST : https://gist.github.com/BrianMRO/0d1a2baa173dad741300246cb519cae6

Enfin, l’option d’approbation nécessite la définition de MyDAC.RequestApproval en fonction de la logique métier lors de l’exécution de l’action RemoveHold .  (RemoveHold est défini dans les nouveaux flux de travail de l’interface utilisateur pour remplacer la case à cocher décocher dans les anciennes versions d’Acumatica.)  Dans cette analyse de rentabilisation, la modification de certaines valeurs nécessite une approbation, mais d’autres valeurs peuvent être mises à jour dans le cadre d’un simple examen.

Rendre l’approbation facultative

GIST : https://gist.github.com/BrianMRO/1fb4359ee10b740c3d25d0b05e55f288

Notez l’étape très importante de l’actualisation de la vue SetupApproval .  Cette actualisation entraîne l’exécution ou le vidange de la liste des cartes d’approbation.  C’est l’absence d’une carte d’approbation à sélectionner qui empêche l’enregistrement orphelin dans l’onglet Détails de l’approbation.

Pour terminer l’installation, le flux de travail a été modifié dans l’interface utilisateur du projet de personnalisation pour passer de l’attente en fonction du paramètre du champ RequestApproval .  Ce qui suit décrit les états et les transitions utilisés pour contrôler le flux de l’enregistrement de planification.  Lors de la suppression de la mise en attente, un plan marqué RequestApproval = false passera à Examiné tandis qu’un plan avec RequestApproval = true passera à l’approbation en attente.

Résumé

De la hausse des coûts de main-d’œuvre à une inflation supérieure à la moyenne sur pratiquement tous les achats, le coût des affaires semble monter en flèche au-delà du point de rupture pour de nombreuses entreprises.  Bien que la finance ait toujours mis l’accent sur le contrôle des coûts, la gestion des coûts à travers chaque processus d’affaires n’a jamais été aussi critique.  Heureusement, Acumatica fournit un flux de travail d’approbation robuste capable d’injecter des exigences d’approbation soucieuses des coûts adaptées à chaque entreprise, allant de chaque achat à ceux qui atteignent un seuil spécifié.  Avec un peu de personnalisation créative, ce cadre robuste peut également être appliqué à d’autres processus métier.  Dans cet article, j’ai montré comment vous pouvez utiliser une personnalisation simple pour gérer un processus métier de base autour de la disponibilité des stocks qui tire parti d’une approbation complète du flux de travail incluse par le client pour les modifications ou d’un chemin facultatif d’examen interne lorsqu’aucune modification n’est recommandée.

J’espère que vous avez trouvé cela utile - Happy Coding!

 

Auteur du blog

Brian est le développeur principal de SETECH Supply Chain Solutions, LLC. SETECH fournit des solutions sur mesure basées sur les meilleures pratiques pour améliorer la disponibilité des matériaux indirects tout en réduisant le coût total de possession pour leurs clients.

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