|
PROFESSIONAL NEWSGROUPS WINDEV, WEBDEV and WINDEV Mobile |
| | | | | |
Impression d'une sélection de factures |
Started by Calimero, May, 19 2023 1:13 AM - 4 replies |
| |
| | | |
|
| |
Registered member 84 messages |
|
Posted on May, 19 2023 - 1:13 AM |
Bonjour,
Je suis nouveau sur Windev et il faut bien dire que je patauge...beaucoup
Voilà mon souci. J'ai une table commande et une table détails des commandes reliées par le n° de commande.
Dans une fenêtre, j'ai ainsi un champ table "commandes" et un champ tables "détails des commandes".
J'arrive à imprimer un bon de préparation ou un bon de commande ( Etat ) à partir d'une requête mais je voudrais pouvoir en imprimer plusieurs à la fois.
Exemple :
Je veux imprimer tous les bons de préparation pour l'équipe logistique pour la journée de demain en filtrant le statut des commandes "A expédier" ou aussi des commandes urgentes ou de dernière minute à faire expédier le jour même par exemple, donc par sélection de lignes.
Pour l'instant, j'imprime 1 par 1 et c'est plutôt rébarbatif et une grosse perte de temps.
Je suppose qu'il faut lire le champ "commandes" et choisir de repérer les lignes sélectionnées pour imprimer les bons de préparation correspondants mais après des heures de tentatives, je n'y arrive pas. Au mieux, ça m'imprime toujours un seul état " bon de préparation".
A votre bon coeur messieurs dames pour me donner la solution
( Je suis sur Windev 25 )Message modified, May, 19 2023 - 1:14 AM |
| |
| |
| | | |
|
| | |
| |
Registered member 2 messages |
|
Posted on June, 06 2023 - 8:08 AM |
Hello, Identifiez les critères de sélection : Déterminez les critères spécifiques pour filtrer les commandes que vous souhaitez imprimer, tels que le statut de la commande, l'équipe logistique, l'urgence, etc.
Construisez une requête : Utilisez un langage de requête (par exemple, SQL) pour récupérer les commandes correspondant à vos critères de sélection. Cette requête peut être basée sur les champs de votre table "commandes".
Itérez sur les résultats de la requête : Parcourez les résultats de la requête pour chaque commande correspondante.
Imprimez les bons de préparation : Pour chaque commande, générez et imprimez le bon de préparation correspondant. Vous pouvez utiliser une fonction ou une bibliothèque appropriée pour générer les états (bons de préparation).
Répétez le processus pour toutes les commandes sélectionnées : Continuez à itérer sur les résultats de la requête jusqu'à ce que toutes les commandes correspondantes aient été traitées et que les bons de préparation aient été imprimés. |
| |
| |
| | | |
|
| | |
| |
Registered member 84 messages |
|
Posted on June, 21 2023 - 1:28 AM |
Bonjour Morgane,
Je n'avais pas vu votre message. Le problème est que même en notant que je suis le sujet, je ne reçois pas de notifications. Bizarre. Vu que je n'avais pas eu de réponse, j'ai pris plusieurs parties de tutos que j'ai trouvé sur internet, j'ai mélangé le tout et j'ai enfin réussi.
Mais merci pour la réponse. |
| |
| |
| | | |
|
| | |
| |
Registered member 1 message |
|
Posted on September, 08 2023 - 6:45 AM |
Sélection des Lignes : Dans votre champ table "commandes", assurez-vous que les lignes peuvent être sélectionnées (multisélection). Boucle de Lecture : Lisez les lignes sélectionnées dans le champ table. Impression : Pour chaque ligne sélectionnée, utilisez la commande d'impression en passant les informations nécessaires à votre état (probablement le numéro de commande). https://www.telltims.net |
| |
| |
| | | |
|
| | |
| |
Registered member 3 messages |
|
Posted on October, 30 2024 - 6:20 AM |
Pour imprimer plusieurs bons de préparation d’un coup dans Windev, vous pouvez utiliser les lignes sélectionnées dans votre champ table "commandes" pour générer les états correspondants, puis les imprimer en une seule fois. Voici comment vous pourriez structurer cette logique :
Sélectionner les lignes souhaitées : Assurez-vous que votre champ table "commandes" permet la sélection multiple. Vous pouvez paramétrer cette option dans les propriétés du champ table.
Parcourir les lignes sélectionnées : Utilisez une boucle pour parcourir chaque ligne sélectionnée. Cela vous permettra de générer un état pour chaque commande sélectionnée.
Générer et imprimer les états en série : Utilisez une fonction qui va ajouter chaque état de "bon de préparation" dans une file d’attente d’impression, puis imprimez-les en une seule fois. https://www-choiceadvantage.com
Voici un exemple de code pour vous guider :
windev // Récupérer les lignes sélectionnées dans le champ table "commandes" POUR TOUTE LIGNE Sélectionnée DE Table_Commandes // Récupérer le n° de commande pour cette ligne nCommande est un entier = Table_Commandes.N°Commande // Créer l’état du bon de préparation pour la commande en cours si iImprimeEtat("ETAT_BonPreparation", nCommande) ALORS // Ajouter l’état dans la file d’attente d’impression iAjouteEtat("ETAT_BonPreparation") FIN FIN
// Imprimer tous les états en attente iLanceImpression() Explications des étapes : Boucle de sélection multiple : La boucle POUR TOUTE LIGNE Sélectionnée DE Table_Commandes permet de récupérer chaque ligne sélectionnée de votre table "commandes".
Création de l’état pour chaque commande : La fonction iImprimeEtat génère l’état "bon de préparation" pour chaque commande sélectionnée, en passant en paramètre le numéro de commande.
Ajout des états à imprimer en une fois : iAjouteEtat empile chaque état dans une file d’attente d’impression. Cette fonction évite d'imprimer un état un par un.
Lancement de l’impression : Enfin, iLanceImpression envoie tous les états empilés en une fois à l'imprimante, économisant ainsi du temps.
Autres astuces Vous pouvez adapter ce code pour filtrer les commandes selon des critères spécifiques (par exemple "à expédier", "urgent") en ajoutant des conditions dans la boucle. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|