Scripts. Adobe LiveCycle Production Print ES2
Scripts
Dans ce chapitre :
•
Extraction de la valeur d'une expression SOM dans une variable
•
Accès à des variables StreamServe dans le processeur XFA
•
Utilisation de scripts Avant et Après Processus
•
Journalisation dans le fichier journal StreamServer
99
Adobe LiveCycle Production Print ES2 - Manuel utilisateur Rév. B
100
Extraction de la valeur d'une expression SOM dans une variable StreamServe
Scripts
Extraction de la valeur d'une expression
SOM dans une variable StreamServe
Vous pouvez mapper les valeurs d'une expression SOM avec une variable
StreamServe.
Il est ainsi possible d'utiliser les données de LiveCycle Designer, pour contrôler le post-traitement ou définir des options de pilote, par exemple, en fonction des données d'entrée, de modèle, de formulaire, de présentation ou de script.
Ce mappage se fait dans un sens seulement. Vous pouvez extraire des valeurs à partir d'une expression SOM dans une variable StreamServe, mais l'inverse n'est pas possible.
Le mappage peut se faire une seule fois pour chaque document ou une seule fois pour chaque page :
• Par document : le mappage se fait une seule fois pour chaque document, immédiatement après la création de toutes les pages mais avant la génération du document.
• Par page : le mappage se fait une seule fois avant la génération de chaque page. Vous disposez ainsi d'une fonctionnalité plus avancée dans Document
Broker et Sheet Layout Editor. Par exemple, vous pouvez utiliser une valeur de niveau page extraite d'une expression SOM pour créer des codes OMR appropriés dans la sortie AFP.
Le mappage se fait d'abord pour le document entier, puis pour chacune des pages avant la génération.
Note :
Dans le cadre du mappage par page, vous utilisez des expressions
SOM relatives pour faire référence à des objets de présentation. Les expressions SOM relatives sont évaluées dans le contexte de page, ce qui permet d'avoir des valeurs différentes pour des pages différentes.
Les objets qui ne se trouvent pas dans le contexte de page sont
évalués dans le contexte de document ; ils ont les mêmes valeurs pour toutes les pages.
Exemple 6 Expression SOM et variable StreamServe
Expression SOM :
$record.header.txtPONum
.
Variable StreamServe :
$ponum
Exemple 7 Affectation d'une valeur à une variable StreamServe
Données d'entrée dans le processeur XFA :
<?xml version="1.0" encoding="UTF-8"?>
<batch>
<transaction>
<header>
Adobe LiveCycle Production Print ES2 - Manuel utilisateur Rév. B
Extraction de la valeur d'une expression SOM dans une variable StreamServe
Scripts
101
<txtPONum>1234567890</txtPONum>
<dtmDate>2004-02-08</dtmDate>
<txtOrderedByCompanyName>Another Company</ txtOrderedByCompanyName>
<txtOrderedByAddress>123, Any St.</txtOrderedByAddress>
…
Le mappage de la variable permet d'attribuer la valeur de l'élément txtPONum
à la variable StreamServe
$ponum
:
Expression SOM :
$record.header.txtPONum
Variable StreamServe :
$ponum
Exemple 8 Mappage par page - expression SOM relative pour les éléments enfants d'une page principale
Les expressions SOM relatives pour les éléments enfants d'une page principale doivent commencer à partir de l'élément enfant de premier niveau de la page principale.
Une page principale
Page1
contient :
• Une zone de texte
PageNumber
• Un sous-formulaire
CustomerInfo
avec les champs
CustomerName
et
CustomerID
L'expression SOM relative pour le champ
PageNumber
est "
PageNumber
".
L'expression SOM relative pour le champ
CustomerName
est
"
CustomerInfo.CustomerName
".
Exemple 9 Mappage par page - expression SOM relative pour les éléments enfants d'un sous-formulaire principal
Les expressions SOM relatives pour les éléments enfants d'un sous-formulaire principal doivent commencer à partir de l'élément enfant (niveau page) de premier niveau du sous-formulaire principal.
Vous pouvez faire référence à un sous-formulaire principal
Data
en utilisant l'expression SOM absolue "
$form.Data
".
Le sous-formulaire
Data
contient le sous-formulaire enfant
Part1
, qui contient le champ
Header1
.
L'expression SOM relative pour
Header1
est "
Part1.Header1
".
Pour plus d'informations sur la syntaxe des expressions SOM, voir l'aide de
LiveCycle Designer : Scripting > Scripting Using LiveCycle Designer ES2 >
Referencing Objects in Calculations and Scripts.
Adobe LiveCycle Production Print ES2 - Manuel utilisateur Rév. B
102
Extraction de la valeur d'une expression SOM dans une variable StreamServe
Scripts
A propos des expressions SOM
L'expression SOM (Scripting Object Model) XFA est un modèle de référencement des valeurs, propriétés et méthodes d'un modèle DOM (Document
Object Model) particulier. Un modèle DOM permet de structurer les objets et les propriétés sous forme hiérarchique. Les expressions SOM XFA facilitent l'accès
à ces objets et propriétés grâce à une syntaxe de référence d'objet simple.
La spécification SOM est décrite en détail dans la spécification XFA (XML Forms
Architecture) .
Pour savoir quelle est l'expression SOM pour un objet XFA particulier, utilisez la propriété de script somExpression
. Vous pouvez alors extraire la totalité de l'expression pour l'objet.
Exemple 10 Exemple ECMAscript
this.rawValue = this.somExpression;
Si vous définissez ce script sur l'objet pour lequel vous voulez connaître l'expression SOM, l'expression sera attribuée à la valeur de cet objet et la chaîne sera imprimée dans le document de sortie.
Pour plus d'informations sur les expressions SOM, voir la documentation sur
Adobe LiveCycle Designer ES2.
Adobe LiveCycle Production Print ES2 - Manuel utilisateur Rév. B
Accès à des variables StreamServe dans le processeur XFA
Scripts
103
Accès à des variables StreamServe dans le processeur XFA
Vous pouvez lire des variables StreamServe directement à partir d'un script dans le processeur XFA. C'est le cas lorsqu'un Message StreamServe est utilisé comme connexion de données pour un modèle (par exemple, l'option
Ajouter le
Message sous la forme d'une connexion de données dans la Vue des données
est activée).
Toutes les variables StreamServe créées avant l'exécution du Processus peuvent
être lues via la connexion de données à l'aide de la syntaxe suivante :
$record.variables.variableid;
Exemple 11 Script StreamServe Avant Processus
$myvar = "myvalue";
//Assigns "myvalue" to a StreamServe variable named "myvar"
Exemple 12 Langage EcmaScript pour l'événement Form Ready dans un champ d'un modèle
this.rawValue = $record.variables.myvar;
//Assigns the value of the StreamServe variable "myvar" to the raw value of the current object.
Note :
Il est impossible de lire de cette façon les variables en lecture seule, telles que celles créées par SAP (par exemple, variables d'en-tête RDI) et les agents Lawson. Ces variables doivent être attribuées à des variables de script (en lecture/écriture) avant de pouvoir être lues dans le processeur
XFA.
Le positionnement du script et le moment de son exécution déterminent si vous pouvez utiliser cette méthode. L'objet pageSet
et ses descendants peuvent être attribués en toute sécurité aux variables de script dans l'Evénement layout:ready
et l'Evénement prePRint
uniquement.
Adobe LiveCycle Production Print ES2 - Manuel utilisateur Rév. B
104
Utilisation de scripts Avant et Après Processus
Scripts
Utilisation de scripts Avant et Après
Processus
Vous pouvez exécuter des scripts Avant et Après Processus, avant et après chaque enregistrement.
L'exécution de scripts avant et/ou après des enregistrements individuels donne un contexte d'exécution des scripts pour les valeurs de variables, extraites par le biais d'expressions SOM. Voir
Mappage de variables StreamServe
Le mappage d'expressions SOM avec des variables StreamServe se fait pour chaque enregistrement (et même pour chaque page d'un enregistrement si l'option
Evaluer la variable pour chaque page
est sélectionnée). Si cette option
• est activée, le script Avant/Après Processus est appelé pour chaque enregistrement avec ces valeurs.
• est désactivée, seules les valeurs extraites du dernier enregistrement sont disponibles pour le script Après Processus.
Note :
Le tout premier script Avant Processus et le tout dernier script Après
Processus sont exécutés dans la phase de prétraitement (avant et après le
Processus proprement dit), ainsi que dans la phase de traitement. Tous les autres scripts Avant et Après Processus sont exécutés dans la phase de traitement uniquement.
Fonctionnement - ordre d'exécution des scripts
L'ordre d'exécution des scripts Avant et Après Processus durant la phase de traitement avec l'option
Evaluer la variable pour chaque page
activée, est présenté dans la figure ci-dessous.
Figure 12 Ordre d'exécution des scripts
1
Le script Avant Processus est exécuté avant l'appel du Processus.
2
Le script Avant Processus est exécuté avant le premier enregistrement.
Adobe LiveCycle Production Print ES2 - Manuel utilisateur Rév. B
Utilisation de scripts Avant et Après Processus
Scripts
105
3
Le script Après Processus est exécuté après le premier enregistrement.
4
Le script Avant Processus est exécuté avant les enregistrements suivants.
5
Le script Après Processus est exécuté après les enregistrements suivants.
6
Le script Avant Processus est exécuté avant le dernier enregistrement.
7
Le script Après Processus est exécuté après le dernier enregistrement.
8
Le script Après Processus est exécuté après la fin du Processus.
Pour activer les scripts Avant et Après Processus
Vous pouvez activer et désactiver cette fonctionnalité dans la boîte de dialogue
Paramètres, au moyen de l'option
Exécuter les scripts Avant et Après
Processus, avant et après chaque enregistrement
. Voir
Si vous sélectionnez cette option, les scripts Avant et Après Processus sont exécutés avant et après chaque enregistrement. Si l'option n'est pas sélectionnée, les scripts Avant et Après Processus sont exécutés avant et après chaque
Processus.
Pour les Projets créés dans LiveCycle Production Print ES2, cette fonctionnalité est activée par défaut.
Pour les Projets mis à niveau, créés dans des versions antérieures à LiveCycle
Production Print ES2, c'est le paramétrage précédent avec les scripts par
Processus qui est utilisé par défaut.
Restrictions
Les scripts suivants ne peuvent pas être utilisés dans les scripts Avant et Après
Processus s'ils sont exécutés au niveau enregistrement dans la phase de traitement :
• CallProc
• CallBlock
• PreProcLog
• EndDocument
• SetExtJobId
• GetJobResourceIndex
• AddSortDef
• AddSortKeys
• ODBCConnect
• ODBCDisconnect
• SAPCreateFunction
• SAPInvokeFunction2
• SetDestPath
Adobe LiveCycle Production Print ES2 - Manuel utilisateur Rév. B
106
Journalisation dans le fichier journal StreamServer
Scripts
Journalisation dans le fichier journal
StreamServer
Vous pouvez consigner directement dans le journal StreamServer les messages de journal provenant de scripts dans un modèle XDP.
Syntaxe
xfa.log.message(Param1, chaîne [, gravité])
Param1 chaîne
Gravité
StreamServer ignore toujours ce paramètre.
Chaîne de texte de message qui sera consignée dans le fichier journal.
Le message sera précédé par :
"
XFAOUT: Message from XFA template script:
"
Facultatif. Indique le niveau de gravité du message : i
– Informations t
– Informations w
– Avertissement f
– Erreur
Description
Cette fonction de script permet de consigner directement dans le journal
StreamServer les messages provenant de scripts dans un modèle XDP.
Exemple
Exemple 13 Exemple d'appel au journal
xfa.log.message(1, "texte à consigner dans le fichier journal",
"i");
Le message suivant sera ainsi enregistré dans le journal StreamServe :
0902 175411 (0096) 3 XFAOUT: Message from XFA template script: texte
à consigner dans le fichier journal
Adobe LiveCycle Production Print ES2 - Manuel utilisateur Rév. B

公開リンクが更新されました
あなたのチャットの公開リンクが更新されました。