Stampe
Menu sulle stampe[edit]
Dal menu Parametrizzazioni → Destinazioni → Codici stampe (GESARX): associazione Codice interno - codice stampa
Dal menu Parametrizzazioni → Destinazioni → Destinazioni (GESAIM): sono presenti ANTEPRIMA, MAIL, XPDF, ZPLTEST
Dal menu Sviluppo → Dizionario programmi → Stampe (GESARP): è il dizionario delle stampe, dove si imposta l'associazione dei codici stampa con il report di Crystal Report presente nella cartella REPORT, l'eventuale programma, la destinazione di default, ecc. Esempio di codici stampa presenti: ADOC, ALISTE, Y_XSBONFACCG. Nella scheda Parametri si possono impostare i valori predefiniti, che sono poi eventualmente sovrascritti da quelli definiti in GESARV.
Dal menu Parametrizzazioni → Destinazioni → Valori di default (GESARV): per definire i valori di default di una coppia stampa/funzione;
sono i dati recuperati dalla chiamata Call IMPRIME(GYYWPPRT,"SAIWRKPLN") From ETAT
(Sorgenti AIMP1, AIMP3, IMPRIME)
Funzioni da programma[edit]
Per informazioni sulle varie azioni della stampa vai a Processo di stampa.
Descrizione chiamata IMPRIME from ETAT[edit]
Questa chiamata, dopo opportuno recupero di informazioni, chiama la IMPRIME From AIMP3
Call IMPRIME(CODICEINTERNO_DI_STAMPA, NOME_FUNZIONE_CHIAMANTE) From ETAT
- un codice interno (definiti in GESARX) può rappresentare un report di Crystal Report, una consultazione o un export.
- se il codice interno esiste
- usa la stampa/consultazione/export ad esso associato
- se ne trova più di una associata fa scegliere all'utente
- se la stampa è una sola ed è indicata in GESARX come diretta va direttamente in stampa
- se non trova il codice interno cerca tra le stampe (definite in GESARP)
Quindi al posto di un codice interno si può mettere direttamente un codice stampa (hanno fatto in modo da poter stampare direttamente un report).
I parametri di default vengono recuperati dalla coppia Funzione/Stampa configurata in GESARV
Esempio: Call IMPRIME(GYYWPPRT,"SAIWRKPLN") From ETAT
Esempio:
# la stampa YSTAMPA_PDF deve essere impostata così: # in GESARP YSTAMPA_PDF con destinazione (File)XPDF obbligatoria # in GESARV devono essere configurati i valori di default GESSOH/YSTAMPA_PDF # in GESARX YSTAMPA_PDF\YSTAMPA_PDF\diretta SI Call IMPRIME("YSTAMPA_PDF","GESSOH") From ETAT #GFILPATH=YFILE_OUTPUTPDF -> l'impostazione della variabile standard GFILPATH viene fatta nel codice specifico della stampa #copio il pdf in una cartella a piacere Local Char NUOVO_PATH(250) Local Integer YSTAT Call COPIE(GFILPATH,NUOVO_PATH,YSTAT) From ORDSYS
Codice specifico stampa YSTAMPA_PDF
$ACTION Case ACTION When "FICHIER" : Gosub FICHIER When Default Endcase Return Subprog IMPRIME(NBPAR,PARAMETRE) Value Integer NBPAR Variable Char PARAMETRE()() Call IMPRIME(NBPAR,PARAMETRE) From SORGENTE_ORIGINALE_di_YSTAMPA End $FICHIER FICHIER = filpath(MIOPATH, [F:XXX]NUM + "_" + format$("D:YYYYMMDD",[F:XX]DAT) , "pdf") GFILPATH = FICHIER Return
Descrizione chiamata ETAT From ETAT[edit]
Call ETAT("CODICE_STAMPA",GFONCTION,TBPAR,TBVAL) From ETAT
Descrizione chiamata ETAT From AIMP3[edit]
Questa chiamata, dopo opportuno recupero di informazioni, chiama la IMPRIME From AIMP3
Call ETAT("CODICE_STAMPA","DEST","ITA",1,"messaggio",TBPAR,TBVAL) From AIMP3
- "Call ETAT()" lancia il crystal report con i parametri TBPAR e valori TBVAL
- ADOC è un codice di stampa (vedi menu Sviluppo → Dizionario programmi → Stampe, GESARP da F7)
- indica una destinazione, vedi al menu Parametrizzazione → Destinazioni → Destinazioni, GESAIM o da F7;
se la destinazione indicata non è possibile (per accessi o permessi) viene scelta una predefinita - il terzo parametro è la lingua (es. "ENG"), se omessa viene usata quella di sessione (GLANGUE)
- flag per visualizzazione messaggio di stampa (1 visualizza, 0 nessuna visualizzazione); GSILENCE deve essere lasciato a 0
- titolo messaggio di stampa
- TBPAR contiene i nomi dei parametri (quelli configurati in GESARP)
- TBVAL contiene i valori dei parametri ( TBPAR(1) deve contenere il nome del parametro, TBVAL(1) il suo valore)
Esempio:
TBPAR(1)="NUM" //nome parametro
TBVAL(1)= "123456" //valore parametro
TBPAR(2)="STOFCY" //nome parametro
TBVAL(2)= "MYSITE" //valore parametro
Vedi anche Stampa di un pdf
Esempio:
Local Char PAR_ETI(100)(1..30) Local Char PAR_NAM(100)(1..30) Local Integer I,SHOWMSG SHOWMSG = 1 #1 per mostrare messaggio, 0 per non mostrarlo For I=1 To 30 PAR_NAM(I)= "par"+num$(I) #i parametri sono stati chiamati (in GESARP) "par1", "par2", "par3"... Next #preparo parametri per la stampa e stampo PAR_ETI(1) = "DESTINAZIONE" PAR_ETI(2) = "SageDev Srl" PAR_ETI(3) = "Via Torri dekl Benaco" PAR_ETI(4) = "A" PAR_ETI(5) = "B" PAR_ETI(6) = "C" PAR_ETI(7) = "D" Call ETAT("YEADD","","",SHOWMSG,"",PAR_NAM(1..9),PAR_ETI(1..9)) From AIMP3
Descrizione chiamata IMPRIME from AIMP3[edit]
Subprog IMPRIME(ETAT,LANGUE,NBRPAR,PARCOD,TYP,PARTYP,PARLIB & ,DEBFIN,VALEUR1,VALEUR2,DIFFERE & ,DESTINATION,SERVEUR1,IMPRIMANTE,PRTPOR,PRTDRV & ,PRTDES,NBRCPY,ASSCPY,PAGDEB,PAGFIN,FICHIER,FMTFIC & ,NBSEG,VALSEG,DIFDAT,DIFTIM,DIFSRVC,FORPAP & ,TBPAR,TBVAL,PARMES,NBPLAG,PARPLAG,BORPLAG,VALPLAG1,VALPLAG2,RETOUR,ER) Value Char ETAT Value Char LANGUE Value Integer NBRPAR Value Char PARCOD()(0..) Value Integer TYP(0..) Value Char PARTYP()(0..) Value Integer PARLIB(0..) Value Integer DEBFIN(0..) Value Char VALEUR1()(0..) Value Char VALEUR2()(0..) Value Integer DIFFERE Value Integer DESTINATION Value Char SERVEUR1 Value Char IMPRIMANTE Value Char PRTPOR Value Char PRTDRV Value Char PRTDES()(0..) Value Integer NBRCPY Value Integer ASSCPY Value Integer PAGDEB Value Integer PAGFIN Value Char FICHIER Value Integer FMTFIC Value Integer NBSEG Value Char VALSEG()(0..) Value Date DIFDAT Value Char DIFTIM Value Char DIFSRVC Value Integer FORPAP Variable Char TBPAR()(1..) Variable Char TBVAL()(1..) Variable Char PARMES()(1..) Value Integer NBPLAG Value Char PARPLAG()(0..) Value Integer BORPLAG(0..) Value Char VALPLAG1()(0..) Value Char VALPLAG2()(0..) Variable Char RETOUR Variable Integer ER
Stampa di un pdf[edit]
Il codice di stampa ADOC è un codice apposito per 'stampare' (aprire) dei file allegati.
Il parametro docjoin è un parametro speciale, gestito a programma: serve per indicare degli allegati da stampare; viene tradotto poiu per Crystal Report con un parametro del tipo "__DOCUMENT= \\path\dir\file".
Local integer NBPAR_MAX: NBPAR_MAX =10 Local char TBPAR(20)(1..NBPAR_MAX) Local char TBVAL(250)(1..NBPAR_MAX) YFILE = "\\srvint1\IntranetPDF\dis\8D_01.pdf" #Il percorso del file deve essere in formato \\server\... e accessibile all'utente di sage TBPAR(1) = "docjoin" TBVAL(1) = YFILE #GSILENCE = 1 #serve per non far comparire il popup del messaggio di stampa #mettere 0 per non avere il messaggio; 1 per visualizzarlo Call ETAT("ADOC","","",0,"",TBPAR,TBVAL) From AIMP3 #GSILENCE = 0