PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • 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
  • RPC et contexte HFSQL Indépendant
  • Etats imbriqués
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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 :
Versions 15 et supérieures
Linux Les états sont disponibles au format PDF sous Linux. Pour plus de détails, consultez Imprimer sous Linux.
Nouveauté 15
Linux Les états sont disponibles au format PDF sous Linux. Pour plus de détails, consultez Imprimer sous Linux.
Linux Les états sont disponibles au format PDF sous Linux. Pour plus de détails, consultez Imprimer sous Linux.
Versions 18 et supérieures
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Nouveauté 18
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
WINDEV MobileiPhone/iPad Cette fonction est désormais disponible pour les applications iPhone/iPad.
Versions 21 et supérieures
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
Nouveauté 21
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
WINDEVWINDEV MobileUniversal Windows 10 App Cette fonction est désormais disponible en mode Universal Windows 10 App.
ImportantAvec le logiciel Etats & Requêtes, il est possible d'imprimer un état :
  • soit en lançant une impression (icône ).
  • soit 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.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
// Impression simple sur imprimante
iImprimeEtat(ETAT_Facture)
WINDEVEtats et RequêtesCode Utilisateur (MCU)
// Impression avec aperçu avant impression
iAperçu(i100)
iImprimeEtat(ETAT_Facture)
WEBDEV - Code Serveur
// 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(iPDF, MonFichierUnique)
// Impression de l'état basé sur la 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(<Nom de l'état> [, <Paramètre 1> [, <Paramètre 2> [, ...]]])
<Résultat> : Type du résultat retourné par l'état (optionnel)
Versions 20 et supérieures
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.
Nouveauté 20
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.
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.
<Nom de l'état> : Chaîne de caractères (avec ou sans guillemets)
  • Nom logique 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 logique 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 2> : 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.

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 aux fonctions iAperçu et iDestination.
WINDEV La fonction iAperçu permet de réaliser un aperçu avant impression. Pour savoir si l'impression a été effectuée depuis l'aperçu, il suffit d'utiliser la fonction iImpressionDemandée.
WINDEVWEBDEV - Code ServeurWINDEV MobileiPhone/iPadWindows MobileUniversal Windows 10 AppAjaxCode Utilisateur (MCU)

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)
WINDEVWINDEV MobileEtats et RequêtesWindows MobileCode Utilisateur (MCU)

RPC et contexte HFSQL Indépendant

L'accès à un fichier de données HFSQL en RPC n'est pas autorisé depuis un état avec un contexte indépendant.
Il est nécessaire de désactiver l'option "Contexte HyperFileSQL Indépendant" .
Pour désactiver cette option dans un état, dans l'onglet "Données" de la description de l'état, décochez l'option "L'exécution de l'état n'affecte pas les parcours (Contexte HyperFileSQL indépendant)".
Il est nécessaire de désactiver l'option "Contexte HFSQL Indépendant" .
Pour désactiver cette option dans un état, dans l'onglet "Données" de la description de l'état, décochez l'option "L'exécution de l'état n'affecte pas les parcours (Contexte HFSQL indépendant)".
Dans une application utilisant l'accès distant, si des contextes indépendants doivent être utilisés, il est nécessaire de les programmer avec les fonctions HSauvePosition et HRetourPosition.
Remarque : Il n'est pas possible de copier les contextes en RPC. Il faut utiliser la fonction HOuvreAnalyse ou HConnecteAccèsDistant dans le nouveau contexte pour accéder au RPC.

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.
Composantes
WINDEVWEBDEV - Code ServeurEtats et Requêtes wd220etat.dll
Windows Mobile wp220etat.dll
Linux wd220etat.so
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
bornage
un petit exemple de bornage serait le bienvenu
MARC CHERNET
13 oct. 2017