- Notes de publication
- Démarrage
- Paramétrage et configuration
- Projets d'automatisation
- Dépendances
- Types de workflows
- Flux de contrôle
- Comparaison de fichiers
- Meilleures pratiques d'automatisation
- Intégration du contrôle de code source
- À propos du contrôle de version
- Gestion de projets à l'aide de TFS
- Gestion de projets à l'aide de SVN
- Diff de workflow
- Débogage
- Journalisation
- L'outil de diagnostic (Diagnostic Tool)
- Analyseur de workflow
- À propos de l'analyseur de workflow
- ST-NMG-001 - Convention d'affectation de noms des variables
- ST-NMG-002 - Convention d'affectation de noms des arguments
- ST-NMG-004 - Duplication du nom complet
- ST-NMG-005 - La variable remplace une autre
- ST-NMG-006 - La variable remplace l'argument
- ST-NMG-008 - Longueur de variable dépassée
- ST-NMG-009 - Ajouter un préfixe aux variables DataTable
- ST-NMG-011 - Ajouter un préfixe aux arguments Datatable
- ST-NMG-012 - Valeurs par défaut de l'argument
- ST-NMG-016 : longueur d'argument dépassée
- ST-NMG-017 : le nom de la classe correspond à l’espace de noms par défaut
- ST-DBP-002 - Nombre élevé d'arguments
- ST-DBP-003 - Bloc d'interception vide
- ST-DBP-007 - Plusieurs couches de l'organigramme
- ST-DPB-010 : plusieurs instances de [workflow] ou [cas de test]
- ST-DBP-020 - Propriétés de sortie non définies
- ST-DBP-021 - Délai d'expiration codé en dur
- ST-DBP-023 : Workflow vide
- ST-DBP-024 - Vérification de l’activité de persistance
- ST-DBP-025 - Condition préalable à la sérialisation des variables
- ST-DBP-026 - Utilisation de l’activité Délai
- ST-DBP-027 - Pratiques exemplaires de persistance
- ST-DBP-028 - Condition préalable à la sérialisation des arguments
- ST-MRD-002 - Valeurs par défaut des noms d'activités
- ST-MRD-004 - Activités inaccessibles
- ST-MRD-005 - Séquences redondantes
- ST-MRD-007 - Clauses If imbriquées
- ST-MRD-008 - Séquence vide
- ST-MRD-009 - Activités profondément imbriquées
- ST-MRD-011 - Utilisation de la ligne d'écriture
- ST-MRD-017 - Incomplet si (Incomplete If)
- ST-USG-005 - Arguments d'activité codée en dur
- ST-USG-009 - Variables inutilisées
- ST-USG-010 - Dépendances inutilisées
- ST-USG-014 - Restrictions sur les paquets (Package Restriction)
- ST-USG-017 - Modificateur de paramètre non valide
- ST-USG-020 - Nombre minimum de messages consignés
- ST-USG-024 - Non utilisé, sauvegardé pour plus tard (Unused Saved for Later)
- ST-USG-025 - Utilisation abusive de la valeur enregistrée (Saved Value Misuse)
- ST-USG-026 - Restrictions d'activité (Activity Restrictions)
- ST-USG-027 - Packages requis
- ST-USG-028 - Restreindre l'invocation des modèles de fichier
- ST-USG-027 - Balises requises
- ST-USG-034 – URL Automation Hub
- Variables
- Arguments
- Noms d'espace importés
- Automatisations codées
- Introduction
- Enregistrement de services personnalisés
- Contextes Avant (Before) et Après (After)
- Génération du code
- Génération de cas de test codé à partir de cas de test manuels
- Appel du fichier du code source
- Utilisation d'une automatisation codée dans un workflow low-code
- Intégration d'un workflow low-code dans une automatisation codée
- Appel d'une automatisation codée dans une autre automatisation codée
- Intégration d'OpenAI avec des workflows codés
- Demander un prêt auprès de UiBank
- Génération de files d'attente avec workflows codés et API Orchestrator
- Utilisation de projets de bibliothèque importés dans des automatisations codées
- Utilisation de l’authentification à deux facteurs dans des automatisations codées
- Automatisation Attended basée sur déclencheur
- Réf. d’objets
- Outil ScreenScrapeJavaSupport
- Extensions
- À propos des extensions
- Outil SetupExtensions
- UiPathRemoteRuntime.exe n'est pas en cours d'exécution dans la session distante
- UiPath Remote Runtime bloque la fermeture de la session Citrix
- UiPath Remote Runtime provoque une fuite de mémoire
- Le package UiPath.UIAutomation.Activities ne correspond pas aux versions d’UiPath Remote Runtime
- L'extension UiPath requise n'est pas installée sur la machine distante
- Paramètres de résolution d’écran
- Stratégies de groupe
- Impossible de communiquer avec le navigateur
- L’extension Chrome est automatiquement supprimée
- L'extension a peut-être été corrompue
- Vérification de l'installation et de l'activation de l'extension pour Chrome
- Vérifiez si ChromeNativeMessaging.exe est en cours d’exécution
- Vérifier si la variable ComSpec est correctement définie
- Activez l’accès aux URL de fichiers et au mode navigation privée
- Profils de navigateur multiples
- Group Policy conflict
- Problèmes connus spécifiques aux extensions MV3
- Liste des extensions pour Chrome
- Extension Chrome sur Mac
- Stratégies de groupe
- Impossible de communiquer avec le navigateur
- L’extension Edge est automatiquement supprimée
- L'extension a peut-être été corrompue
- Vérification si l'extension pour Microsoft Edge est installée et activée
- Vérifiez si ChromeNativeMessaging.exe est en cours d’exécution
- Vérifier si la variable ComSpec est correctement définie
- Activation de l'accès aux URL de fichiers et au mode navigation privée
- Profils de navigateur multiples
- Group Policy conflict
- Problèmes connus spécifiques aux extensions MV3
- Liste des extensions pour Edge
- Extension pour Safari
- Extension pour VMware Horizon
- Extension pour Amazon WorkSpaces
- Plug-in du gestionnaire de solution SAP
- Complément Excel
- Tests Studio
- Résolution des problèmes
- À propos de la résolution des problèmes
- Erreurs de compilation de l’assembly
- Prise en charge et limitations de Microsoft App-V
- Résolution des problèmes rencontrés avec Internet Explorer x64
- Problèmes rencontrés avec Microsoft Office
- Identification des éléments d'IU dans PDF avec options d'accessibilité
- Réparation de la prise en charge d'Active Accessibility
- La validation des projets volumineux hérités depuis Windows prend plus de temps que prévu

Guide de l'utilisateur de Studio
Intégration d'un workflow low-code dans une automatisation codée
Dans ce tutoriel, vous apprendrez à incorporer un workflow low-code dans une automatisation codée. Cet exemple est similaire au tutoriel Utilisation d'une automatisation codée dans un workflow low-code, mais dans l’autre sens. Le tutoriel montre comment appeler le workflow low-code ResetAssetValue.xaml dans l'automatisation codée CodedAutomationUsingWorkflow.cs.
Le workflow ResetAssetValue.xaml effectue les étapes suivantes :
-
Récupère la valeur actuelle d'une ressource spécifique à partir d'Orchestrator.
-
Compare la valeur de la ressource récupérée avec la valeur d'entrée fournie en tant qu'argument.
-
Si la valeur de la ressource précédente ne correspond pas à la valeur d'entrée, elle met à jour la valeur de la ressource dans Orchestrator.
-
Consigne les messages qui indiquent l'état de la valeur de la ressource, qu'elle ait été mise à jour ou soit restée inchangée.
-
Créez un workflow low-code. Pour cet exemple, nommez-le
ResetAssetValue.Remarque :Laissez la valeur de toutes les variables et arguments que vous créez vides. Ces variables et arguments seront remplis de données lorsque vous appellerez le workflow low-code dans une automatisation codée. Vous transmettrez les valeurs requises pour ces arguments lorsque vous appellerez le workflow.
-
Ajoutez une activité Obtenir la ressource (Get Asset) et enregistrez le nom de la ressource dans une variable nommée
assetName. -
Créez des arguments pour les valeurs suivantes :
assetValue: l'argument In/Out que vous utilisez pour récupérer et mettre à jour la valeur de la ressource.assetName: l'argument In que vous utilisez pour saisir le nom de la ressource.assetValueWasChanged: l'argument Out que vous utilisez pour imprimer dans la console si la valeur de la ressource est restée la même ou a été modifiée.
-
Créez une variable pour transmettre la valeur précédente de la ressource :
previousAssetValue. -
Ajoutez une activité Si pour vérifier si la valeur de la ressource précédente a changé. Définissez la condition sur
previousAssetValue.Equals(assetValue). -
Dans le corps Sinon (Else), ajoutez une activité Définir la ressource (Set Asset) pour mettre à jour la ressource dans Orchestrator avec la valeur
assetValue, qui est différente de la valeurpreviousAssetValue. -
Ajoutez une activité Attribuer (Assign) et mettez à jour la valeur de la ressource précédente avec la nouvelle.
-
assetValue = previousAssetValue 7. Ajoutez une autre activité Affecter (Assign) pour définir la variable qui vous permet de savoir si la valeur de la ressource est passée à Vrai.
assetValueWasChanged = True 2. Créez un nouveau workflow codé. Pour cet exemple, nommez-le CodedAutomationUsingWorkflow.
- Utilisez la méthode
RunWorkflowpour appeler le workflowResetAssetValue.xaml. - Fournissez les arguments nécessaires sous la forme
Dictionary<string, object>pour spécifierassetNameetassetValue.
Pour cet exemple, nous avons défini MyAssetcomme et assetName comme "hello world". assetValue3. Stockez le résultat de la méthode RunWorkflowdans une variable nommée result.
```
var result = RunWorkflow("BusinessProcess\\ResetAssetValue.xaml", new Dictionary<string, object>()
{
{"assetName", "MyAsset"},
{"assetValue", "hello world"}
});
```
```
var result = RunWorkflow("BusinessProcess\\ResetAssetValue.xaml", new Dictionary<string, object>()
{
{"assetName", "MyAsset"},
{"assetValue", "hello world"}
});
```
4. Vérifiez si la propriété assetValueWasChanged dans le dictionnaire est vraie ou fausse.
1. If it's true, log a message that indicates the asset `MyAsset` was reset and include the previous value it had.
2. If it is false, log a message specifying that no reset was required on the asset `MyAsset` because it had the expected value.
```
if ((bool)result["assetValueWasChanged"])
{
Log("Reset asset MyAsset, but it had a different value, previous value was " + result["assetValue"]);
}
else
{
Log("No reset was required on asset MyAsset, which had the expected value.");
}
```
1. If it's true, log a message that indicates the asset `MyAsset` was reset and include the previous value it had.
2. If it is false, log a message specifying that no reset was required on the asset `MyAsset` because it had the expected value.
```
if ((bool)result["assetValueWasChanged"])
{
Log("Reset asset MyAsset, but it had a different value, previous value was " + result["assetValue"]);
}
else
{
Log("No reset was required on asset MyAsset, which had the expected value.");
}
```