DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Fonctions standard / Fonctions d'impression
  • Principe d'impression d'un état
  • Etat avec borne minimale et maximale
  • Exécution d'une requête et état basé sur cette requête
  • Destination de l'impression
  • Passage de paramètres
  • Imprimer un état d'un composant
  • Etats imbriqués
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Imprime un état réalisé avec l'éditeur d'états.
Attention : Selon la source de données de l'état, le code WLangage nécessaire à l'impression de l'état est différent. Pour plus de détails et des exemples, consultez :
Linux Les états sont disponibles au format PDF sous Linux. Pour plus de détails, consultez Imprimer sous Linux.
Avec le logiciel Etats & Requêtes, il est possible d'imprimer un état via une des solutions suivantes :
  • en lançant une impression (icône ).
  • en testant l'état (icône ).
Il n'est donc pas nécessaire de programmer l'impression de l'état.
Pour que l'impression d'états réalisés avec le logiciel Etats & Requêtes soit possible directement à partir d'une application WINDEV, le fournisseur de l'application WINDEV doit prévoir cette fonctionnalité dans son application.
Le fournisseur peut par exemple intégrer une fenêtre permettant à l'utilisateur final de :
  • sélectionner un état réalisé avec le logiciel Etats & Requêtes.
  • lancer l'exécution de cet état.
// Impression simple sur imprimante
iImprimeEtat(ETAT_Facture)
WINDEVEtats et RequêtesCode Utilisateur (MCU)
// Impression dans le visualisateur de rapports (aperçu)
iDestination(iVisualisateur)
iImprimeEtat(ETAT_Facture)
WEBDEV - Code Serveur
// Pas de possibilité d'aperçu en WEB
// Création puis affichage d'un fichier
// =====================================
// Création d'un nom de fichier unique
MonFichierUnique est une chaîne = fRepDonnées() + "\" + DateSys() + HeureSys() + ".pdf"
// Destination de l'état : Impression de l'état dans un fichier PDF
iDestination(iPDFGénérique, MonFichierUnique)
// Impression de l'état basé sur le champ Table "TABLE_TableClient"
iImprimeEtat(ETAT_TableClient)
// Affichage de l'état au format PDF
FichierAffiche(MonFichierUnique, "application/pdf")
// Suppression du fichier
fSupprime(MonFichierUnique)
Syntaxe
<Résultat> = iImprimeEtat(<Etat> [, <Paramètre 1> [... [, <Paramètre N>]]])
<Résultat> : Type du résultat retourné par l'état (optionnel)
Valeur renvoyée par l'état lors de son impression. Cette valeur est renvoyée :
  • soit par le mot-clé RENVOYER présent dans le code de fermeture de l'état.
  • soit par la propriété ValeurRevoyée utilisée avant la fermeture de l'état.
<Etat> : Nom d'état ou chaîne de caractères
Etat à imprimer :
  • Nom de l'état, défini sous l'éditeur d'états.
  • Nom physique de l'état (avec son chemin), si le code compilé est intégré à l'état.
WEBDEV - Code Serveur Ce paramètre peut correspondre uniquement au nom de l'état défini sous l'éditeur d'états. Il n'est pas possible d'utiliser le nom physique de l'état.
<Paramètre 1> : Paramètres optionnels (le type correspond au type du paramètre)
Paramètre optionnel attendu par l'état pour son exécution. Ce paramètre a été défini dans le code d'ouverture de l'état. Ce paramètre peut être par exemple un nom de vue, de zone mémoire, etc.
Attention : Si l'état comprend des bornes (borne minimale et borne maximale), les deux premiers paramètres doivent correspondre respectivement à la borne minimale et à la borne maximale.
<Paramètre N> : Paramètres optionnels (le type correspond au type du paramètre)
Paramètre optionnel attendu par l'état pour son exécution. Ce paramètre a été défini dans le code d'ouverture de l'état. Ce paramètre peut être par exemple un nom de vue, de zone mémoire, etc.
Attention : Si l'état comprend des bornes (borne minimale et borne maximale), les deux premiers paramètres doivent correspondre respectivement à la borne minimale et à la borne maximale.
Remarques

Principe d'impression d'un état

La fonction iImprimeEtat lit la source de données de l'état (fichiers de données, requête, champ Table, ...). Pour chaque enregistrement, la fonction iImprimeEtat imprime le bloc Corps. Les autres blocs sont imprimés uniquement lorsque nécessaire :
  • Au début du document, le bloc Début de document sera imprimé.
  • A la fin du document, le bloc Fin de document sera imprimé.
  • En haut de chaque page, le bloc Haut de page sera imprimé.
  • En bas de chaque page, le bloc de Bas de page sera imprimé.
  • En cas de rupture, le bloc Corps de la rupture sera encadré par les blocs Haut de rupture et Bas de rupture.

Etat avec borne minimale et maximale

Si l'état a été créé sous l'éditeur d'états en spécifiant des bornes minimales et maximales, les deux premiers paramètres passés à l'état grâce à la fonction iImprimeEtat doivent correspondre respectivement à la borne minimale et à la borne maximale.
Exemple : un état sur le fichier Client a été créé. Cet état parcourt le fichier sur la rubrique clé "NumClient". Cet état a été défini comme étant borné, avec fourniture des bornes minimales et maximales (onglet "Données" de la fenêtre de description de l'état.
Le code suivant permet d'imprimer l'état pour les clients 2 à 5 :
iDestination(iVisualisateur)
iImprimeEtat(ETAT_Clients_Prospects, "2", "5")

Exécution d'une requête et état basé sur cette requête

Lors de l'impression d'un état basé sur une requête, si la requête a déjà été exécutée, elle n'est pas ré-exécutée. Pour forcer la ré-exécution de la requête (ajout d'enregistrements par exemple), il suffit d'utiliser les fonctions HExécuteRequête ou iInitRequêteEtat.

Destination de l'impression

Il est possible de choisir la destination de l'impression de l'état grâce à la fonction iDestination.
WINDEV La fonction iDestination utilisée avec la constante iVisualisateur permet d'afficher l'impression dans un visualisateur de rapports. L'utilisateur peut ensuite choisir le mode d'impression (PDF, imprimante, ...). Pour savoir si l'impression a été effectuée depuis le visualisateur de rapports, il suffit d'utiliser la fonction iImpressionDemandée.
WINDEVWEBDEV - Code ServeurUniversal Windows 10 AppAndroidiPhone/iPadCode Utilisateur (MCU)Ajax

Passage de paramètres

Les paramètres indiqués par la fonction iImprimeEtat correspondent aux paramètres définis dans le code d'ouverture de l'état à l'aide de la syntaxe suivante :
PROCEDURE <NomEtat> (<NomParam1>, <NomParam2> = "<ValeurParDéfaut>", ...
<NomParamN> = "<ValeurParDéfaut>")
Rappel : Certains paramètres passés à une procédure peuvent être optionnels. Lors de la déclaration de la procédure, les paramètres optionnels doivent être décrits en dernière position (à droite), avec une valeur par défaut précédée du signe "=". Pour plus de détails, consultez Paramètre d'une procédure.
Si l'état est basé sur une requête, il sera nécessaire d'utiliser la fonction iInitRequêteEtat pour passer les paramètres de la requête avant de lancer l'exécution de l'état.

Imprimer un état d'un composant

Pour imprimer un état d'un composant, il suffit d'utiliser directement le nom de l'état du composant (le composant étant intégré dans le projet). Par exemple :
iImprimeEtat(EtatDuComposant)
En cas de conflit avec un élément du projet, il suffit de préfixer le nom de l'élément par le nom du composant. Par exemple :
iImprimeEtat(MonComposant.Etat)
Pour utiliser le nom de l'état dans une variable, il est nécessaire de préciser le nom du composant. Par exemple :
sEtat est une chaîne = "MonComposant.MonEtat"
iImprimeEtat(sEtat)

Etats imbriqués

Il est possible d'appeler la fonction iImprimeEtat au sein même d'un état. Pour plus de détails, consultez l'aide sur les Etats imbriqués.
Classification Métier / UI : Code neutre
Composante : wd290etat.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Utilisation dans un service Windows en Windev ?
Concernant cette documentation, je ne vois pas d'information pour savoir si on peut utiliser la fonction iImprimeEtat() pour imprimer un état sur une imprimante, dans un service Windows développé en Windev ?

Merci d'avance pour vos plus amples informations sur l'impression et les services.
Damien 10
19 fév. 2020

Dernière modification : 20/12/2023

Signaler une erreur ou faire une suggestion | Aide en ligne locale