...
On remplace donc les masques d’impression “.dhsi”.dhsi
L’application externe est en général capable de piloter les imprimantes plus finement et donc de générer des impressions de meilleure qualité, pour les codes barre notamment.
...
Conception de l'étiquette : en autonomie par un outil dédié
On veut Il s’agit de donner les moyens au client final de concevoir ses propres modèles d'étiquettes à l’aide d’une application spécialisée.
...
L’application externe a la charge d’aspirer le fichier export étiquette pour en faire une impression au bon modèle et sur la bonne imprimante, en utilisant les données métier transmises.
Consulter ce chapitre: Loftware
Etiquettes de réservation
...
Faire un premier cas d’implémentation du connecteur étiquette.
La première application externe cible est NiceLabel.
...
Le premier modèle d’étiquette implémenté est l'étiquette de réservation.
...
Un récapitulatif confirme que la génération s’est bien passée
...
Le contenu du fichier dépend du code traitement exécuté
...
Numéro de présentation
Identifie l'état d’impression dans Divalto.Paramètre
Identifie la présentation parmis parmi les variantes possibles d’un même état.
...
Le connecteur étiquette s’appuie sur la notion de code traitement (voir chapitre dédié) déjà utilisée pour le configurateur d’articles. Les codes traitement sont utiles pour personnaliser plus facilement le contenu d’un fichier export d'étiquette.
Code traitement pour connecteur étiquettes
Des codes traitement sont livrés à titre d’exemple dans la visite guidée
...
Pour les distinguer des codes traitement destinés au configurateur, la notion de langage a été introduite.
Actuellement 2 langages
...
Code langage
...
Libellé
...
CFG
...
Traitement pour configurateur
...
ETI
...
Traitement pour connecteur étiquette
Le choix du langage permet de préciser l’usage du code traitement et le domaine lexical autorisé lors de l’analyse et de la compilation.
Les fonctions autorisées pour le langage connecteur étiquette sont :
...
Fonction
...
Description
...
Paramètres
...
ETI_Export_Debut
...
Initialise un fichier export étiquette
...
MIMPETAT : instance de paramètre état par famille (doit être chargé par le programme d’impression)
Ticketfichier : identifiant fichier export étiquette initialisé
...
ETI_Export_Ligne_Ecriture
...
Ajoute une ligne dans le fichier
...
Ticket : Identifiant dans liste des exports à traiter
Ligne : Ligne contenu à écrire
cr : ajout retour chariot ou pas
nbex : Nombre de repetitions de la ligne
sep : séparateur de champ
...
ETI_Export_Champ_Ecriture
...
Ajoute un champ dans la ligne courante
...
Ticket : Identifiant dans liste des exports à traiter
Champ : Valeur champ à écrire
Dernier : ajout retour chariot si dernier champ
sep : séparateur de champ
...
ETI_Export_Fin
...
Enregistre le fichier export étiquette dans sa destination finale et supprime les fichiers temporaires
...
Ticketfichier : identifiant fichier export étiquette initialisé
Info |
---|
Le séparateur par défaut utilisé pour séparer les champs dans le fichier est la tabulation |
Code variable
Dans les exemples livrés dans la visite guidée , on utilise deux variables
...
TicketFichierPlat pour identifier le fichier export étiquette
LigneFichierPlat pour contenir la ligne entête de fichier
Données publiques
Ces données doivent être initialisées par le programme d’impression
...
Donnée
...
Description
...
LCT_MIMPETAT
...
Contient une instance de la table des paramètres états par famille. Chargée par le programme d’impression en fonction du contexte d’impression et de l'état cible
...
LCT_ETICONNECTEUR
...
Structure de travail du connecteur comportant les champs
MODIMP : modèle imprimante Divalto destinataire de l’impression
IMPWINCHN : nom imprimante client Windows destinataire de l’impression
LISTEETIQUETTE : identifiant liste des étiquette à imprimer. Les éléments de cette liste dépendent du programme d’impression
Code traitement pour étiquette réservation
Bloc de code |
---|
TicketFichierPlat= ETI_Export_Debut (LCT_mImpEtat )
(SI) TicketFichierPlat<> 0 (ET) TicketFichierPlat<> - 1
;Fichier initialisé
;Ecriture du contenu
; Ligne entete
lignefichierplat= "@Label;@Printer;@Nbex,ref;sref1;sref2;designation;sref1_lib;sref2_lib;Numero_Lot;Numero_Colis;LotFournisseur;Quantite;Affaire;unite_travail"
ETI_Export_Ligne_Ecriture (TicketFichierPlat, lignefichierplat)
; champs etiquette
ETI_Export_Champ_Ecriture (TicketFichierPlat, LCT_mImpEtat.LabelCod )
ETI_Export_Champ_Ecriture (TicketFichierPlat, LCT_Eticonnecteur.ModImp )
ETI_Export_Champ_Ecriture (TicketFichierPlat, 1 )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.Ref )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.Sref1 )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.Sref2 )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.Des )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.Lib (1 ) )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.Lib (2 ) )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.Serie )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.ColiNo )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.SerieExt )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.StQte )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.Affaire )
ETI_Export_Champ_Ecriture (TicketFichierPlat, GTSLR200I1.RefUn , dernier = 1 )
;transport du fichier et liberation
ETI_Export_Fin (TicketFichierPlat)
(FinSi) |
Précisions techniques
Les fonctions publiques autorisées dans les code traitement du connecteur étiquette sont déclarées dans le module GTTMETICODETRAIT
A5PMCODETRAIT
Extension fonctions pour ne pas être spécialisées configurateur.
Tenir compte du langage traitement pour la déclaration du source include adapté
...
Langage
...
Include
...
CFG
...
gttcCfgCodeTrait.dhsp
...
ETI
...
gttcEtiCodeTrait.dhsp
Ajout nouvelles instructions du code traitement pour le parcours d’une liste
...
Instruction
...
Finalité
...
Exemple
...
LISTEDEBUT
...
se positionner en début d’une liste
...
(LISTEDEBUT)(LCT_Eticonnecteur.ListeEtiquette)
...
ELEMENTSUIVANT
...
délivre l'élément suivant dans une liste
...
(TANTQUE) (ELEMENTSUIVANT) (LCT_Eticonnecteur.ListeEtiquette , GT020T1 )
A5PMLEX
Ajout fonctions pour gérer le langage (Set_LanguageCode et Get_LanguageCode
Déplacement déclarations domaine lexical par langage dans un source include A5TCLEX
A5TMCHKCODETRAIT
Ajout contrôle champ LanguageCode
Ajout fonctions de nommage source et objet diva générés en fonction du langage
Compute_MCODETRAIT_Field_NomSource et Compute_MCODETRAIT_Field_NomObjet
GTPMETICODETRAIT
Fonctions à invoquer dans le programme d’impression d'étiquettes
...
Fonction
...
Description
...
Paramètres
...
Fonction
...
Description
...
Paramètres
...
Executer_Traitement
...
Execute le code traitement
...
CODETRAITCOD : code traitement à executer
LANGUAGECODE : langage traitement (connecteur étiquette par défaut)
...
ETI_Connecteur_Preparation
...
Prépare un export d'étiquette selon le
contexte d’impression posé par l’appelant.
Initialise 'enregistrement de travail du connecteur étiquette LCT_ETICONNECTEUR
ImpFamCod : Code famille impression
MIMPETAT : instance paramètre état par famille chargé en retour
...
ETI_Connecteur_AjoutEtiquette
...
Ajoute un élément étiquette dans la liste LCT_EtiConnecteur.ListeEtiquette
...
ETI_ENREG : Instance enregistrement qui dépend du programme d’impression
...
ETI_Fin_Edition
...
Met en forme un compte-rendu de génération étiquettes
...
MIMPETAT : instance paramètre état par famille
RECAP_ETIQNB : compteur nombre d'étiquettes générées fourni par le programme d’impression
Etiquette article
...
Etiquette article
La première application externe cible est NiceLabel
...
Le deuxième modèle d’étiquette implémenté est l'étiquette article.
...
Pour activer l’export étiquette lors de l’impression, il faut créer une entrée dans la table des paramètres états par famille:
...
Voir le chapitre dédié à l'étiquette de réservation (plus haut) pour des explications détaillées sur le paramétrage.
Etiquette contenant WMS
...
La première application externe cible est NiceLabel.
...
Le troisième modèle d’étiquette implémenté est l'étiquette de contenant WMS.
...
Par défaut et en l’absence de paramétrage connecteur étiquette , on utilise toujours l’impression Divalto classique définie dans un masque d’impression.Exemple impression
Export étiquette WMS contenant
...