4D v16.3

QR ETAT

Accueil

 
4D v16.3
QR ETAT

QR ETAT 


 

QR ETAT ( {laTable ;} nomFichier {; hiérarchique {; assistant {; recherche {; nomMéthode {; *}}}} ) 
Paramètre Type   Description
laTable  Table in Table à utiliser ou Table par défaut si ce paramètre est omis
nomFichier  Chaîne in Document d'état rapide à charger
hiérarchique  Booléen in (versions 32 bits uniquement) Vrai = Afficher les tables N liées Faux ou omis = Ne pas les afficher
assistant  Booléen in (versions 32 bits uniquement) Vrai = Afficher le bouton de l’assistant Faux ou omis = Ne pas l’afficher
recherche  Booléen in (versions 32 bits uniquement) Vrai = Afficher les outils de recherche et la table principale; Faux ou omis = Ne pas les afficher
nomMéthode  Chaîne in (versions 32 bits uniquement) Nom de la méthode à appeler
Opérateur in Suppression des boîtes de dialogue d'impression

La commande QR ETAT imprime un état pour laTable, à l'aide de l'Editeur d'états rapides de 4D. Cet éditeur permet à l'utilisateur de construire en totalité son propre état. Pour plus d'informations sur la création d'états à l'aide de l'Editeur d'états rapides, reportez-vous à la section Etats rapides ou Etats rapides (64 bits) dans le manuel Mode Développement de 4D.

Notes

  • L'éditeur n'apparaît pas si la laTable a été déclarée “Invisible”.
  • Lorsque l'éditeur est appelé via la commande QR ETAT, les liens entre les tables conservent leur statut manuel, le cas échéant. Ce principe permet au développeur de gérer lui-même ce statut à l'aide des commandes FIXER LIENS AUTOMATIQUES et FIXER LIEN CHAMP. En version 32 bits, l'option Tous les liens en automatique, permettant de modifier le statut automatique/manuel des liens, est masquée.
  • L'éditeur est appelé dans une fenêtre externe, il n'est pas possible d'utiliser la commande QR APPELER SUR COMMANDE dans ce contexte. Vous pouvez cependant utiliser le paramètre nomMéthode afin d'exécuter du code personnalisé lorsqu'une commande d'interface est activée (cf. ci-dessous).
Le paramètre nomFichier désigne un modèle d'état créé dans l'éditeur d'états rapides et sauvegardé sur disque. Le document stocke les paramètres de l'état, pas les enregistrements. Si une chaîne vide ("") est passée dans nomFichier, QR ETAT affiche une boîte de dialogue d'ouverture de fichiers, dans laquelle l'utilisateur peut choisir un modèle d'état à imprimer.
Si le paramètre nomFichier spécifie un document qui n'existe pas (si vous passez, par exemple, Caractere(1) dans nomFichier), l'éditeur d'états rapides s'affiche.

Versions 32 bits uniquement :

  • Le paramètre hiérarchique indique si les tables liées N doivent être ou non affichées dans la liste de sélection de champs. Par défaut, sa valeur est 0 (les tables N ne sont pas affichées).
  • Le paramètre assistant permet d’indiquer si le bouton Ouvrir l'assistant doit apparaître ou non dans la fenêtre de l’éditeur d’états rapides. Passez Vrai pour afficher le bouton et Faux pour le masquer. Par défaut (si ce paramètre est omis), le bouton n'est pas affiché.
  • Le paramètre recherche permet d’indiquer si le bouton Nouvelle recherche doit apparaître ou non dans la fenêtre de l’éditeur d’états rapides. Passez Vrai pour afficher le bouton et Faux pour le masquer. Par défaut (si ce paramètre est omis), le bouton n'est pas affiché.
  • Le paramètre nomMéthode permet de désigner une méthode projet 4D qui sera exécutée à chaque fois qu'une commande de l’éditeur d’états rapides sera appelée via la sélection d’un menu ou un clic sur un bouton. Utiliser ce paramètre équivaut à utiliser la commande QR APPELER SUR COMMANDE dans le contexte de la fenêtre de l’Editeur d’états rapides (QR APPELER SUR COMMANDE fonctionne uniquement dans le contexte d’une zone incluse). Ce paramètre permet notamment de modifier le jeu de caractères utilisé par l’état rapide.
    La méthode nomMéthode reçoit deux paramètres :
    • $1 contient la référence de la zone (Entier long).
    • $2 contient le numéro de la commande sélectionnée (Entier long). Vous pouvez comparer cette valeur aux constantes du thème [#title id="249"/].

    Note : Si vous souhaitez compiler votre base à l'aide du Compilateur, vous devez déclarer explicitement les paramètres $1 et $2 en entiers longs, même si vous ne les utilisez pas.

    Si vous souhaitez que la commande initiale choisie par l'utilisateur soit exécutée, utilisez l’instruction suivante dans la méthode nomMéthode :


    Si le paramètre nomMéthode est une chaîne vide ("") ou est omis, aucune méthode ne sera appelée et le fonctionnement standard de QR ETAT s’appliquera.

Une fois qu'un fichier d'état est sélectionné, les boîtes de dialogue d'impression s'affichent, sauf si le paramètre * a été spécifié — dans ce cas, elles ne s'affichent pas. L'état est alors imprimé.

Lorsque l'Editeur d'états rapides n'est pas affiché, la variable système OK prend la valeur 1 si un état est imprimé ; sinon elle prend la valeur 0 (zéro) — par exemple si l'utilisateur a cliqué sur Annuler dans les boîtes de dialogue d'impression.

4D Server : Cette commande peut être exécutée sur 4D Server dans le cadre d'une procédure stockée. Dans ce contexte :

  • Veillez à ce qu’aucune boîte de dialogue n’apparaisse sur le poste serveur (sauf besoin spécifique). Pour cela, il est nécessaire d’appeler la commande avec le paramètre *.
  • La syntaxe faisant apparaître l‘éditeur d'états rapide ne fonctionne pas avec 4D Server, dans ce cas la variable système OK prend la valeur 0.
  • En cas de problème sur l’imprimante (plus de papier, imprimante déconnectée, etc.), aucun message d'erreur n'est généré.

L'exemple suivant permet à l'utilisateur d'effectuer une recherche dans la table [Personnes], puis imprime automatiquement l'état "Liste détaillée" :

 CHERCHER([Personnes])
 Si(OK=1)
    QR ETAT([Personnes];"Liste détaillée";Faux;Faux;Faux;*)
 Fin de si

L'exemple suivant permet à l'utilisateur d'effectuer une recherche dans la table [Personnes], puis de sélectionner le document d'état qui sera ensuite utilisé pour l'impression :

 CHERCHER([Personnes])
 Si(OK=1)
    QR ETAT([Personnes];"";Faux;Faux;Faux)
 Fin de si

L'exemple suivant permet à l'utilisateur d'effectuer une recherche dans la table [Personnes], puis affiche l'Editeur d'états rapides afin que l'utilisateur puisse construire, charger, sauvegarder ou imprimer tout état, avec ou sans l'assistant :

 CHERCHER([Personnes])
 Si(OK=1)
    QR ETAT([Personnes];Caractere(1);Faux;Vrai)
 Fin de si

Reportez-vous à l'exemple de la commande FIXER LIEN CHAMP.

Vous souhaitez convertir le jeu de caractères utilisé dans un état rapide appelé via QR ETAT en Mac Roman :

 QR ETAT([MaTable];Caractere(1);Faux;Faux;Faux;"maCallbackMeth")

La méthode maCallbackMeth convertit l’état lorsqu’il est généré :

 C_ENTIER LONG($1;$2)
 Si($2=qr cmd executer//si on a généré un état
    C_BLOB($myblob)
    C_TEXTE($path;$text)
    C_ENTIER LONG($type)
    QR EXECUTER COMMANDE($1;$2//exécution de la commande
    QR LIRE DESTINATION($1;$type;$path//récupération de la destination
    Si(($type=qr fichier HTML)|$type=qr fichier texte))
       DOCUMENT VERS BLOB($path;$myblob)
  //conversion vers un texte en utilisant UTF-8
       $text:=Convertir vers texte($myblob;"UTF-8")
  //utilisation du jeu MacRoman
       CONVERTIR DEPUIS TEXTE($text;"MacRoman";$myblob)
  //Renvoi de l’état converti
       BLOB VERS DOCUMENT($path;$myblob)
    Fin de si
 Sinon //sinon exécution de la commande
    QR EXECUTER COMMANDE($1;$2)
 Fin de si



Voir aussi  

FIXER METHODES AUTORISEES
IMPRIMER ETIQUETTES
IMPRIMER SELECTION

 
PROPRIÉTÉS 

Produit : 4D
Thème : Etats rapides
Numéro : 197
Nom intl. : QR REPORT

Cette commande modifie la variable système OKComportement différent en mode distant

 
HISTORIQUE 

Modifié : 4D 2004
Modifié : 4D v14

 
UTILISATION DE L'ARTICLE

4D - Langage ( 4D v16)
4D - Langage ( 4D v16.1)
4D - Langage ( 4D v16.2)
4D - Langage ( 4D v16.3)