Vous êtes sur le site Web historique de la documentation de 4D. Les documentations sont progressivement déplacées vers developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
QR REPORT
|
QR REPORT ( {laTable ;} nomFichier {; nomMéthode}{; *} ) | ||||||||
Paramètre | Type | Description | ||||||
laTable | Table |
![]() |
Table à utiliser ou Table par défaut si ce paramètre est omis | |||||
nomFichier | Chaîne |
![]() |
Document d'état rapide à charger | |||||
nomMéthode | Chaîne |
![]() |
Nom de la méthode à appeler | |||||
* | Opérateur |
![]() |
Suppression des boîtes de dialogue d'impression | |||||
La commande QR REPORT 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 dans le manuel Mode Développement de 4D.
Notes :
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 REPORT 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, Char(1) dans nomFichier), l'éditeur d'états rapides s'affiche.
Le paramètre nomMéthode désigne une méthode projet 4D qui sera exécutée chaque fois qu'une commande de gestion de documents de l'éditeur d'états rapides sera appelée via un clic sur un bouton. L'utilisation de ce paramètre équivaut à l'utilisation de QR ON COMMAND dans la fenêtre de l'éditeur d'états rapides (QR ON COMMAND fonctionne uniquement pour une une zone intégrée). Par exemple, vous pouvez utiliser ce paramètre pour modifier le jeu de caratètres utilisé par l'état rapide. La méthode nomMéthode reçoit deux paramètres :
Paramètre | Type | Description | |||||||||||||||||||||
$1 | Entier long | Référence de la zone | |||||||||||||||||||||
$2 | Entier long | Numéro de la commande sélectionnée. À comparer avec les constantes suivantes du thème QR Commandes (seuls les événements listés sont pris en charge) :
|
Note : Si vous souhaitez compiler votre base de données, vous devez déclarer explicitement les paramètres $1 et $2 comme entiers longs, même si vous ne les utilisez pas.
Si vous souhaitez exécuter la commande initiale choisie par l'utilisateur, saisissez l'instruction suivante dans la méthode nomMéthode :
QR EXECUTE COMMAND($1;$2)
Si le paramètre nomMéthode est une chaîne vide ("") ou est omis, aucune méthode n'est appelée et l'opération standard de QR REPORT est appliquée.
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 :
L'exemple suivant permet à l'utilisateur d'effectuer une recherche dans la table [Personnes], puis imprime automatiquement l'état "Liste détaillée" :
QUERY([Personnes])
If(OK=1)
QR REPORT([Personnes];"Liste détaillée";*)
End if
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 :
QUERY([Personnes])
If(OK=1)
QR REPORT([Personnes];"")
End if
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 :
QUERY([Personnes])
If(OK=1)
QR REPORT([Personnes];Char(1))
End if
Reportez-vous à l'exemple de la commande SET FIELD RELATION.
Vous souhaitez convertir le jeu de caractères utilisé dans un état rapide appelé via QR REPORT en Mac Roman :
QR REPORT([MaTable];Char(1);"maCallbackMeth")
La méthode maCallbackMeth convertit l’état lorsqu’il est généré :
C_LONGINT($1;$2)
If($2=qr cmd generate) //si on a généré un état
C_BLOB($myblob)
C_TEXT($path;$text)
C_LONGINT($type)
QR EXECUTE COMMAND($1;$2) //exécution de la commande
QR GET DESTINATION($1;$type;$path) //récupération de la destination
If(($type=qr HTML file)|$type=qr text file))
DOCUMENT TO BLOB($path;$myblob)
//conversion vers un texte en utilisant UTF-8
$text:=Convert to text($myblob;"UTF-8")
//utilisation du jeu MacRoman
CONVERT FROM TEXT($text;"MacRoman";$myblob)
//Renvoi de l’état converti
BLOB TO DOCUMENT($path;$myblob)
End if
Else //sinon exécution de la commande
QR EXECUTE COMMAND($1;$2)
End if
Produit : 4D
Thème : Etats rapides
Numéro :
197
Modifié : 4D 2004
Modifié : 4D v14
4D - Langage ( 4D v20 R7)