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

  1. Obtenir le numéro de l’enregistrement en cours :

    GetEnv("CurRecordNumber")

    Lors du traitement du cinquième enregistrement du travail :

    Résultat : 5

  2. 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"

  3. 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

  1. Obtenir le numéro d’enregistrement dans le lot en cours :

    GetEnv("CurRecordNumberInBatch")

    Résultat : 5 (pour le cinquième enregistrement de ce lot)

  2. 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

  1. Vérifier si la production est de type imprimé :

    GetEnv("PrintMedia")

    Résultat : True (lors de la production imprimée) ou False (sinon)

  2. Utiliser une qualité d’image différente selon le type de média :

    If (GetEnv("PrintMedia")) {"high_res_logo.tif"} else {"web_logo.png"}

  3. Inclure conditionnellement du contenu pour l’impression uniquement :

    If (GetEnv("PrintMedia")) {"Please keep this document for your records."} else {""}

  4. 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"
    }

  5. 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

  1. Détecter l’application hôte :

    GetEnv("HostApplication")

    Résultat : "uProduce"

  2. Utiliser un comportement différent selon l’environnement :

    If (GetEnv("HostApplication") = "uProduce")
    {
    "Production Server"
    }
    else If (GetEnv("HostApplication") = "InDesign")
    {
    "Desktop Preview"
    }
    else
    {
    "Proof Generation"
    }

  3. 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

  1. Obtenir l’ID du travail en cours :

    GetEnv("JobId")

    Résultat : "12345"

  2. 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)

  3. Inclure la référence du travail dans la sortie :

    "Reference: JOB-" & GetEnv("JobId")

    Résultat : "Reference: JOB-12345"

  4. 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

  1. Obtenir le type de travail :

    GetEnv("JobType")

    Résultat : "PRINT"

  2. Ajouter un filigrane pour les travaux hors production :

    If (GetEnv("JobType") = "PROOF" Or GetEnv("JobType") = "PROOF_SET")
    {
    "PROOF COPY"
    }
    else
    {
    ""
    }

  3. Contenu conditionnel pour e-mail vs impression :

    If (GetEnv("JobType") = "EMAIL_MARKETING" Or GetEnv("JobType") = "EMAIL_MARKETING_TEST")
    {
    "Click here to unsubscribe"
    }
    else
    {
    ""
    }

  4. 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

  1. Obtenir le nom du document :

    GetEnv("DocumentName")

    Résultat : "Monthly Statement"

  2. Inclure la référence du document dans le pied de page :

    "Document: " & GetEnv("DocumentName") & " (ID: " & GetEnv("DocumentID") & ")"

  3. 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

  1. Obtenir l’URL de base pour construire des liens :

    GetEnv("BaseURL")

    Résultat : "https://www.example.com"

  2. Construire une URL personnalisée :

    GetEnv("BaseURL") & "/offer/" & |->[RecipientKey]

    Résultat : "https://www.example.com/offer/ABC123"

  3. Créer un lien vers un PDF à la demande :

    GetEnv("BaseOnlineDocURL") & "?id=" & |->[CustomerID]

  4. Vérifier si le travail a été déclenché par un dossier actif :

    If (GetEnv("HotFolderFileName") != "")
    {
    "Triggered by: " & GetEnv("HotFolderFileName")
    }
    else
    {
    "Manual submission"
    }

  5. Inclure la référence du point de contact pour le suivi :

    "Touchpoint: " & GetEnv("CircleTouchpointFriendlyID")

  6. 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