Skip to main content

Entrée Sortie

Les paramètres Entrée/Sortie vous permettent de traiter et de transformer les données avant et après l'exécution des tâches dans vos flux de travail de processus. Cette puissante fonctionnalité supporte trois types d'opérations : Scripts, Expressions et Actions.

Les paramètres Entrée/Sortie sont disponibles pour :

Types de Paramètres

TypeDescriptionCas d'Utilisation
ScriptCode JavaScript exécuté côté serveurLogique complexe, calculs, appels API
ExpressionValeur de ChaîneVariable avec une valeur de chaîne statique
ActionGénérateur de fonction visuelOpérations UI, requêtes de base de données, gestion de fichiers
Interface d'Aperçu des Paramètres Entrée/Sortie

L'interface des paramètres Entrée/Sortie fournit un emplacement centralisé pour gérer les transformations de données avant et après l'exécution des tâches, avec support pour les scripts, les expressions et les générateurs d'actions visuels.

Paramètres d'Entrée

Les paramètres d'entrée sont exécutés avant que la tâche ne s'exécute, vous permettant de :

  • Transformer les données externes pour la consommation de tâche
  • Configurer les variables spécifiques aux tâches
  • Préparer les données des tâches précédentes
  • Initialiser les valeurs par défaut

Paramètres de Sortie

Les paramètres de sortie sont exécutés après l'achèvement de la tâche, vous permettant de :

  • Traiter les résultats des tâches
  • Transformer les données pour les étapes suivantes
  • Mettre à jour les variables de processus
  • Enregistrer les résultats dans les bases de données

Paramètres de Script

Les scripts utilisent JavaScript et s'exécutent dans un environnement sécurisé côté serveur avec accès au SDK Softyflow.

Interface de l'Éditeur de Paramètre de Script

L'éditeur de paramètre de script offre un environnement complet de développement JavaScript avec mise en surbrillance de la syntaxe, accès aux variables et intégration du SDK pour implémenter une logique métier complexe et les transformations de données.

Variables Disponibles dans les Scripts :

  • Variables de Processus : Toutes les variables de processus actuelles
  • SF_initiator : Informations sur l'initiateur du processus
  • SF_latestValidator : Validateur de tâche le plus récent
  • volt : Variables de configuration globales
  • SF : Instance du SDK Softyflow

Fonctions du SDK Disponibles :

// Opérations de base de données
SF.collection.find("users", { status: "active" });
SF.collection.insertOne("orders", orderData);

// Opérations de fichiers
SF.file.upload(fileData);
SF.file.download(fileId);

// Opérations utilisateur
SF.user.getUserById(userId);
SF.user.updateUserMetadata(userId, "preference", value);

// Opérations de processus
SF.instance.launchProcess(processId, variables);
SF.instance.validateTask(taskId, data);

Paramètres d'Expression

Les expressions sont des expressions de texte simples.

Interface de l'Éditeur de Paramètre d'Expression

L'interface des paramètres d'expression permet des assignations de valeurs de chaîne simples sans scripts complexes, idéale pour les valeurs statiques, le mappage de variables de base et les assignations de texte simples.

Paramètres d'Action

Les Actions fournissent une interface visuelle pour construire des fonctions complexes sans écrire de code.

Interface du Générateur Visuel de Paramètre d'Action

Le générateur d'actions fournit une interface visuelle sans code pour créer des flux de travail complexes en connectant des opérations pré-construites comme les requêtes de base de données, les appels API et la gestion des fichiers sans programmation JavaScript.

Catégories d'Actions Disponibles :

Actions de Base de Données

  • Trouver une Collection : Interroger les collections de base de données
  • Insérer dans une Collection : Ajouter de nouveaux documents
  • Mettre à Jour une Collection : Modifier les documents existants
  • Supprimer un Document : Supprimer les documents
  • Agréger une Collection : Requêtes de base de données complexes
  • Opérations SQL : Opérations SQL directes sur la base de données

Actions de Processus

  • Lancer un Processus : Démarrer de nouvelles instances de processus
  • Valider une Tâche : Compléter les tâches en attente
  • Obtenir une Tâche en Attente : Récupérer les informations de tâche
  • Mettre à Jour les Variables d'Instance : Modifier les données de processus
  • Obtenir les Mesures : Récupérer les métriques de processus

Actions de Gestion d'Utilisateur

  • Trouver des Utilisateurs : Rechercher dans la base de données des utilisateurs
  • Trouver un Utilisateur par ID : Obtenir un utilisateur spécifique
  • Mettre à Jour les Métadonnées d'Utilisateur : Modifier les préférences d'utilisateur
  • Obtenir les Métadonnées d'Utilisateur : Récupérer les données d'utilisateur

Actions Utilitaires

  • Obtenir la Valeur Suivante : Générer des numéros séquentiels
  • Appeler une API : Intégration API externe
  • Générer un PDF : Créer des documents PDF
  • Envoyer un Email : Notifications par email

Interface de Configuration

Ce panneau de configuration complet offre une gestion des paramètres par glisser-déposer, des capacités de test en temps réel et des outils de validation pour s'assurer que vos transformations de données fonctionnent correctement avant le déploiement.

Panneau de Configuration Entrée/Sortie

Ajouter des Paramètres

  1. Ouvrir la Configuration de Tâche : Sélectionnez n'importe quelle tâche dans le modeleur de processus
  2. Accéder à la Section Entrée/Sortie : Faites défiler jusqu'à la section Entrée/Sortie
  3. Ajouter des Paramètres : Utilisez les boutons + pour ajouter de nouveaux paramètres :
    • Ajouter un Script : Pour le code JavaScript
    • Ajouter une Expression : Pour les expressions simples
    • Ajouter une Action : Pour la construction de fonction visuelle

Gestion des Paramètres

Commande Glisser & Déposer

Les paramètres s'exécutent dans l'ordre de haut en bas. Utilisez la poignée de glissement pour réorganiser :

📋 Paramètre 1 (s'exécute en premier)
📋 Paramètre 2 (s'exécute deuxième)
📋 Paramètre 3 (s'exécute dernier)

Bonnes Pratiques

Optimisation des Performances

  • Utilisez les expressions pour les opérations simples
  • Utilisez les scripts pour la logique complexe
  • Utilisez les actions pour les opérations de base de données
  • Minimisez les appels API externes dans les chemins critiques

Gestion des Erreurs

// Exemple de script robuste
try {
let result = complexCalculation(inputData);
return result;
} catch (error) {
console.error("Calculation failed:", error);
return defaultValue;
}

Nommage des Variables

  • Utilisez des noms descriptifs : customerEmail vs email
  • Suivez les conventions de nommage : camelCase
  • Évitez les préfixes système : Ne commencez pas par SF_

Fonctionnalités Avancées

Noms de Variables Dynamiques

// Définir les variables de manière dynamique
let variableName = "user_" + userId;
variables[variableName] = userData;

Exécution Conditionnelle

// Exécuter seulement si les conditions sont remplies
if (orderTotal > 1000) {
return applyDiscountLogic();
}
return orderTotal;

Traitement Multi-Instance

Pour les sous-processus avec des instances parallèles :

// Accéder aux variables de boucle dans le sous-processus
let currentItem = SF_loop_variables;
let itemIndex = SF_loop_index;

Variables Système

Toujours disponibles dans les scripts et les expressions :

  • SF_initiator : Informations de démarrage du processus
  • SF_latestValidator : Dernier validateur de tâche
  • SF_mode : Mode d'exécution actuel (test/prod)
  • SF_version : Version du processus
  • instanceId : ID d'instance de processus actuel
  • projectId : ID de projet actuel

Dépannage

Problèmes Courants

Variable Non Trouvée

Error: Cannot read property 'name' of undefined

Solution : Vérifiez les noms des variables et assurez-vous qu'elles existent dans le contexte du processus.

Erreurs de Syntaxe dans les Scripts

Error: Unexpected token

Solution : Validez la syntaxe JavaScript et utilisez l'interface de test.

Erreurs de Paramètre d'Action

Error: Missing required parameter

Solution : Assurez-vous que tous les paramètres d'action requis sont configurés correctement.

Erreurs d'Expiration

Error: Operation timed out

Solution : Optimisez les scripts et les actions, envisagez de diviser en opérations plus petites.

Conseils de Débogage

  1. Utilisez Console Logging : Ajoutez des déclarations console.log() dans les scripts
  2. Testez Progressivement : Commencez par des expressions simples et augmentez la complexité
  3. Vérifiez les Valeurs des Variables : Utilisez le chercheur de variables pour vérifier les données disponibles
  4. Validez les Types de Données : Assurez-vous que les variables contiennent les types de données attendus
  5. Utilisez Try-Catch : Encapsulez les opérations complexes dans la gestion des erreurs

Ce système complet d'entrée/sortie fournit des capacités puissantes de transformation de données tout en maintenant la simplicité pour les cas d'usage courants. Que vous ayez besoin d'un simple mappage de variables ou d'une logique métier complexe, la combinaison de scripts, d'expressions et d'actions couvre tous les besoins d'automatisation de processus.