Stampa Unione con Quill, una potente prerogativa di un software “storico”

E’ vero, Quill come word processor è ampiamente superato, perfino sul QL abbiamo di meglio, come Text87 o Paragraph, ma questo “glorioso” software può ancora assolvere molte funzioni di text editing grazie sia alla sua solidita’, sia alle sue potenti opzioni.

Quando parliamo di Quill, parliamo ovviamente del Quill presente in XChange e non delle sue precedenti versioni.

In questo articolo tratteremo in particolare dell’opzione MAIL che consente di effettuare quell’operazione conosciuta quasi ovunque come “Stampa Unione”.
Per chi non lo sapesse questo tipo di operazione permette di associare un documento ad una lista di input e creare in automatico una serie di documenti simili con delle parti “personalizzate” provenienti dalla lista di input.

Il caso più classico è la produzione di lettere uguali con intestazione e destinatario diversi, ma questa opzione consente in realtà di manipolare abbondantemente il testo sviluppando potenzialità inaspettate, soprattutto trattandosi di un software assai datato.

L’opzione Mail si trova nel comando Files; anche se, come abbiamo detto prima, la stampa massiva di lettere non è l’unico utilizzo di questa opzione, per semplicità useremo quello come esempio.

Il comando Mail richiede due set di informazioni, il primo è il documento, generalmente chiamato template, che contiene le parti fisse della nostra serie di documenti, il secondo è la lista dei dati variabili che vogliamo utilizzare per personalizzare i nostri documenti: questi dati possono essere semplici nominativi o interi paragrafi.

All’interno del template ogni posizione dove inserire il dato variabile di nostro interesse viene marcata con uno speciale
puntatore; il secondo set di informazioni è invece la lista dei dati variabili da abbinare al template.

L’opzione mail provvede ad inserire tutti i dati variabili in corrispondenza degli appositi marcatori inseriti nel template
e per ogni occorrenza della lista stampare una copia del documento.

Prima di iniziare ad utilizzare “seriamente” l’opzione mail vi consiglierei di fare qualche prova con dei dati semplici per
prendere confidenza col meccanismo.

Il template

Il template altro non è che un normale documento Quill; per ciascun punto dove volete che venga inserito il campo della lista inserite il corrispondente nome di campo preceduto e seguito del delimitatore: Quill riconosce automaticamente come delimitatore il carattere “*” (asterisco).

Supponete di stare scrivendo una lettera a persone differenti.Il testo principale di ogni lettera è identico, ma volete che
ciascuna copia includa nome ed indirizzo del destinatario, la lettera avrà un aspetto simile a questo:

————————————————————–

QL Magazine
via le dita dal naso 1
10100 Torino
Italia

*titolo* *nome* *cognome*
*via*
*cap* *citta*
*nazione*

Spett. *titolo* *cognome*,

Con la presente bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla
e quindi la bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla

Concludendo bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla bla

Distinti saluti

————————————————————–

Gli “oggetti” racchiusi tra gli asterischi rappresentano i dati variabili che verranno via via sostuiti; gli asterischi invece non verrano stampati.

Se volete utilizzare un carattere marcatore differente dall’ asterisco, ad esempio perché avete bisogno di stampare degli asterischi all’interno del vostro documento potete indicare un nuovo carattere marcatore inserendolo come primo carattere assoluto del file di dati.

E’ possibile utilizzare tre differenti metodi per inserire i vostri dati personalizzando il vostro template: tramite tastiera, tamite un altro documento Quill oppure tramite un file esterno in formato _exp.

1 – Inserimento tramite tastiera.

E’ il metodo più semplice  ma anche quello che richiede più tempo, una volta che avete creato il vostro template con i relativi campi variabili selezionate l’opzione Mail dal comando Mail scrivendo:

F3 O F M

Poi premete ENTER per accettare il suggerimento di QUILL di inserire l’input tramite tastiera, Quill vi suggerirà di inviare le copie direttamente alla stampante, accettate con il solito ENTER; in alternativa potete scaricare il risultato su di un file in formato _lis digitando il nome del file prima di premere ENTER.

Per ogni campo variabile QUILL vi mostrerà il punto e vi chiederà di digitare il dato corrispondente; premete ESC al termine di ogni sostituzione; al termine di ogni documento QUILL vi chiederà di confermare la correttezza digitate “Y” per stampare o “N” per annullare.

A questo punto QUILL vi chiederà di digitate “C” per continuare con una nuova copia o “ENTER” per terminare, ovviamente digitando “C” ricomincerete il processo dall’inizio.

2 – Inserimento da un secondo documento.

E’ possibile creare un secondo documento contenente i dati variabili da inserire nel template; in questo documento il primo paragrafo è particolare e contiene la lista dei nomi dei campi variabili, separati da un delimitatore, una specie di tracciato record.

Ciascun paragrafo seguente corrisponderà ad un record, quindi da una copia del documento.; ricordo che per terminare un paragrafo su Quill occorre premere il tasto Enter.

Ecco un esempio tratto direttamente dal manuale di XCHAGE:

/title/initial/surname/street/town/county/postcode/
/Mr/J/Smith/53 Main Road/Anytown/Westshire/AB2 3CD/
/Mrs/A/Jones/27 Gillygate/York//YO1 1XY/

Come potete vedere il file inizia con un carattere separatore, in questo caso “/”. questo serve a indicare a QUILL quale deve essere il carattere separatore e quindi non può più essere utilizzato come dato.

Salvate il file secondario, ad esempio:

F3 S secondo ENTER

e caricate il template.

Selezionate l’opzione Mail dal comando Mail come ho spiegato poco sopra ma non accettate il suggerimento di QUILL di
inserire i dati tramite tastiera, ma scrivete invece il nome del file secondario:

F3 O F M secondo_doc ENTER

Ricordate di includere l’estensione _doc, perché QUILL usa come defalult _exp.

Esattamente come prima voi avete la possibiltà di stampare direttamente l’output oppure di scaricarlo su di un file _lis, ora l’intera operazione procederà in automatico senza bisogno di altri interventi da parte vostra.

L’unica eccezione si ha nel caso in cui il vostro template contenesse marcatori vuoti, ad esempio “**”, in questo caso QUILL vi segnalerà il problema e vi chiederà se volete continuare ugualmente oppure fermarvi, questo ovviamente per ogni copia che volete stampare.

Nell’esempio di template sopra riportato alcuni campi sono stati riportati più volte; In ogni caso il dato deve essere definito una sola volta nel file secondario, sara’ QUILL a provvedere a tutte le sostituzioni, inoltre vi possono essere dati variabili non contenuti nel  template, essi saranno semplicemente ignorati.

3 – Inserimento da un file di esportazione

Il metodo più efficiente per utilizzare la funzione MAIL e’ quello di utilizzare un file di interscambio PSION, quelli comunemente noti come file di esportazione (estensione _exp); il procedimento utilizzato e’ uguale al punto precedente, con l’unica differenza costituita dalla tipologia del file di input.

Ma allora dove sta il vantaggio?

Il vantaggio consiste nel fatto che potete generare il file in formato _exp da qualunque applicativo, se volete produrre stampe di una certa qualità, oppure tabulati complessi, o ancora stampe con layout che necessitano
frequenti modifiche questa è la soluzione che fa per voi.
Il file formato _exp può essere prodotto dal vostro applicativo (che non dovra’ piu’ preoccuparsi di salti pagina e cose simili) mentre la fase di stampa personalizzata la si lascia invece a QUILL, magari richiamato automaticamente dall’applicazione stessa mediante un TSL.
Se si devono portare delle modifiche è sufficiente agire sul documento QUILL utilizzato come template senza dover ogni
volta modificare il proprio programma.

Giorgio Garabello