PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 2024 → Edition d'étiquette
Edition d'étiquette
Started by bm, Apr., 03 2006 4:22 PM - 7 replies
Posted on April, 03 2006 - 4:22 PM
Je dois imprimer des étiques échantillons :

sur la première je dois mettre le type de vin l'acheteur le prix et le
millésime
sur le seconde une minifiche technique

j'imprime sur des étiquettes lidting avec 1 seule étiquette de front

je ne sais pas comment faire en automatique ?


--
Meilleures salutations

Brigitte Moinot - Viti's
Posted on April, 03 2006 - 5:03 PM
Dans un message Viti's - Brigitte Moinot disait :

avec WDETAT :
définir ( en trichant ;-)) ) une étiquette personnalisée qui fait la taille
de vos 2 étiquettes ...

HTH
--
Michel HERRSCHER CONSULTANT
Président WINDASSO - Association des utilisateurs WxxDEV(c)
Tel : +33450870912 Fax:+33450871741
http://www.windasso.org


Je dois imprimer des étiques échantillons :

sur la première je dois mettre le type de vin l'acheteur le prix et le
millésime
sur le seconde une minifiche technique

j'imprime sur des étiquettes lidting avec 1 seule étiquette de front

je ne sais pas comment faire en automatique ?
Posted on April, 03 2006 - 5:09 PM
Bonjour,
J'ai eut un problème similaire, mais dans mon cas je voulais faire du recto/verso : dans le même état j'imprime d'un côté certaines informations, et de l'autre d'autre infos.
La seule méthode que j'ai trouvé est de doubler les lignes dans mon champ table source, de regarder le numéro de page, et suivant s'il est paire/impaire de masquer/afficher des groupes de champs.
Dans ton cas ( si ton état est basé sur une table ):
1. Tu doubles toutes les lignes.
2. Tu ajoutes un booleen, qui vaut vrai pour les lignes paire, et faux pour les lignes impaires.
3. Dans le code d'impression de l'étiquette, tu gère la propriété ..visible des champs en fonction de la valeur du booleen ( lié à un champs invisible dans l'étiquette ).

Frédéric.
Posted on April, 03 2006 - 5:32 PM
J'ai une petite routine en WD langage que je te propose en version simplifiée:
Les nombres ci-dessous sont en principe à mémoriser dans un fichier "Paramètres d'étiquettes" afin que l'utilisateur puisse les modifier.
Les nbres sont des réels sauf les nombres d'étiquettes (entiers)
Nb1=NbreEtiqLargeur // Ici 1
Nb2=NbreEtiqHauteur // Si rouleau, indiquer le nbre total
Nb3=LargeurEtiq // Par ex. 7.8 (mm)
Nb4=HauteurEtiq // Par ex. 5.5 (mm)
Nb5=RetraitSupérieur // Distance entre bord feuille et étiquette 1 Par ex. 5.2 (mm)
Nb6=RetraitGauche // Idem à gauche
Nb7=EcartHorizontal // Ecartement horizontal entre 2 étiquettes
Nb8=EcartVertical // Idem verticalement

PosV=Nb5;PosVInit=PosV
PosH=Nb6;PosHInit=PosH
CptV=0;CptH=0
iCréePolice(1,10,iNormal,"Times New Roman")
HLitPremier(NomFichier,Clé)
TANTQUE PAS HEnDehors()
--Txt=iPosY(PosV)+iPosX(PosH)+iPolice(1)+NomFichier.TypeVin;iImprime(Txt)
--Txt=iPosX(PosH)+iPolice(1)+NomFichier.Acheteur;iImprime(Txt)
--...
--CptH++ // On passe à l'étiquette placée à côté
--SI CptH=Nb1 ALORS // Dernière colonne atteinte
----CptH=0 // On se remet en 1ère colonne
----CptV++ // On passe à la ligne suivante
----SI CptV=Nb2 ALORS // Dernière ligne atteinte
------iSautePage() // Page suivante
------CptV=0 // On se remet en 1ère ligne
----FIN
--FIN
--PosH=PosHInit+((Nb3+Nb7)*CptH) // Calcul position h.
--PosV=PosVInit+((Nb4+Nb8)*CptV) // Calcul position v.
--HLitSuivant(NomFichier,Clé)
FIN
Posted on April, 03 2006 - 6:11 PM
Bonjour,

Voici ce que je ferais:

Vous n'avez peut-être pas besoin d'un état !
Je lis en boucle l'information
Imprimer la 1ere étiquette
Envoyer un saut de page
Imprimer le 2nd etiquette
fin

Bon dev,

PEGOS
Posted on April, 03 2006 - 6:11 PM
Re bonjour,

J'ai lancé trop vite.

avec un état, utilisez la fonction iTerminePage() pour passer à la suivante sur le meme enregistrement.

PEGOS
Posted on April, 03 2006 - 6:12 PM
Merci je vais essayer

--
Meilleures salutations

Brigitte Moinot - Viti's
Posted on April, 03 2006 - 6:12 PM
merci je vais essayer vos méthodes

--
Meilleures salutations

Brigitte Moinot - Viti's