Aller directement à la fin des métadonnées
Aller au début des métadonnées

Vous regardez une version antérieure (v. /wiki/spaces/UDI112/pages/11611799569/G+rer+le+connecteur+tiquettes+V10.12) de cette page.

afficher les différences View Version History

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 4) afficher la version suivante »

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

La solution apporte plus d’autonomie au client pour la conception de l'étiquette.

Divalto intervient alors comme sources de données.

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.

image-20241031-153008.png

Conception de l'étiquette : en autonomie par un outil dédié

On veut donner les moyens au client final de concevoir ses propres modèles d'étiquettes à l’aide d’une application spécialisée.

 

image-20241031-153536.png

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.

 

image-20241031-154024.png

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.

image-20241031-154509.png

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.

Etiquettes de réservation

 

Faire un premier cas d’implémentation du connecteur étiquette.

La première application externe cible est NiceLabel

image-20241031-104954.png

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.

image-20241031-122921.png

 

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.

La première méthode d’export consiste à construire un fichier par étiquette qu’on déposera dans un dossier export étiquette .

 

image-20241031-171000.png

Un récapitulatif confirme que la génération s’est bien passée

 

image-20241031-170945.png

Le contenu du fichier dépend du code traitement exécuté

@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:

image-20241031-130506.png

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/11592728682

  • Dossier - 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 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

image-20241031-131905.png

Détail paramètres

image-20241031-135234.png

 

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

Dans la pratique, on devrait avoir soit un paramètre FTP soit un chemin dépose fichier.

  • Extension fichier
    Extension fichier export étiquette. En général celui attendu par l’application externe.

Exemple : nlbl pour NiceLabel

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

image-20241031-110203.png

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:

image-20241031-141040.png

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

image-20241031-142610.png

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é

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

image-20241031-142148.png

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

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)

(ampoule) 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

Deuxième cas d’implémentation du connecteur étiquette.

La première application externe cible est NiceLabel

image-20241031-104954.png

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 .

 

image-20241031-165327.png

 

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.

On construit un seul fichier pour la sélection d’articles .

Un récapitulatif confirme que la générations des étiquettes s’est bien déroulée

image-20241031-170119.png

Le contenu du fichier dépend du code traitement executé.

@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

 

image-20241031-165654.png

 

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

Troisième cas d’implémentation du connecteur étiquette.

La première application externe cible est NiceLabel

image-20241031-104954.png

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.

On construit un seul fichier pour la sélection de contenants.

Un récapitulatif confirme que la générations des étiquettes s’est bien déroulée.

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. 

image-20241031-172408.png

 

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.

Mais le code modèle imprimante de Divalto peut être insuffisant pour désigner une imprimante locale du client qui peut ne servir qu'à la station d’impression d'étiquettes locale et pas du tout pour des impressions provenant de programmes Divalto.

On créé donc une table de paramétrage pour donner la correspondance entre le modèle imprimante Divalto et l’imprimante windows de la station d’impression locale chez le client final.

Fonctionnement

Indiquer un nom externe pour l’imprimante Divalto, celui qui permettra à l’application externe de la reconnaître. 

image-20241031-173901.png

Le programme d’impression charge le bon modèle d’imprimante et la fonction de préparation de la génération des étiquettes charge automatiquement le nom windows s’il est paramétré, dans les données publiques du connecteur étiquette.

  • Aucune étiquette