How to manage document macros

From Opera Wiki

(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
{{WIP}}
{{WIP}}
{{BR}}
{{BR}}
-
<!--
+
 
Macros are a tool made available by Opera for creating documents.
Macros are a tool made available by Opera for creating documents.
These are text strings that begin and end with the characters "//" and allow you to create document templates whose fields will be generated and loaded with the real values ​​at the time of printing. For this reason, the same document that represents a quote template can be used for all your quotes without further modifications.
These are text strings that begin and end with the characters "//" and allow you to create document templates whose fields will be generated and loaded with the real values ​​at the time of printing. For this reason, the same document that represents a quote template can be used for all your quotes without further modifications.

Revision as of 08:47, 18 July 2023



Image:iconawip.png work in progress


Macros are a tool made available by Opera for creating documents. These are text strings that begin and end with the characters "//" and allow you to create document templates whose fields will be generated and loaded with the real values ​​at the time of printing. For this reason, the same document that represents a quote template can be used for all your quotes without further modifications.

Macros can be "simple" or "parameterized". (For example, a macro that inserts an image into the sheet might have the width and height of the image as parameters). These parameters, as we will see later, can be mandatory or optional and must be specified after the title of the macro itself, separated by ";". The order of the parameters is important, for this reason, in the following explanations they are shown in the exact order in which Opera expects to find them within the macro. When you want to omit an optional parameter, you still need to insert the ";" after the previous parameter.

Below are the main macros of Opera Job Management:

Contents

Data entry macros (text only)

  • //Year// :Print the current year.
  • //YearXX// : Print the last two numbers of the year in the Date field of the Job.
  • //JobPreview: // : Print the preview of the typologies within the job.
Note NOTE:
Parameters:
yes/no: enable or not the display of the frozen typologies as well.
base X (optional): the offset from the left edge of the document
base Y (optional): the offset from the top edge of the document
width (optional): the width of the print area starting from the reference base X
height (optional): the height of the print area starting from the reference base Y
Note N.B: Example : //JobPreview:no;4;;12;//
  • //BuildingYard_Postcode//: Print the postcode of the construction site city in the job data.
  • //BuildingYard_City//: Print the city of the construction site.
  • //BuildingYard_Address//: Print the address of the construction site
  • //BuildingYard_Name//: Print the name of the construction site.
  • //BuildingYard_Country//: Print the country of the construction site.
  • //Client_Postcode// : Print the customer's city postcode.
  • //Client_City// : Print the customer's city.
  • //Client_Address// : Print the customer's address.
  • //Client_note// : Prints the notes in the Job Customer Data panel if the customer is saved in the archive.
  • //Client_CorporateName// : Print the customer's corporate name.
  • //JobNo// : Print the sequence nu. and the year of the job in 01/2009 format.
  • //Date// : Prints the current date in dd / mm / yyyy format.
  • //FullDate// : Prints the current date in the format ddd nn mmmm yyyy
  • //DesciptionTypologie: // : Stampa la descrizione presente del quadro Dati tipologia
Note NOTE:
Parametri:
Quantità caratteri: limite massimo di caratteri della descrizione da mostrare.
Note N.B: Esempio : Una descrizione di 57 battute, con //DescrizioneTipologia:10// diventa da Finestra a due ante con ribalta ed accessori color ottone a Finestra a ...
  • //ditta// : Stampa il nome della ditta corrispondente alla prima riga dell’intestazione inserita nel quadro Setup stampe.
  • //ElencoFornitori// : Stampa l'elenco di quei nominativi presenti in rubrica caricati come tipo Fornitore ed avente il flag su No stampa FPC deselezionato.
  • //listaallegaticerttermica// : Stampa gli schemi trasmittanza termica e gli allegati degli ITT presenti nelle tipologie della commessa, inserisce per punti assegnandogli un nome (es: Allegato A, Allegato B)i riferimenti che identificano gli ITT, come utilizzo questa macro è stata separata tramite le nuove macro //listaallegatischemitrasmittanza// e //listaallegatiITT//. Funziona con quei documenti che sono caricati come Tipo: Dichiarazione di conformità
  • //listaallegatiITT// : Stampa gli allegati degli ITT presenti nelle tipologie della commessa, inserisce per punti assegnandogli un nome (es: Allegato A, Allegato B) i riferimenti che identificano gli ITT. Funziona con quei documenti che sono caricati come Tipo: Dichiarazione di conformità
  • //listaallegatichemitrasmittanza// : Stampa gli schemi trasmittanza termica delle tipologie della commessa, inserisce per punti assegnandogli un nome (es: Allegato A) i riferimenti che identifica l’allegato. Funziona con quei documenti che sono caricati come Tipo: Dichiarazione di conformità
  • //nome// : Stampa il nome della commessa.
  • //NPag// : Stampa il n° della pagina corrente nel punto del documento in cui è stato scritta la macro.
  • //NomeTipologia// : Stampa il nome della tipologia presente nel campo Nome del quadro Dati generali tipologia oppure del quadro Dati tipologia.
  • //NumPag: // : Imposta la visualizzazione del numero della pagina a piè pagina.
Note NOTE:
Parametri:
Si/No: Abilita/Disabilita la visualizzazione del numero.
Note N.B: Esempio : //NumPag:Si//
  • //Operatore: // : inserisce il nome dell'operatore corrispondente alla sigla della mansione specificata come parametro.
Note NOTE:
Parametri:
[Nome della mansione]: Il titolo della mansione da mostrare
Note N.B: Esempio : //Operatore:RFPC// Se Piero Verdi ha come mansione RFPC, il suo nome comparirà nella stampa.
  • //Ora// : Stampa l’ora corrente nel formato hh:mm
  • //PosizioneTipologia// : Stampa il codice presente nel campo “Prefisso profili” nei Dati generali tipologia.
  • //RegistroManutenzioni// : Stampa il registro delle manutenzioni dei macchinari presenti nel Registro manutenzione del macchinario/Attrezzatura, menù Normativa, sotto-menù Attrezzature
  • CertificatoTipologia : serve per la stampa della Dichiarazioni CE e della Marcatura CE delle tipologie SAC1, che non ha prestazioni di alcun tipo, ma solo il Nome, la Descrizione, la Data e la Descrizione.

Le macro da utilizzare sono:

    • //CertificatoTipologia:Nome// : Stampa il nome della tipologia.
    • //CertificatoTipologia:Descrizione// : Stampa la descrizione.
    • //CertificatoTipologia:Data// : Stampa la data.
    • //CertificatoTipologia:Laboratorio// : Stampa il nome del laboratorio.

Macro di inserimento immagini e impostazione grafica

  • //Abaco// : Inserisce l’abaco delle tipologie con le informazioni impostate nel Setup stampe -> Abaco tipologie.
  • //bitmap: // : La macro bitmap consente di inserire un’immagine nella stampa del documento.
Note NOTE:
Parametri:
nome_file: il percorso del file che contiene l'immagine da mostrare. (è possibile usare anche macro che scrivono percorsi di immagini, come ad esempio //logofile//)
sfondo (opzionale): imposta l'immagine specificata come sfondo della pagina (per stampare ad esempio la fincatura della Dichiarazione CE di conformità).)
larghezza (opzionale): la larghezza dell’area di stampa partendo dal riferimento base X
altezza (opzionale): l'altezza dell’area di stampa partendo dal riferimento base Y
Se si omette l’altezza (o la larghezza) la quota mancante viene calcolata in proporzione alle dimensioni dell’immagine.
Note N.B:
Esempio : //bitmap:logo.bmp;sfondo;18// inserisce l'immagine logo.bmp come sfondo del documento, con larghezza pari a 18 cm
//bitmap://logofile//;6// inserisce con larghezza pari a 6 cm il logo caricato nel quadro Setup intestazione stampe, anche se non sono state attivate le opzioni Intestaz.BitMaP e Int nel documento.


  • //Clichè// : Stampa l’intestazione aziendale racchiusa in un riquadro se è stata inserita nel campo Int del quadro Setup intestazione stampe.
  • //Linea: // : Traccia una linea all'interno del documento. Lunghezza e punto di partenza sono specificati dai parametri
Note NOTE:
Parametri:
x0;y0 (opzionale) : specificano il punto di origine della linea in cm; se omessi la linea verrà tracciata a partire dal punto corrente.
dx;dy : rispettivamente la distanza in cm dal punto di origine della linea, rispetto all'asse x e all'asse y
Note N.B: Esempio : //Linea: 1;1;4;0 // traccia una linea orizzontale di 4cm a partire dal punto (1;1) rispetto al margine superiore del foglio
  • //OffsetX: // : Sposta orizzontalmente tutto il testo che segue dei cm indicati nel parametro.
Note NOTE:
Parametri: spostamento : valore in cm dello spostamento da effettuare
Note N.B: Esempio : //OffsetX: 2// sposta tutta la stampa di 2cm a destra rispetto al margine sinistro del documento


  • //OffsetY: // : Sposta verticalmente tutto il testo che segue dei cm indicati nel parametro.
Note NOTE:
Parametri : spostamento : valore in cm dello spostamento da effettuare
Note N.B: Esempio : //OffsetY: 3// sposta tutta la stampa di 3cm in basso rispetto al margine superiore del documento


  • //Rettangolo:// : Traccia un rettangolo a schermo
Note NOTE:
Parametri :
: x0;y0 (opzionale) : specificano lo spostamento in cm del punto in alto a sinistra del rettangolo rispetto al margine in alto a sinistra del documento; se omessi il rettangolo verrà tracciata a partire dal punto corrente.
x1;y1 : le coordinate del punto inferiore destro del rettangolo.
N;offset (opzionale): se specificati, permettono di tracciare rettangoli all'interno del principale, a distanza l'uno dall'altro pari ad offset (valore in mm) per un massimo di N. Quindi il valore di N indica il totale dei rettangoli da tracciare, compreso quello più esterno.
Note N.B: Esempio : //Rettangolo: 1;1;5;3;2;5// crea un rettangolo dal punto (1:1) al punto (5:3) con al suo interno un altro rettangolo a 5mm di distanza.


Macro di inserimento dati tecnici Commessa

  • //MaterialeCommessa// : Inserisce l'elenco dei tipo materiali presenti in commessa (Alluminio, PVC...).
  • //Sistema// : Inserisce l'elenco dei sistemi presenti in commessa.
  • //Serie// : Inserisce l'elenco delle serie presenti in commessa.
  • //Finitura// : Inserisce l'elenco dei colori presenti in commessa
  • //Riempimento// : Inserisce l'elenco dei vetri presenti in commessa.

Macro di formattazione del testo

  • //Centrato// : Da questa macro il poi le righe del testo vengono centrate rispetto all'area di stampa impostata.
  • //Corpo:corpo carattere// : Da questa macro in poi il testo viene stampato con il corpo specificato (altezza carattere).
  • //Destra// : Da questa macro il poi le righe del testo vengono allineate a destra.
  • //Font:// : Da questa macro in poi il testo viene stampato con il tipo di carattere specificato. La macro non è compatibile se il testo a cui cambiare il carattere contiene la macro //tab//
Note NOTE:
Parametri:
tipo carattere: il nome del carattere da utilizzare.
Note N.B: Esempio : //Font:Arial//


  • //Giustificato// : Da questa macro il poi le righe del testo vengono giustificate.
  • //Interlinea: // : Da questa macro il poi le righe del testo vengono stampate con l’interlinea specificata.
Note NOTE:
Parametri:
valore dell’interlinea[ri]: Il valore della nuova interlinea espresso in mm. Se il numero è seguito dal suffisso ri il valore numero verrà interpretato come frazione di riga.
Note N.B:
Esempio:
//Interlinea:5,5//: imposta il valore dell'interlinea a 5,5mm
//Interlinea:2ri// imposta il valore dell'interlinea a mezza riga


  • //intest// : Stampa la riga corrente con un margine sinistro pari a 3/5 della larghezza di stampa.
  • //Pagina// : Inserisce una interruzione di pagina.
  • //Posiziona: // : Definisce una nuova area di stampa secondo i parametri forniti. Da questo punto in poi il documento viene racchiuso all'interno dell'area definita dai parametri
Note NOTE:
Parametri:
base X (opzionale): la distanza in cm del nuovo margine rispetto al bordo sinistro del documento
base Y (opzionale): la distanza in cm del nuovo margine rispetto al bordo superiore del documento
larghezza (opzionale): la larghezza della nuova area. se omessa viene presa in automatico la dimensione massima del foglio
altezza (opzionale): l'altezza della nuova area. se omessa viene presa in automatico la dimensione massima del foglio
Note N.B:
Esempio :
//posiziona:1;2;19;26// Crea un'area di stampa di lato 19x26 con il vertice superiore sinistro ad 1 cm dal bordo sinistro del foglio ed a 2 cm dal bordo superiore.
//posiziona:2;;16;// In questo caso viene creata un'area di stampa larga 16 cm e alta fino alla fine del documento, che si scosta 2 cm rispetto al margine sinistro corrente


  • //Sinistra// : Da questa macro il poi le righe del testo vengono allineate a sinistra.


Macro di automazione del testo

Queste macro permettono di compilare alcune parti manualmente in fase di stampa e di inserire del testo solo al verificarsi di certe condizioni.

  • //Campo://: Inserisce nel testo un valore che viene richiesto prima della stampa. Se il nome inizia con la parola Data o Ora verrà utilizzato il formato adatto a quel tipo di campo. Se il nome invece proprio Data o Ora verrà creato un campo contenente come valore predefinito rispettivamente la data e ora correnti.
Note NOTE:
Parametri:
Nome campo : Il nome del campo che verrà richiesto prima della fase di stampa
Lunghezza
(opzionale): la lunghezza del campo
Valore predefinito
(opzionale): il valore predefinito che conterrà il campo
Note N.B:
Esempio :
//Campo:Validità preventivo;3;30// Inserisce un campo chiamato Validità preventivo, di 3 caratteri e con valore predefinito 30
//Campo:Data;8// Inserisce un campo di lunghezza 8 che conterrà la data corrente come valore predefinito
  • //VeroFalso: // : Il funzionamento è identico alla macro //Campo// ma i valori possibili sono solo Si e No. Questa macro è solitamente usata abbinata alla macro //If// spiegata in seguito.
Note NOTE:
Parametri:
Nome campo : Il nome del campo che verrà richiesto prima della fase di stampa
Lunghezza (opzionale): la lunghezza del campo
SI/NO
  • //Data:gg/mm/aaaa// : Imposta la data corrente.
Note N.B: Esempio : //Data://Campo:Data documento;8////
  • //If:condizione//[TESTO DA MOSTRARE]//EndIf//: Questa macro consente di inserire delle parti di testo solo se si verificano determinate condizioni. È composta da due macro: una di inizio, //If//, nella quale è contenuta la condizione da verificare, e una finale //EndIf// che chiude la macro. Se la condizione all'interno della parte //If// è vera, verrà mostrato tutto il testo contenuto tra le parti //If// e //EndIf//. Può essere usata in abbinamento alla macro //VeroFalso// oppure per confrontare il valore della pagina corrente (Npag) con quello totale delle pagine(TotPag).
Note N.B:
Esempio :
//If://VeroFalso:Stampa il sistema// Serramenti// //serie// //sistema//.//EndIf//
//If:NPag=TotPag//Fine//EndIf//


Macro per la costruzione di bolle e fatture

Queste macro consentono di costruire DDT e fatture.

  • //Cliente_DescPagamento// : Se il cliente è salvato in rubrica come “cliente”, questa macro stampa la descrizione del tipo di pagamento presente.
  • //Imponibile// : Stampa il valore dell’imponibile della commessa.
  • //Iva// : Stampa il valore dell’IVA.
  • //Ora:hh:mm[:ss]// : Imposta l’ora corrente.
Note N.B: Esempio : //Ora://Campo:Ora di partenza;5////
  • //PercIva// : Stampa l’aliquota IVA.
  • //RigaTpg:// : Consente di inserire in un modulo prestampato le righe relative alle tipologie della commessa.
Note NOTE:
Parametri:
Numero righe pagina : il numero di righe da inserire
Posizione campo[lunghezza campo][(S|D|C)] : specifica la posizione del campo da sinistra in mm. Le lettere S, D o C specificano l’allineamento del campo (Sinistra, Destra o Centrato) rispetto a tale posizione posizione.
Nome campo : I valori per il parametro nome campo sono:
-Nome - nome della tipologia
-Descrizione - descrizione della tipologia
-PezziLettere - n° pezzi in lettere
-Pezzi - n° pezzi
-Dimensioni - dimensioni LxH della tipologia
-PrzUnitario - prezzo unitario tipologia iva esclusa
-PrzTotale - prezzo totale tipologia
-Imponibile - imponibile totale tipologia
-IVA - IVA totale tipologia
-PercIva - aliquota iva
Note N.B: Esempio : //RigaTpg:16;1,7d"Pezzi" 2,2l5"Descrizione" 10,8d"PrzUnitario" 13,8d"PrzTotale"//
  • //TotPag// : Stampa il n° delle pagine del documento (solo se si utilizza la macro RigaTpg).
  • //Totale// : Stampa l’importo totale della commessa.
  • //TotTpg// : Stampa il n° pezzi delle tipologie presenti nella commessa.

Macro di impostazioni stampa

  • //Porta:(LPT1|LPT2|COM1|COM2|FILE)// : Specifica su quale porta andrà stampato il documento.
  • //Stampante:tipo di stampante; risoluzione// : Specifica su quale stampante andrà stampato il documento e a quale risoluzione.
  • //Formato:formato pagina// : Specifica su quale formato pagina andrà stampato il documento

-->


Personal tools