Utilisation de scripts sous ABBYY FlexiCapture

Cette section décrit comment utiliser les scripts permettant de personnaliser les étapes de traitement et les interfaces des postes d'ABBYY FlexiCapture.

Langages de scripts pris en charge

ABBYY FlexiCapture prend en charge les langages de script suivants : C#.Net, VisualBasic.Net, JScript.Net, JScript®, JScript.Compact and VBScript.

Règles spécifiques aux scripts écrits en langages .Net

Règles d'utilisation

En langage VBScript, il est obligatoire d'utiliser le mot clé « Me » lors de la transmission d'une valeur NULL (l'alternative de « this » du JScript), alors qu'en langages .Net, la valeur NULL est transmise sous la forme d'un paramètre ordinaire.

Tous ces paramètres sont connus à l'avance pour chaque autorisation d'accès au script. Les autorisations d'accès déterminent le sous-ensemble des méthodes disponibles à partir des scripts. Lorsque vous traitez des méthodes d'objets, les autorisations pour les objets retournés sont toujours héritées de l'objet source (les exceptions applicables à cette règle sont décrites dans les commentaires des méthodes correspondantes).

Remarque :Les objets de scripts ne peuvent pas être utilisés une fois le script terminé en raison du comportement indéterminé des objets.

Remarque :Pour déboguer les scripts écrits dans l'éditeur de scripts ABBYY FlexiCapture, la méthode MessageBox peut être utilisée.

Fonctions personnalisées

L'éditeur de scripts permet à l'utilisateur de créer ses propres fonctions et procédures et de les appeler par la suite à partir du code des scripts.

Vous devez écrire les procédures et les fonctions personnalisées dans le module global. Il est possible d'y accéder depuis l'Éditeur de script. Pour ce faire, dans la liste déroulante de la barre d'outils de l’éditeur de scripts, sélectionnez un module global disponible : Module de script global de règle, Module de script global d'exportation, Events ou NonInteractiveProcessor.

Toutes les fonctions contenues dans un module doivent être écrites dans le même langage. Vous pouvez écrire le code de base d’un script dans un autre langage que celui utilisé dans le module global correspondant.

Les fonctions globales écrites dans les langages de script JScript®, JScript.Compact et VBScript peuvent être appelées à partir de scripts également écrits dans l'un de ces langages. Vous pouvez par exemple appeler une fonction du module global écrite en JScript à partir du code d’une règle écrite en VBScript.

Les fonctions globales écrites dans les langages .Net peuvent être appelées à partir de scripts écrits dans l'un des langages .Net (C#.Net, VisualBasic.Net or JScript.Net).

Pour appeler une fonction à partir de son module global, un préfixe correspondant (Rules, Export, Events ou NonInteractiveProcessor) doit être utilisé. Par exemple, la fonction EffectuerUneOpération du module Module de script global de règle doit être appelée de la manière suivante : Rules.DoSomething ().

Remarque :Pour les scripts écrits en langages .Net, les fonctions des modules globaux sont appelées par leurs noms sans préfixes.

Délai d'exécution d'un script

Les délais d'exécution par défaut sont de 30 secondes pour l'exportation et de 10 secondes pour les autres scripts.

Pour changer ces valeurs par défaut, spécifiez la valeur suivante dans le registre :

HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\Controller\ScriptSupport\DefaultScriptTimeout

Dans le registre, ces valeurs sont exprimées en millisecondes. Si un script ne s'exécute pas au cours du délai d'exécution imparti spécifié, il sera arrêté et un message d'erreur sera retourné : « Délai d'exécution du script dépassé ». Si le script fait partie d'une tâche d'importation, de reconnaissance ou d'exportation, un message d'erreur similaire sera enregistré dans le journal.

Important !Le délai d'exécution du script ne s'applique qu'aux scripts écrits en langages JScript et VBScript.

Important !Pour changer ces délais d'exécution pour les scripts exécutés dans NetworkService, vous devez modifier la branche du registre pour le profil utilisateur correspondant.

Modèle d'objet

Le modèle d'objet est compatible avec les scripts créés dans les versions antérieures d'ABBYY FlexiCapture.

En savoir plus sur le modèle d'objet

10/9/2020 8:50:43 AM


Please leave your feedback about this article