IMPRIME

Description

Cette action est appelée juste avant l'impression du document par Crytal Report.Attention ! Cette action est obligatoire, si un traitement d'init est précisé dans ledictionnaire de l'état. Elle n'est pas appelée par l'instruction Gosub mais parl'instruction Call. Deux paramètres lui sont passés NBPAR (nombre de paramètres) etPARAMETRE ( tableau des paramètres). L'action doit donc s'écrire de la façon suivante :

Subprog IMPRIME(NBPAR,PARAMETRE)
Variable Integer NBPAR
Variable Char PARAMETRE()()
...
End

Modèle

Etat

Utilisation

Elle permet principalement de :

   mettre à jour des tables X3 ( des flag d'impression, par exemple ).

   constituer une table de travail afin que les données soient plus facilement exploitablespar Crystal Report.

   ne pas lancer l'impression en positionnant GOK = 0

A ce niveau, on peut exploiter les paramètres de l'état stockés dans le tableau PARAMETRE(1..NBPAR) ou NBPAR est le nombre de paramètres. Un paramètre est exprimé dansce tableau sous la forme : nom paramètre = valeur paramètre. voir ledétail des paramètres dans l'aide sur l'action EXEC.

Exemple

On analyse les paramètres saisis pour appliquer un filtre de sélection sur la tableà éditer. Ceci est nécessaire pour qu'avant l'impression, on stocke les enregistrementsdans une table de travail.

Subprog EXEC(NBPAR,PARAMETRE)
Variable Integer NBPAR
Variable Char PARAMETRE()()

[L]CRITERE = "1=1"
For I=1 To NBPAR
     J=instr(1,[L]PARAMETRE(I),"=")
     If J
        [L]PARAM = left$([L]PARAMETRE(I),J-1)
        [L]VALEUR = right$([L]PARAMETRE(I),J+1)
        Case [L]PARAM
            When"sitedeb" : [L]CRITERE -= "& SALFCY>='"+[L]VALEUR+"'"
            When"sitefin" : [L]CRITERE -= "& SALFCY<='"+[L]VALEUR+"'"
        Endcase
     Endif
Next
Filter [F:SIV] Where evalue([L]CRITERE)
Gosub TRT_SIV: # stockage dans table de travail