Processo di stampa

From SageDev KB
Jump to navigation Jump to search


Azioni (programma della singola stampa) Entry point AIMP3 (per tutte le stampe)
Entry point IMPRIME
qui si può anche impostare la variabile FICHIER (nome file dove salvare la stampa)
azione FICHIER
per impostare variabile FICHIER; chiamata se destinazione è 4 o 7
Entry point PARAM
per impostare/modificare i parametri
azione EXEC
richiamata immediatamente dopo PARAM, dopo l'inserimento dei parametri; permette di forzare il valore di alcuni parametri.
SubProg IMPRIME(NBPAR, PARAMETRE)
non è un'azione ma un sottoprogramma
istruzione adonix report
è l'istruzione nativa che esegue la stampa con Crystal Report
azione AP_IMPRIME
senza contesto, stampa già eseguita, uniche cose a disposizione NBPAR e PARAMETRE
Entry point REPORT
per eseguire altri programmi


altre azioni
azione MESSAGGERIE
solo per mail dest=3, per definire destinatari
FILPAT
forse per allegati da stampare


per recuperare il valore di un parametro

Call GETPARAM("addr",NBPAR,PARAMETRE,INDIRIZZO) From ETAT

Per impostare un parametro

Call SETPARAM("addr",NBPAR,PARAMETRE,INDIRIZZO) From ETAT

NBPAR è il numero di parametri inseriti nel vettore Char PARAMETRE()()

Nomi parametri

  • Cominciano con un doppio underscore i parametri con destinazione X3, che non sono trasmessi alla stampa (o perlomeno non tali e quali)
  • Cominciano con un singolo underscore i parametri a destinazione di Crystal Reports, che non sono trasmessi alla stampa. I valori di questi parametri sono obbligatoriamente prefissati da chr$(1).
  • Cominciano con X3 i parametri di contesto trasmessi alla stampa ed inizializzati automaticamente dal supervisore.
  • parametri definiti nel dizionario delle stampe (GESARP). Se un parametro finisce con "deb" o "str", viene automaticamente aggiunto un altro parametro con stessa radice che finisce con "fin" o "end".

Il nome del server di stampa non è un parametro. È definito nella variabile locale SERVEUR (char(30)).


  • numero copie da stampare: "_PrinterCopies"
  • nome file rpt: "__REPORT"
  • Codice della stampa (GESARP): "X3ETA"
  • Nome del file esportato: "_ExportFile"
  • Nome della stampante: "_PrinterName"
  • Tipo destinazione: "__DESTINATION", valori 0=anteprima, 1=stampante, 2=email, 3=file


Modificare numero copie da stampare[edit]

In azione EXEC:

  • numero copie:[M]NBRCPY=3
  • questa soluzione non va, il parametro che comanda è quello della maschera [M]:
Local Integer TROVATO
TROVATO=0
  For I = 1 To NBPAR
        If left$(PARAMETRE(I),15)="_PrinterCopies="
           TROVATO=1
           PARAMETRE(I) = "_PrinterCopies="+chr$(1)+"3"
        Endif
  Next I
  If TROVATO=0
    NBPAR+=1
    PARAMETRE(NBPAR) = "_PrinterCopies="+chr$(1)+"3"
  Endif

Attenzione che in caso di uso della tabella di supporto potrebbe falsare la numerazione delle pagine. Nel caso si può creare un gruppo in stampa su NUMLIG e impostare "Ricomincia numerazione dopo" Se invece i dati sono passati solo come parametro non dovrebbero esserci problemi.