Principes et finalité
Sommaire | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Principes et finalité
La finalité est de rediriger des impressions d'étiquettes classiques vers une impression déléguée à une application externe dédiée.
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.
...
Ce connecteur étiquette couvre les fonctionnalités proposées par les modèles d’imprimantes contextuels de WMS et par la solution Stradivalto.
Finalité : impression d’une étiquette
Il s’agit d’imprimer une étiquette sur une imprimante à proximité de l’utilisateur qui est chez le client final.
...
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.
...
Génération de l'étiquette : à partir d’un contexte utilisateur Divalto
Il s’agit toujours d’une impression générée par un utilisateur Divalto. La redirection vers l’imprimante doit pouvoir également respecter les choix de paramétrage Divalto. Il faut donc que le paramétrage tienne compte de ce contexte d’impression.
...
Génération de l'étiquette : avec un contenu issu de Divalto
La source des données contenues dans l'étiquette reste Divalto.
Ces données exportables dépendent principalement du programme d’impression et plus généralement de la famille d’impression.
...
Application externe
L’application externe permet de concevoir facilement un design d'étiquette personnalisé (modèle étiquette).
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.
Impression étiquette réservation
Par défaut et en l’absence de paramétrage connecteur étiquette, c’est toujours l’impression Divalto classique définie dans un masque d’impression qui est utilisée.
...
Export étiquette réservation
Pour, en lieu et place de l’impression, exporter le contenu de l'étiquette à destination d’une application externe, il faut mettre en place le paramétrage du connecteur étiquette.
...
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é
Bloc de code |
---|
@LABEL @PRINTER @NBEX,REF SREF1 SREF2 DESIGNATION SREF1_LIB SREF2_LIB NUMERO_LOT NUMERO_COLIS LOTFOURNISSEUR QUANTITE AFFAIRE UNITE_TRAVAIL ETIQ_GTPPSLR200 STD 1 X1000026 Portes Macrolon 1250x60x9 1,000 PJ000016 UNIT |
Application externe
L’application externe doit permettre de concevoir facilement un design d'étiquette personnalisé (modèle étiquette).
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.
Paramétrage état par famille
Pour activer l’export étiquette lors de l’impression, il faut créer une entrée par famille, dans la table des paramètres états.
Au minimum, définir un contexte d’impression et l'état d’impression cible:
...
Contexte d’impression
Famille d’impression
Est associée au programme d’impression Divalto, et va définir quelles sont les données disponibles pour injecter dans le contenu de l'étiquette.
/wiki/spaces/RDI/pages/11592728682Dossier - Etablissement - Dépôt
Définit la localisation de l’impression afin de pouvoir différencier le format d'étiquette selon le lieu d’impression dans l’entreprise.Utilisateur
Définit l’utilisateur Divalto à l’origine de l’impression afin de pouvoir différencier le format d'étiquette selon le collaborateur dans l’entreprise.
Etat d’impression
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 choix de la présentation se fait par l’appel du programme de gestion des présentations d’impression
...
Détail paramètres
...
Type de sortie
Le choix est actuellement limité à Export fichier ou Impression.Chemin dépose fichier
Chemin windows définissant le dossier dans lequel sera déposé le fichier étiquette.Paramètre FTP
Permet d’indiquer un emplacement de destination sur un serveur distant pour lequel on dispose d’un compte FTP.
...
Code format étiquette
Identifiant modèle étiquette attendu par l’application externe. Permet à l’application externe de retrouver son modèle d’impression à appliquer.Code traitement
Identifiant code traitement qui sera exécuté pour construire le fichier export étiquette.
/wiki/spaces/RDI/pages/11592728940
Paramétrage dossier
Pour activer l’enchainement à l’impression lors de la saisie réception fournisseur.
...
Familles d’impression
Le paramétrage du connecteur étiquette s’appuie sur la notion de famille impression déjà utilisée pour paramétrer des redirections d’imprimantes.
La famille d’impression sert à définir un environnement de données publiques utilisables pour définir un contenu d'étiquette.
Familles Impression étiquettes
Dans l’ERP sont prédéfinies plusieurs familles destinées aux impressions d'étiquettes:
...
Données disponibles par famille impression
Famille impression | Programme impression | Données publiques |
---|---|---|
ETIQ_FOU | GTPPSLR200 Impression étiquettes réservation | GTSLR200I1 |
Codes traitement
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.
Impression étiquette article
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 .
...
Export étiquette article
Pour , en lieu et place de l’impression , exporter le contenu de l'étiquette, à destination d’une application externe, il faut mettre en place le paramétrage du connecteur étiquette.
...
Bloc de code |
---|
@LABEL @PRINTER @NBEX REF INDICE SREF1 SREF2 DESIGNATION UNITE_VENTE DEVISE PRIX_UNITAIRE PRIX_PAR PROMOTION ETIQ_GTPP020 MonImprimanteWindows 1 X1000025 Chassis mécano-soudé remplisseus 3210330017585 EUR 0,0000 0,000 1 |
Paramétrage état par famille
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.
Impression étiquette WMS contenant
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
Pour, en lieu et place de l’impression, exporter le contenu de l'étiquette, à destination d’une application externe, il faut mettre en place le paramétrage du connecteur étiquette.
...
Le contenu du fichier dépend du code traitement exécuté.
Paramétrage état par famille
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 pour des explications détaillées sur le paramétrage.
Noms imprimantes
Il est nécessaire de transmettre à l’application externe l’identifiant de l’imprimante de destination.
...