Une facture étant accompagnée d'une ou plusieurs lignes de facture, l'utilisation d'un Processus ou d'un Workflow ne suffit pas pour en automatiser la création. Vous devez utiliser un flux qui seul sera capable d'aller chercher les données sur les enregistrements enfants de l'objet à facturer, par exemple Produits commandés pour la Commande.
Ici nous vous donnerons un exemple de flux à reproduire pour venir facturer une Commande. Vous devez l'adapter à votre besoin et à votre environnement.
Remarque : Il est également possible d'effectuer un développement APEX spécifique pour facturer un objet.
Regardons tout d'abord l'architecture de ce flux :
Nous récupérons d'abord des données sur la Commande et les Produits commandés, puis nous générons la Facture et ses Lignes de facture.
Ecran de démarrage (facultatif si vous réalisez un flux déclenché automatiquement) : on demande à l'utilisateur s'il souhaite facturer cet enregistrement.
Obtenir des enregistrements : on récupère l'ensemble des Produits commandés sur la Commande.
Obtenir des enregistrements : on récupère des données sur la Commande.
Créer des enregistrements : on génère une Facture à partir des données récupérées sur la Commande.
Boucle : on boucle un à un sur l'ensemble des Produits commandés, récupérés dans l'étape 2.
Attribution : à chaque Produit commandé, on associe une Ligne de facture.
Attribution : on additionne les Lignes de Facture dans une variable Collection d'enregistrement.
Créer des enregistrements : on crée l'ensemble des Lignes de facture à partir des données des Produits commandés sur la Facture créée en 4.
Ecran de fin : on affiche à l'utilisateur la réussite de sa démarche et on lui présente un lien vers l'enregistrement de Facture.
Voici la liste des variables utilisées :
Variables :
VarT_Invoice_ID
Type : texte
Disponibilité : en sortie
VarT_Order_ID
Type : texte
Disponibilité : en entrée
Variables d'enregistrement (uniques) :
VarR_Order
Objet : Commande
Disponibilité : aucune
VarR_Invoice_Line_Item
Objet : Ligne de facture
Disponibilité : aucune
VarR_Order_Item
Objet : Produit commandé
Disponibilité : aucune
Variables de collection d'enregistrements :
VarRC_Invoice_Line_Item
Objet : Ligne de facture
Disponibilité : aucune
VarRC_Order_Item
Objet : Produit commandé
Disponibilité : aucune
Voici les différents composants en image :
1. Ecran de démarrage
2. Récupération des informations des Produits commandés
3. Récupération des informations de la Commande
4. Création de la facture
5. Boucle
6. Attribution des valeurs d'un Produit commandé dans une Ligne de facture
7. Compilation des Lignes de facture en une variable de collection Ligne de facture
8. Génération des Lignes de facture
9. Ecran de succès
Attention : la mise en place de ce flux est donnée à titre indicatif, pour vous assister dans une configuration hors standard Frisbii. Ainsi, son dysfonctionnement éventuel n'est pas couvert par Frisbii et vous ne serez pas accompagnés dans sa mise en place ou sa correction en dehors d'un contrat de support payant.