Forcer des références

Pour déterminer le meilleur moment d’exécuter vos scripts pendant un travail d’impression et les champs de base de données à consulter, BarTender examine la structure de vos modèles et effectue un test d’exécution de vos scripts. Parmi d’autres facteurs, BarTender prend en compte le moment et la manière dont les champs de base de données et les sources de données partagées sont utilisés.

Les énoncés conditionnels exécutent différentes « branches » de code en fonction de la manière dont une expression conditionnelle est évaluée. Par conséquent, en fonction des conditions au moment de l’évaluation, il se peut qu’une partie de code ne soit pas exécutée. Ceci peut poser un problème si une référence à un champ ou un nom partagé se retrouve dans une partie de code qui est ignorée lors du test d’exécution des scripts. Si l’énoncé conditionnel associé est évalué différemment au moment de l’impression et occasionne un référencement du champ ou du nom partagé, mais que ce dernier n’est pas référencé lors du test d’exécution, il est possible que le script ne soit pas exécuté au moment opportun et qu’il échoue.

Dans ce cas, vous pouvez utiliser les fonctions de contrainte pour vous assurer que le script référence le champ de base de données ou la source de données que vous souhaitez.

Fonctions de contrainte intégrées de BarTender

L’Éditeur de script comprend deux fonctions qui forcent un script à référencer un champ de base de données ou un nom de source de données : ReferenceField et ReferenceSharedSubString. Ces fonctions ne modifient ni n’affectent aucune valeur, mais elles forcent juste l’application à constater la présence d’un élément qui pourrait manquer pendant le test d’un script. Lorsque vous utilisez ces fonctions, BarTender établit des liens vers tous les champs de données nécessaires et vos scripts sont exécutés en réponse aux événements appropriés au moment de l’impression.

Un objet VBScript dont le numéro de champ est « Vide » peut afficher le message d’erreur nº 3201 : « Un objet du modèle est défini pour lecture dans le champ "(nom du champ)", mais ce champ est introuvable. Continuer et traiter les champs inconnus comme des chaînes vides ? » Cliquez sur Oui pour afficher dans l'aperçu du modèle le champ de chaîne vide spécifié. Cliquez sur Non pour ajouter un contenu au champ vide.

FerméTrouver les deux fonctions de contrainte dans l’éditeur de script

  1. Dans le volet Assistant Script, développez le dossier Fonctions.

  2. Dans le dossier Fonctions, développez le dossier Déclarations. ReferenceField et ReferenceSharedSubstring se trouvent dans ce dossier.

Nous vous recommandons d’insérer les fonctions de référence au début de votre script avant tout énoncé conditionnel.

La fonction ReferenceField n’est disponible que si votre modèle est connecté à une base de données.

La fonction ReferenceSharedSubString n’est disponible que si une source de données nommée est liée à un objet de votre modèle.

Forcer la référence à un champ de base de données ou à une source de données nommée

Vous pouvez forcer un VBScript à référencer un champ de base de données ou une source de données nommée.

FerméPour forcer la référence à un champ de base de données

  1. Dans le volet Assistant Script, développez Fonctions, développez Déclarations, puis développez ReferenceField.

  2. Double-cliquez sur le nom du champ de base de données que vous souhaitez forcer. Un fragment de code ressemblant à celui ci-après apparaît dans le volet Script :

    ReferenceField("nom_ou_numéro_de_champ")

Si le document est configuré pour lire les données d’un fichier texte normal, spécifiez un numéro de champ. Lorsque le document lit une base de données, spécifiez un nom de champ. Sauf si le nom de champ lui-même est contenu dans une variable, assurez-vous de mettre le nom entre guillemets, par exemple ReferenceField("prix").

FerméPour forcer la référence à une source de données nommée

  1. Dans le volet Assistant Script, développez Fonctions, développez Déclarations, puis développez ReferenceSharedSubString.

  2. Double-cliquez sur la source de données nommée que vous souhaitez forcer. Un fragment de code ressemblant à celui ci-après apparaît dans le volet Script :

    ReferenceSharedSubString("nom_partagé")

Si une source de données du modèle porte un nom, vous pouvez forcer une référence comme indiqué. Sauf si le nom de la source de données est contenu dans une variable, assurez-vous de mettre le nom entre guillemets, par exemple ReferenceSharedSubString("prix").

Rubriques connexes