Comment gérer les macros dans les documents
De Opera Wiki.
Les macros sont un outil puissant fourni par Opera pour la création de documents. Il s'agit de chaînes de texte qui commencent et se terminent par les caractères "//" et qui permettent de créer des modèles de documents dont les champs seront générés et chargés avec les valeurs réelles lors de l'impression. Pour cette raison, le même document représentant un modèle de devis peut être utilisé pour tous vos devis sans autre modification.
Les macros peuvent être "simples" ou "avec paramètres". (Par exemple, une macro qui insère une image dans la feuille peut avoir comme paramètres la largeur et la hauteur de l'image). Ces paramètres, comme nous le verrons plus loin, peuvent être obligatoires ou facultatifs et doivent être spécifiés après le titre de la macro elle-même, séparés par des " ;". L'ordre des paramètres est important, c'est pourquoi, dans les explications qui suivent, ils sont donnés dans l'ordre exact dans lequel Opera s'attend à les trouver dans la macro. Lorsque vous souhaitez omettre un paramètre optionnel, vous devez toujours insérer le caractère ';' après le paramètre précédent.
Vous trouverez ci-dessous les principales macros d'Opera Job Management :
Sommaire |
Macro de saisie de données (texte uniquement)
- //Annee// : Imprime l'année en cours.
- //AnneeXX// : Imprimez les deux derniers chiffres de l'année dans le champ "date d'entrée en vigueur" du panneau "données générales du travail".
- //AnteprimaCommessa: // : Imprimer un aperçu des types présents dans la commande
- NOTE:
Paramètres :
oui/non : active ou désactive l'affichage des types figés.
base X' (optionnel) : l'écart par rapport au bord gauche de la feuille
base Y (optionnel) : l'écart par rapport au bord supérieur de la feuille
largeur (optionnel) : la largeur de la zone d'impression à partir de la référence de base X
hauteur optionnel) : la hauteur de la zone d'impression à partir de la référence de base Y.
- N.B: Esempio : //PrévisualisationCommission:no;4;;12;//
- //Cantiere_CAP//: Imprimez le code postal de la ville où se trouve le chantier dans les données relatives à l'emploi.
- //Cantiere_Citta//: Imprimez la ville du chantier.
- //Cantiere_Indirizzo//: Imprimez l'adresse du chantier telle qu'elle a été saisie dans le champ "Adresse".
- //Cantiere_nome//: Imprime le texte saisi dans le champ "Chantier" de l'écran Chantier.
- //Cantiere_Prov//: Imprimer les initiales de la province de la ville du site.
- //Cliente_CAP// : Imprimer le code postal de la ville du client.
- //Cliente_Citta// : Imprimer la ville du client.
- //Cliente_Indirizzo// : Imprimez l'adresse du client telle qu'elle a été saisie dans le champ "Adresse".
- //Cliente_note// : Imprime les notes dans le champ Notes du volet Données du travail du client si le client est enregistré dans l'archive.
- //Cliente_Prov// : Imprimer les initiales de la province de la ville du client.
- //Cliente_RagioneSociale// : Imprime le nom de l'entreprise du client saisi dans les données du travail se rapportant au client.
- //Commessa// : Imprimer la séquence et l'année de la commande au format 01/2009.
- //data// : Imprimer la date du jour au format jj/mm/aaaa
- //dataest// : Imprimer la date du jour au format dddd nn mmmm yyyyy
- //DescizioneTipologia: // : Imprimer la description actuelle du panneau Type de données
- NOTE:
Paramètres :
Quantité de caractères : limite maximale de caractères de la description à afficher. - N.B: Exemple : Une description de 57 barres, avec //DescriptionTypology:10/ devient Fenêtre à double battant avec volet et accessoires de couleur laiton en Fenêtre avec ...
- //ditta// : Imprime le nom de la société correspondant à la première ligne de l'en-tête saisi dans le cadre Configuration de l'impression.
- //ElencoFornitori// : Imprimer la liste des noms figurant dans le carnet d'adresses chargé en tant que type de fournisseur et dont le drapeau de l'option Pas d'impression FPC n'est pas coché.
- //listaallegaticerttermica// : Imprime les diagrammes de transmittance thermique et les annexes ITT présents dans les types de commandes, insère les références identifiant les ITT par points en leur attribuant un nom (ex. : Annexe A, Annexe B), comment utiliser cette macro a été séparée par les nouvelles macros //liste des diagrammes de transmittance thermique// et //liste des annexes ITT//. Elle fonctionne avec les documents qui sont chargés en tant que Type : Déclaration de conformité.
- //listaallegatiITT// : Imprime les annexes des ITT présentes dans les types de commande, insère les références identifiant les ITT par points en leur attribuant un nom (par ex. Annexe A, Annexe B). Fonctionne avec les documents chargés en tant que Type : Déclaration de conformité.
- //listaallegatichemitrasmittanza// : Imprime les diagrammes de transmission thermique des types de commande, saisit les références qui identifient l'annexe par son nom (par exemple, l'annexe A). Il fonctionne avec les documents qui sont chargés en tant que Type : Déclaration de conformité.
- //nome// : Imprimer le nom de l'ordre.
- //NPag// : Imprime le numéro de page actuel à l'endroit du document où la macro a été écrite.
- //NomeTipologia// : Imprimer le nom du type dans le champ Nom du cadre Type de données générales ou du cadre Type de données.
- //NumPag: // : Définit l'affichage du numéro de page dans le pied de page.
- NOTE:
Paramètres:
Si/No: Activation/désactivation de l'affichage des numéros. - N.B: Exemple : //NumPag:Si//
- //Operatore: // : insère le nom de l'opérateur correspondant à l'intitulé du poste spécifié en paramètre.
- NOTE:
Parametri:
[Nome della mansione]: Il titolo della mansione da mostrare - N.B: Esempio : //Operatore:RFPC// Si Piero Verdi a le titre de RFPC, son nom apparaîtra dans la presse.
- //Ora// : Impression de l'heure actuelle au format hh:mm
- //PosizioneTipologia// : Imprimez le code dans le champ "Préfixe du profil" du type de données générales.
- //RegistroManutenzioni// : Imprimer le journal d'entretien de la machine dans le Journal d'entretien du menu Machines/Equipement, Réglementation, sous-menu Equipement.
- CertificatoTipologia : est utilisé pour imprimer la déclaration CE et le marquage CE des types SAC1, qui n'ont aucune performance d'aucune sorte, mais seulement le nom, la description et la date.
Les macros à utiliser sont les suivantes
- //CertificatoTipologia:Nome// : Imprime le nom du type.
- //CertificatoTipologia:Descrizione// : Description de l'impression.
- //CertificatoTipologia:Data// : Imprimer la date.
- //CertificatoTipologia:Laboratorio// : Indiquer le nom du laboratoire.
Macros d'insertion d'images et de paramétrage graphique
- //Abaco// : Insère l'abaque de type avec les informations définies dans Configuration de l'impression -> Abaque de type.
- //logofile// : Insère le chemin d'accès au logo téléchargé dans le panneau Configuration de l'en-tête d'impression.
- //bitmap: // : La macro bitmap permet d'insérer une image dans l'impression du document.
- NOTE:'
Paramètres:
nome_file: le chemin d'accès au fichier qui contient l'image à afficher. (Vous pouvez également utiliser des macros qui écrivent des chemins vers des images, par exemple //logofile//)
background (facultatif) : définit l'image spécifiée comme arrière-plan de la page (pour imprimer par exemple la fincature de la déclaration de conformité CE).)
width (optional) : la largeur de la zone d'impression à partir de la référence de base X
height (optional) : la hauteur de la zone d'impression à partir de la référence de base Y
Si la hauteur (ou la largeur) est omise, la dimension manquante est calculée proportionnellement à la taille de l'image.- N.B:
Exemple : //bitmap:logo.bmp;sfondo;18// insère l'image logo.bmp comme arrière-plan du document, avec une largeur de 18 cm
//bitmap://logofile//;6// insère le logo chargé dans le Print Header Setup avec une largeur de 6 cm, même si les options BitMaP header et Int in document n'ont pas été activées.
- //Clichè// : Imprime l'en-tête de l'entreprise dans un cadre s'il a été saisi dans le champ Int du cadre Configuration de l'en-tête d'impression.
- //Linea: // : Dessine une ligne dans le document. La longueur et le point de départ sont spécifiés par les paramètres
- NOTE:
Parametri:
x0;y0 (opzionale) : spécifie le point d'origine de la ligne en cm ; s'il est omis, la ligne sera tracée à partir du point actuel.
dx;dy : respectivement, la distance en cm du point d'origine de la ligne à l'axe x et à l'axe y. : respectivement, la distance en cm entre le point d'origine de la ligne et l'axe des x et l'axe des y. - N.B: Exemple : //Linea: 1;1;4;0 // tracer une ligne horizontale de 4 cm à partir du point (1;1) jusqu'au bord supérieur de la feuille
- //OffsetX: // : Décale tout le texte horizontalement du cm indiqué dans le paramètre.
- NOTE:
Paramètres: changement : valeur en cm du déplacement à effectuer - N.B: Exemple : //OffsetX: 2// déplace l'ensemble de l'impression de 2 cm à droite de la marge gauche du document
- //OffsetY: // : Décale tout le texte verticalement du cm indiqué dans le paramètre.
- NOTE:
Paramètres : déplacement : valeur en cm du déplacement à effectuer. : valeur en cm du déplacement à effectuer - N.B: Exemple : //OffsetY : 3// déplace l'ensemble de l'impression de 3 cm vers le bas à partir de la marge supérieure du document.
- //Rectangle:// : Dessiner un rectangle à l'écran
- NOTE:
Paramètres :
: x0;y0 (facultatif) : spécifie le décalage en cm du point supérieur gauche du rectangle par rapport à la marge supérieure gauche du document ; s'il est omis, le rectangle sera dessiné à partir du point courant.
x1;y1' x1;y1 : les coordonnées du point inférieur droit du rectangle.
N;offset (optionnel) : si spécifié, permet de dessiner des rectangles à l'intérieur de la principale, à une distance les uns des autres égale à offset (valeur en mm) pour un maximum de N. Ainsi, la valeur de N indique le nombre total de rectangles à dessiner, y compris le plus extérieur. - N.B: Exemple : //Rectangle: 1;1;5;3;2;5// crée un rectangle du point (1:1) au point (5:3) avec un autre rectangle à 5 mm de distance à l'intérieur de celui-ci.
Emploi Macro de saisie de données techniques
- //MaterialeCommessa// : Insère la liste des types de matériaux dans l'ordre (Aluminium, PVC...).
- //Sistema// : Insère la liste des systèmes dans l'ordre.
- //Serie// : Insère la liste des séries dans l'ordre.
- //Finitura// : Insère la liste des couleurs dans l'ordre
- //Riempimento// : Insère la liste des verres dans l'ordre.
Macros de formatage de texte
- //Centrato// : À partir de cette macro, les lignes de texte sont centrées par rapport à la zone d'impression définie.
- //Corpo:corpo carattere// : À partir de cette macro, le texte est imprimé avec le corps (hauteur de caractère) spécifié.
- //Destra// : À partir de cette macro, les lignes de texte sont alignées à droite.
- //Font:// : À partir de cette macro, le texte est imprimé avec la police spécifiée. La macro n'est pas compatible si le texte à modifier contient la macro //tab//.
- NOTE:
Paramètres :
type de police : le nom de la police à utiliser. - N.B: Exemple : //Font:Arial//
- //Giustificato// : À partir de cette macro, les lignes de texte sont justifiées.
- //Interlinea: // : À partir de cette macro, les lignes de texte sont imprimées avec l'interligne spécifié.
- NOTE:
Paramètres :
valeur de l'interligne[ri] : La valeur du nouvel interligne exprimée en mm. Si le nombre est suivi du suffixe ri, la valeur du nombre sera interprétée comme une fraction de ligne. - N.B:
Exemple :
//Espacement:5.5// : fixe la valeur de l'interligne à 5.5mm
//Espacement:2ri// fixe la valeur de l'interligne à une demi-ligne
- //intest// : Imprime la ligne en cours avec une marge gauche de 3/5 de la largeur d'impression.
- //Pagina// : Insère un saut de page.
- //Posiziona: // : Définit une nouvelle zone d'impression en fonction des paramètres fournis. À partir de ce moment, le document est enfermé dans la zone définie par les paramètres.
- NOTE::
Paramètres :
base X' (optionnel) : la distance en cm de la nouvelle marge au bord gauche du document
base Y (optionnel) : la distance en cm de la nouvelle marge au bord supérieur du document
width (optionnel) : la largeur de la nouvelle zone. si omis, la taille maximale de la feuille est prise automatiquement
height (optional) : la hauteur de la nouvelle zone. si omis, la taille maximale de la feuille est prise automatiquementN.B:
Exemple :
//position:1;2;19;26// Crée une zone d'impression de 19x26 avec le sommet supérieur gauche à 1 cm du bord gauche de la feuille et à 2 cm du bord supérieur.
;//position:2;;16;// Dans ce cas, une zone d'impression de 16 cm de large et jusqu'à la fin du document est créée, qui s'écarte de 2 cm de la marge gauche actuelle.
- //Sinistra// : À partir de cette macro, les lignes de texte sont alignées à gauche.
Macros d'automatisation du texte
Ces macros permettent de remplir manuellement certaines parties lors de l'impression et d'insérer du texte uniquement lorsque certaines conditions sont réunies.
- //Campo://: Insère une valeur dans le texte qui est requise avant l'impression. Si le nom commence par le mot Date ou Heure, le format approprié pour ce type de champ sera utilisé. Si le nom est Date ou Heure, un champ contenant la date et l'heure actuelles comme valeurs par défaut sera créé. :NOTE:
Paramètres :
Nom du champ : Le nom du champ qui sera imprimé. : Le nom du champ qui sera requis avant l'impression
Length (optional) : la longueur du champ
Default value (optional) : la valeur par défaut que le champ contiendra
- N.B:}
Esempio :
//Champ:Validité du devis;3;30// Insère un champ appelé Validité du devis, d'une longueur de 3 caractères et d'une valeur par défaut de 30
//Field:Date;8// Insère un champ de longueur 8 qui contiendra la date du jour comme valeur par défaut
- //TrueFalse:// : L'opération est identique à la macro //Field// mais les valeurs possibles sont seulement Oui et Non. Cette macro est généralement utilisée en combinaison avec la macro //If// expliquée ci-dessous :NOTE:}
Paramètres :
Nom du champ
Nom du champ' : le nom du champ qui sera demandé avant l'étape d'impression
Longueur (facultatif) : la longueur du champ
OUI/NON
- //Data:gg/mm/aaaa// : Définit la date actuelle. :N.B: Exemple : //Data://Field:Document date;8////
- //If:condition//[TEXT TO SHOW]//EndIf/ : Cette macro permet d'insérer des parties de texte uniquement si certaines conditions sont remplies. Elle se compose de deux macros : une macro de début, //If//, dans laquelle se trouve la condition à vérifier, et une macro de fin, /EndIf//, qui ferme la macro. Si la condition contenue dans la partie //If// est vraie, tout le texte contenu entre les parties //If// et /EndIf// sera affiché. Peut être utilisé en conjonction avec la macro //TrueFalse// ou pour comparer la valeur de la page actuelle (Npag) avec la valeur totale des pages (TotPag).
- N.B:'//If:NPag=TotPag//Fine//EndIf//}}
Exemple :
//If://TrueFalse:Imprimer le système////Series////EndIf//'
//If:NPag=TotPag//Fine//EndIf//
Macros pour l'élaboration de factures
Ces macros vous permettent de construire des connaissements et des factures.
- //Customer_DescPayment// : Si le client est enregistré dans le carnet d'adresses comme 'client', cette macro imprime la description du type de paiement présent.
- //Montant imposable// : Imprime le montant imposable de la commande.
- //VAT// : Imprime la valeur de la TVA.
- //Time:hh:mm[:ss]// : Définit l'heure actuelle. :N.B: Exemple : //Time://Field:Departure time;5////
- //PercIva// : Imprime le taux de TVA.
- //RigaTpg:// : Permet d'insérer des lignes dans un formulaire pré-imprimé pour les types de travaux :NOTE:}.
Paramètres :
Numéro de ligne de la page : le nombre de lignes à insérer
Position du champ[longueur du champ][(SN.B: Exemple : //RigaTpg:16;1,7d "Pieces" 2,2l5 "Description" 10,8d "PrzUnit" 13,8d "PrzTotal"//}
- //TotPag// : Imprime le nombre de pages du document (uniquement si la macro RigaTpg est utilisée) * //Total// : Imprime le montant total du travail. * //TotTpg/ : Imprime le nombre de pièces du document (seulement si la macro RigaTpg est utilisée) : Imprime le nombre de pièces des types présents dans le travail.
Macro des paramètres d'impression
- '//Port :(LPT1|LPT2|COM1|COM2|FILE)// : Spécifie sur quel port le document sera imprimé. * //Imprimante:type d'imprimante ; résolution/ : Spécifie sur quelle imprimante le document sera imprimé et à quelle résolution. * //Imprimante:format de page// : Spécifie le format de page du document. : Spécifie le format de page sur lequel le document sera imprimé.