Fonctions GetEnv
La fonction GetEnv récupère des données d’environnement pendant la production. Cela permet à vos expressions d’accéder aux informations sur le travail en cours, le document, l’enregistrement, le type de média et le contexte de production. Ces valeurs sont déterminées au moment de la composition et fournissent un comportement contextuel dans votre logique de personnalisation.
Syntaxe
GetEnv(constantName)
|
Paramètre |
Description |
|---|---|
|
constantName |
Obligatoire. Une chaîne spécifiant la valeur d’environnement à récupérer. Doit être l’un des noms de constantes prédéfinis listés ci-dessous. |
Le type de retour varie selon la constante demandée (String, Number ou Boolean).
Constantes de numéro d’enregistrement
Ces constantes fournissent des informations sur l’enregistrement en cours de traitement.
CurRecordNumber
Renvoie le numéro séquentiel de l’enregistrement en cours de traitement dans l’ensemble du travail.
Cette constante renvoie un type de données Number.
GetEnv("CurRecordNumber")
|
Scénario |
Comportement |
|---|---|
|
Travail unique |
Renvoie 1 pour le premier enregistrement, 2 pour le deuxième, etc. |
|
Travaux découpés |
La numérotation continue de manière séquentielle à travers tous les lots |
Exemples
-
Obtenir le numéro de l’enregistrement en cours :
GetEnv("CurRecordNumber")
Lors du traitement du cinquième enregistrement du travail :
Résultat : 5
-
Créer un identifiant unique combinant le travail et l’enregistrement :
GetEnv("JobId") & "-" & GetEnv("CurRecordNumber")
Lors du traitement du cinquième enregistrement et si le JobId est 12345 :
Résultat : "12345-5"
-
Ajouter la numérotation des enregistrements à la sortie :
"Record " & GetEnv("CurRecordNumber")
Lors du traitement du cinquième enregistrement du travail :
Résultat : Record 5
CurRecordNumberInBatch
Renvoie le numéro de l’enregistrement en cours dans son lot spécifique. Pour les travaux découpés, ce numéro redémarre à 1 pour chaque lot.
Cette constante renvoie un type de données Number.
GetEnv("CurRecordNumberInBatch")
|
Scénario |
Comportement |
|---|---|
|
Travail unique |
Identique à CurRecordNumber |
|
Travaux découpés |
Redémarre à 1 pour chaque lot découpé |
Exemples
-
Obtenir le numéro d’enregistrement dans le lot en cours :
GetEnv("CurRecordNumberInBatch")
Résultat : 5 (pour le cinquième enregistrement de ce lot)
-
Afficher la position relative au lot :
"Item " & GetEnv("CurRecordNumberInBatch") & " in Split Part " & GetEnv("SplitPart")
Résultat : Item 5 in Split Part 2 (pour le cinquième enregistrement du deuxième lot)
Constantes de type de média
Ces constantes vous permettent de détecter le type de média en cours de production, permettant une logique conditionnelle basée sur le format de sortie.
|
Constante |
Renvoie True lorsque |
Type de retour |
|---|---|---|
|
GetEnv("PrintMedia") |
Production de documents imprimés (sortie PDF) |
Boolean |
|
GetEnv("ProofSet") |
Production d’un jeu d’épreuvage |
Boolean |
|
GetEnv("HTMLMedia") |
Production de sortie HTML (à la demande, e-mail ou épreuve HTML) |
Boolean |
|
GetEnv("TextMedia") |
Production de sortie SMS ou texte |
Boolean |
Exemples
-
Vérifier si la production est de type imprimé :
GetEnv("PrintMedia")
Résultat : True (lors de la production imprimée) ou False (sinon)
-
Utiliser une qualité d’image différente selon le type de média :
If (GetEnv("PrintMedia")) {"high_res_logo.tif"} else {"web_logo.png"}
-
Inclure conditionnellement du contenu pour l’impression uniquement :
If (GetEnv("PrintMedia")) {"Please keep this document for your records."} else {""}
-
Fournir des instructions spécifiques au média :
If (GetEnv("HTMLMedia"))
{
"Click here to respond"
}
else If (GetEnv("TextMedia"))
{
"Reply YES to confirm"
}
else
{
"Call 1-800-555-1234 to respond"
} -
Ajouter un filigrane d’épreuve uniquement pour les jeux d’épreuvage :
If (GetEnv("ProofSet")) {"PROOF - NOT FOR PRODUCTION"} else {""}
Constante d’application hôte
La constante HostApplication identifie l’application qui exécute la composition.
GetEnv("HostApplication")
Cette constante renvoie un type de données String.
|
Valeur de retour |
Description |
|---|---|
|
"uProduce" |
Exécution sur le serveur de production omnicanal uProduce |
|
"InDesign" |
Exécution dans uCreate (application de bureau InDesign) |
|
"uPlan" |
Exécution dans uPlan pour la génération de jeux d’épreuvage |
Exemples
-
Détecter l’application hôte :
GetEnv("HostApplication")
Résultat : "uProduce"
-
Utiliser un comportement différent selon l’environnement :
If (GetEnv("HostApplication") = "uProduce")
{
"Production Server"
}
else If (GetEnv("HostApplication") = "InDesign")
{
"Desktop Preview"
}
else
{
"Proof Generation"
} -
Activer les informations de débogage uniquement dans l’aperçu de bureau :
If (GetEnv("HostApplication") = "InDesign")
{
"[DEBUG: Record " & GetEnv("CurRecordNumber") & "]"
}
else
{
""
}
Constantes d’information sur le travail
Ces constantes fournissent des informations sur le travail en cours et sa relation avec d’autres travaux.
|
Constante |
Description |
Type de retour |
|---|---|---|
|
GetEnv("JobId") |
L’identifiant unique du travail en cours |
String |
|
GetEnv("ParentJobId") |
L’ID du travail parent pour les travaux turbo/découpés (travaux générés à partir d’un autre travail) |
String |
|
GetEnv("TopMostJobId") |
L’ID du travail principal ; renvoie l’ID du travail parent s’il s’agit d’un travail turbo/découpé, sinon renvoie l’ID du travail en cours |
String |
|
GetEnv("SplitPart") |
Le numéro de la partie découpée en cours pour les travaux divisés en plusieurs lots |
Number |
Exemples
-
Obtenir l’ID du travail en cours :
GetEnv("JobId")
Résultat : "12345"
-
Créer un code de suivi à partir des informations du travail :
GetEnv("TopMostJobId") & "-" & GetEnv("SplitPart") & "-" & GetEnv("CurRecordNumber")
Résultat : "12345-2-150" (Travail 12345, Partie découpée 2, Enregistrement 150)
-
Inclure la référence du travail dans la sortie :
"Reference: JOB-" & GetEnv("JobId")
Résultat : "Reference: JOB-12345"
-
Afficher les informations de découpage :
"Processing batch " & GetEnv("SplitPart")
Constante de type de travail
La constante JobType identifie le type de travail en cours d’exécution.
GetEnv("JobType")
Cette constante renvoie un type de données String.
|
Valeur de retour |
Description |
|---|---|
|
"PRINT" |
Travail de production d’impression standard |
|
"PROOF" |
Travail d’épreuvage (aperçu en qualité inférieure) |
|
"PROOF_SET" |
Génération de jeu d’épreuvage |
|
"ON_DEMAND" |
Production à la demande (temps réel) |
|
"RECORD_SET" |
Exportation de jeu d’enregistrements |
|
"FLAT" |
Exportation de données à plat (valeurs évaluées des objets de contenu) |
|
"EMAIL_MARKETING" |
Campagne d’e-mails marketing |
|
"EMAIL_MARKETING_TEST" |
E-mail de test pour campagne marketing |
Exemples
-
Obtenir le type de travail :
GetEnv("JobType")
Résultat : "PRINT"
-
Ajouter un filigrane pour les travaux hors production :
If (GetEnv("JobType") = "PROOF" Or GetEnv("JobType") = "PROOF_SET")
{
"PROOF COPY"
}
else
{
""
} -
Contenu conditionnel pour e-mail vs impression :
If (GetEnv("JobType") = "EMAIL_MARKETING" Or GetEnv("JobType") = "EMAIL_MARKETING_TEST")
{
"Click here to unsubscribe"
}
else
{
""
} -
Gérer les e-mails de test différemment :
If (GetEnv("JobType") = "EMAIL_MARKETING_TEST")
{
"[TEST EMAIL] "
}
else
{
""
} & "Your Monthly Newsletter"
Constantes de propriétés du document
Ces constantes fournissent des informations sur le document en cours de composition.
|
Constante |
Description |
Type de retour |
|---|---|---|
|
GetEnv("DocumentName") |
Le nom du document tel que spécifié dans le bon de travail |
String |
|
GetEnv("DocumentID") |
L’identifiant unique du document |
String |
|
GetEnv("DocumentType") |
Le type de document en cours de composition |
String |
Valeurs de DocumentType
|
Valeur |
Description |
|---|---|
|
"HTML" |
Document HTML |
|
"INDD" |
Document InDesign |
|
"TXT" |
Document texte |
|
"XLIM" |
Document XLIM |
Exemples
-
Obtenir le nom du document :
GetEnv("DocumentName")
Résultat : "Monthly Statement"
-
Inclure la référence du document dans le pied de page :
"Document: " & GetEnv("DocumentName") & " (ID: " & GetEnv("DocumentID") & ")"
-
Comportement conditionnel basé sur le type de document :
If (GetEnv("DocumentType") = "HTML")
{
"<br>"
}
else
{
Chr(10)
}
Constantes de contexte de production
Ces constantes fournissent un contexte supplémentaire sur l’environnement et la configuration de production.
|
Constante |
Description |
Type de retour |
|---|---|---|
|
GetEnv("InstanceID") |
L’identifiant d’instance du modèle |
String |
|
GetEnv("BaseURL") |
L’URL de base du site web |
String |
|
GetEnv("BaseOnlineDocURL") |
L’URL de base pour les documents PDF à la demande |
String |
|
GetEnv("CircleTouchpointFriendlyID") |
L’identifiant intuitif du point de contact de la campagne Circle |
String |
|
GetEnv("RecipientFilter") |
Le filtre utilisé pour sélectionner les destinataires (nom du tableau, filtre de plan ou requête) |
String |
|
GetEnv("HotFolderFileName") |
Le nom du fichier ayant déclenché un travail de dossier actif (vide si non déclenché par un dossier actif) |
String |
Exemples
-
Obtenir l’URL de base pour construire des liens :
GetEnv("BaseURL")
Résultat : "https://www.example.com"
-
Construire une URL personnalisée :
GetEnv("BaseURL") & "/offer/" & |->[RecipientKey]
Résultat : "https://www.example.com/offer/ABC123"
-
Créer un lien vers un PDF à la demande :
GetEnv("BaseOnlineDocURL") & "?id=" & |->[CustomerID]
-
Vérifier si le travail a été déclenché par un dossier actif :
If (GetEnv("HotFolderFileName") != "")
{
"Triggered by: " & GetEnv("HotFolderFileName")
}
else
{
"Manual submission"
} -
Inclure la référence du point de contact pour le suivi :
"Touchpoint: " & GetEnv("CircleTouchpointFriendlyID")
-
Journaliser le filtre de destinataires utilisé :
"Filter: " & GetEnv("RecipientFilter")
Remarque : Certaines constantes peuvent renvoyer des chaînes vides ou des valeurs par défaut selon le contexte de production. Par exemple, HotFolderFileName est vide lorsque le travail n’a pas été déclenché par un dossier actif, et ParentJobId peut être vide pour les travaux non turbo/découpés.
Rubriques associées
-
Fonctions de conversion - Fonctions de conversion entre types de données
-
Fonctions numériques - Fonctions pour les opérations mathématiques
-
Fonctions de chaînes - Fonctions de manipulation de texte
-
Fonctions de date - Fonctions pour les opérations de date et d’heure
-
Fonctions des actifs - Fonctions pour travailler avec les actifs