Utiliser le composant JavaScript dans un workflow pour des opérations avancées
Le composant JavaScript est l'outil le plus flexible de la plateforme. Il permet d'injecter une logique métier personnalisée là où les composants standards s'arrêtent, comme pour des calculs algorithmiques, des tris complexes ou des transformations de données structurées.
👉Lire Vision, une plateforme no-code ET low-code
1. Structure du composant
L'interface du composant est divisée en quatre sections principales :
- Entrées/Sorties (Succès/Erreur) : Les connecteurs situés en haut permettent de gérer le flux. Le point Succès (orange) transmet le résultat du script, tandis que le point Erreur (violet) gère les exceptions.
- Output (Sortie) : Définit le format de la donnée renvoyée.
- Type : Vous pouvez choisir un modèle spécifique (ex:
Production_order) ou un type générique (any). -
Multiple : À activer si votre script retourne un tableau d'objets plutôt qu'un objet unique.
-
Sources : C'est ici que vous importez les données du workflow vers le script. Chaque source devient une variable utilisable dans votre code (ex:
inputPO,allPendingPOs). - Avancé : L'éditeur de code avec coloration syntaxique.
2. L'assistant Vision AI
Le bouton Vision AI permet de générer automatiquement la logique du composant sans écrire de code manuellement.
Fonctionnement :
- Description : Vous indiquez la tâche à réaliser en langage naturel (ex: "Recalcule la date de démarrage d'un PO en fonction des priorités").
- Analyse : L'IA analyse les modèles de données de votre application.
- Clarification : L'assistant peut vous poser des questions pour affiner la logique (ex: "Quel champ définit la priorité ?", "Quelle durée utiliser ?").
- Génération : L'IA configure les sources, le type de sortie et rédige le code JavaScript complet.
3. Étude de cas : Recalcul de planning (Séquençage)
Dans l'exemple illustré, le composant est utilisé pour recalculer la file d'attente de production.
Le Workflow global :
- Départ : Le workflow reçoit un
Production_orderspécifique. - Recherche : Un composant récupère tous les autres ordres de production ayant le statut
"en_attente". - JavaScript : Ce composant fusionne ces informations pour déterminer la nouvelle place du PO dans la file.
- Résultat : Le PO mis à jour est envoyé vers la fin du workflow.
Logique du script (section Avancé) :
Le script suit une structure rigoureuse pour garantir la stabilité du système :
- Validation : Il vérifie d'abord que les données d'entrée sont cohérentes (ex: le PO est bien au statut "en attente").
- Tri multicritère : ```javascript
const sortedPOs = pendingPOs.sort((a, b) => {
// 1. Priorité aux urgences (champ booléen)
// 2. Tri par date d'échéance (due_date)
});
- Calcul de créneaux : Le script boucle sur la liste triée. Il additionne les durées de chaque produit (
duration * 60 * 60 * 1000pour convertir les heures en millisecondes) pour définir l'heure de début de chaque tâche de façon séquentielle. - Gestion d'erreur : L'ensemble du code est encapsulé dans un bloc
try { ... } catch (error) { ... }pour remonter proprement les erreurs dans les logs.
Le workflow est complété ensuite en no-code en ajoutant les composants Recherche, Début, Fin ...
Performance : Bien que puissant, le composant JavaScript consomme plus de ressources. Pour de simples filtres de données, privilégiez les composants Filtre ou Tri natifs si possible.




Rechercher