Cette fonction permet de décrire des états imprimables sur des imprimantes ZPL. Une imprimante ZPL est une imprimante spécialisée susceptible de recevoir des flux de données formatés en langage ZPL, essentiellement pour imprimer des étiquettes.
Un état ZPL :

  • est rattaché à un état Crystal Reports classique (via une case à cocher ZPL et un lien de rattachement)
  • partage les mêmes paramètres (qui peuvent être utilisés dans les critères de sélection)
  • part d'un modèle de données et de critères de sélection pour définir les données alimentant le flux d'impression.
  • est basé sur un fichier modèle qui est définit le format.
  • utilise des expressions calculées qui peuvent être listées dans la fiche et soumises à condition.

Un état Crystal Reports va être imprimé tout à fait normalement si la destination d'impression est Pré-visualisation, Imprimante, Message, Fichier, ou Archivage. Par contre, si le type de sortie est Imprimante ZPL, l'état ZPL va être exécuté en lieu et place de l'état Crystal Reports pour être envoyé directement sur le port de cette imprimante.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

Ecran de saisie

Champs

Les champs suivants sont présents dans cet onglet :

Bloc numéro 1

Permet d'identifier un paramétrage d'imprimante ZPL. Ce code est rattaché à un état.

  • Intitulé (champ INTIT)

[object Object]

  • Actif (champ ENAFLG)

Cette case à cocher permet d'activer ou de désactiver la fiche courante sans pour autant perdre son contenu.

Une fiche désactivée ne peut pas être utilisée (par appel de son code) dans d'autres fiches (documents, paramétrages...), ou lors de traitements de masse.

Les habilitations sur une fonction donnée peuvent interdire la création d'une fiche active. Dans ce cas, la case est désactivée par défaut, et est modifiable uniquement par un utilisateur autorisé, ou via un circuit de signature défini par Workflow.

Bloc numéro 2

  • Fichier modèle (champ PATNAM)

Permet d'indiquer un modèle (ou "pattern" selon la terminologie usuelle) pour générer le fichier final qui sera envoyé à l'imprimante.  Ce champ n'est pas obligatoire pour laisser la possibilité de générer un fichier manuellement en utilisant l'action ARZ_REPORT.

Losrqu'un modèle est défini, il est stocké dans la base et versionné. Il est donc possible d'utiliser un numéro de version  donnée.

Un modèle contient  une ou plusieurs sections avec du code ZPL à l'intérieur. Afin de créer un modèle, il faut créer ce fichier dans le répertoire PAT de l'application courante, en lui donnant un nom qui sera celui repris dans la fiche, et une extension pat. Il est à noter qu'un zoom permet de visualiser les fichier pattern, mais non pas de les éditer (on utilisera un éditeur dédié pour cela).

Lors de la création d'un nouvel état, le fichier modèle doit donc exister s'il a été renseigné, et le simple fait de créer la fiche va provoquer la lecture du fichier et le stockage de ses caractéristiques dans la base, sous la forme d'une version numéro 1.

Il est ensuite possible de fournir un modèle modifié en déposant une nouvelle version du fichier dans ce répertoire, en stockant cette nouvelle version par le clic droit Nouvelle version sur le code modèle. Si la date de création du nouveau fichier est la même que celle du fichier précédent, le mesage "Pas de nouvelle version" sera affiché, sinon le système stocke dans la base la nouvelle version, incrémente la nouvelle version, et propose par défaut cette dernière version  pour l'état (mais il est possible de revenir en arrière en sélectionnant une version antérieure).

Un fichier pattern peut être de l'un des deux types suivants :

  • masque :  dans ce cas, on prédéfinit un masque contenant des variables qui est chargé dans la mémoire de l'imprimante. On envoie ensuite un flot de données qui est fusionné avec le masque pour produire les étiquettes. La description du masque peut être visualisée dans l'onglet Masque.
  • structuré : dans ce cas, le flux est produit avec un en-tête, des lignes, et un pied de description. Chaque section peut être visualisée dans l'onglet correspondant.
  • Version (champ VER)

Cette zone sert à définir la version du pattern utilisée lors de l'impression. En effet, chaque version du pattern est stockée et utilisable.

Par défaut, lors de l'impression, la dernière version est utilisée; mais si un paramètre nommé "version" a été ajouté dans la liste des paramètres de l'état, on prend en compte la valeur saisie.

  • Envoi du masque (champ ENVMSK)

Cette case permet de ne pas envoyer le masque à l'imprimante.
L'imprimante garde en mémoire les masques et l'envoi du masque est une opération qui peut prendre du temps surtout dans le cas de graphiques.

Données

Le modèle de données permet de générer un link qui servira à lire les données pour générer le fichier.
Ce link est généré dans un traitement WMZPL* après une création ou la modification d'un paramétrage. Le bouton "Validation" permet de forcer la génération du traitement.

Tableau numéro 2

  • Critères (champ CONDIT)

Ce champ permet de définir des critères qui seront appliqués à la requête (liés par un "et" logique si plusieurs lignes sont renseignées); ces critères seront directement passés à la base via des clauses de l'instruction Link si la formule ne contient pas de fonctions particulières (telles Func), sinon, elle sera utilisée en filtre lors de la lecture.

Parmi les fonctions intéressantes, on remarquera la fonction func ARZIMP.PARAM("nom"), qui permet de récupérer les paramètres passés à l'état. Cette fonction particulière est optimisée dans la requête en étant transformée en constante.

Il est à noter que l'on peut également rajouter des critères de sélection dans le modèle de données.

Tableau Expression

  • Numéro (champ NUM)

Ce numéro sert à utiliser l'expression dans une une balise (n=numéro) :
- X3E_n  gérée dans les pattern de type "parsing"
- ^FNn  gérée dans les pattern de type "masque"

Cette balise sera remplacée par la valeur evaluée de l'expression dans le fichier.

Il peut y avoir plusieurs fois le même numéro. C'est la condition définie sur chaque ligne qui permet de prendre en compte le bon numéro.

  • Condition (champ CND)

Chaque champ calculé est identifié par un numéro. Cette condition permet de gérer plusieurs lignes portant le même numéro : dans ce cas, l'expression retenue pour un  numéro donné sera la première dont la condition est réalisée.

  • Expression (champ EXPLIG)

Cette expression est évaluée dans la boucle de lecture définie par le modèle de données, au moment de la génération du fichier envoyé à l'imprimante.

Fermer

 

Boutons spécifiques

Génère le traitement dont l'exécution permettra la génération du flux à envoyer à l'imprimante.

Messages d'erreur

Outre les messages génériques, les messages d'erreur suivants peuvent apparaître lors de la saisie :

Pas de nouvelle version

On a voulu enregistrer une nouvelle version de modèle d'impression, mais le fichier fourni n'est pas plus récent que le précédent.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre