Vai al contenuto
Menu della documentazione

Designer

L'editor visuale: canvas, bande, elementi, tabelle, collegamento ai dati, espressioni, anteprima, pubblicazione e scorciatoie.

Il Designer è l'editor visuale di Prynt: disponi le bande in millimetri, le colleghi ai dataset SQL, controlli il risultato con un PDF vero e pubblichi le versioni. L'anteprima è prodotta dallo stesso motore che genera i documenti tramite API, quindi ciò che vedi è esattamente ciò che ricevono le tue applicazioni.

app.prynt.it/northwind/operations/designer
Il Designer di Prynt con un template di DDT: a sinistra i dataset e i loro campi, al centro la pagina A4 con i campi collegati, a destra le proprietà del campo selezionato.

Aprire il Designer

  • In Template scegli Nuovo template (formato, codice, descrizione, tipo documento; per un'etichetta anche risoluzione e formato) e Crea e apri, oppure apri un template esistente dal suo nome.
  • Il Designer si apre a tutto schermo in /{organizzazione}/{workspace}/designer/{id}, nella lingua del tuo account (italiano o inglese). La freccia in alto a sinistra torna all'elenco.
  • Cosa puoi fare dipende dal tuo ruolo: templates.write per modificare i draft (designer e ruoli superiori), sql.execute per eseguire e modificare le query e templates.publish per pubblicare (developer e ruoli superiori; i designer chiedono la pubblicazione). I comandi che non puoi usare sono nascosti o disattivati, con il permesso mancante nel suggerimento.

L'editor in sintesi

Barra degli strumentiin alto
Salva, annulla e ripeti, menu Modifica e Disponi, impostazione pagina, zoom, griglia, Anteprima, Pubblica, Versioni, Risorse e Aiuto.
Pannello sinistroschede
Elementi (gli strumenti), Dati (dataset, campi, parametri, valori di sistema) e Struttura (l'albero di bande ed elementi).
Canvasal centro
La pagina in scala reale con i righelli in millimetri e le bande impilate nell'ordine di stampa.
Proprietàa destra
Le proprietà della selezione; senza selezione, quelle della pagina e del report.
Pannello in bassoCtrl+J
Dataset (editor SQL), Parametri, Relazioni, Traduzioni, Problemi e Output.
Barra di statoin basso
Stato del salvataggio, posizione del puntatore in mm, selezione, zoom, versione, ambiente e il tuo ruolo.

Modifichi sempre il draft (etichetta Draft vN). Una versione pubblicata o archiviata si apre in sola lettura, con Crea draft da vN.

Canvas

  • Zoom dal 25% al 400% (Ctrl+rotellina attorno al puntatore, Ctrl++ / Ctrl+-, Ctrl+0), oppure Adatta alla larghezza / Adatta alla pagina. Sposta la vista con Spazio+trascina, il tasto centrale o le barre di scorrimento.
  • Griglia e guide: mostra la griglia (Ctrl+'), aggancia con un passo di 1, 2, 5 o 10 mm, guide intelligenti che allineano ai bordi e ai centri degli altri elementi, contorni degli elementi. Tieni premuto Alt mentre trascini per disattivare l'aggancio.
  • Seleziona con un clic, Maiusc/Ctrl+clic o un riquadro su un'area vuota; sposta trascinando (anche in un'altra banda) o con le frecce; ridimensiona con le otto maniglie (Maiusc mantiene le proporzioni).
  • Disponi: allinea a sinistra, al centro, a destra, in alto, al centro verticale o in basso (due o più elementi), distribuisci (tre o più), cambia l'ordine, blocca. Gli stessi comandi sono nel menu del tasto destro.
  • Trascina il bordo inferiore di una banda per cambiarne l'altezza; con un doppio clic la adatti al contenuto.

Il canvas è un'approssimazione, soprattutto per i font: la verità è l'anteprima.

Bande e data region

La scheda Struttura mostra l'albero di bande, region ed elementi (nascondi un elemento sul canvas, bloccalo, riordina le sezioni del corpo). Il suo menu Aggiungi aggiunge intestazioni e piedi del report e della pagina, una banda statica nel corpo o una data region, che ripete la sua banda di dettaglio per ogni record di un dataset.

  • Proprietà della banda: altezza, sfondo, Visibile se, Stampa su (intestazioni e piedi pagina: tutte le pagine, solo la prima, tutte tranne la prima, solo l'ultima, tutte tranne l'ultima), può crescere, può ridursi, non dividere tra due pagine, nuova pagina prima o dopo.
  • Data region: dataset, relazione (dentro un'altra region), filtro, ordinamento, ripeti l'intestazione su ogni pagina; bande di intestazione, piede e Nessun dato; gruppi con un'espressione chiave, intestazione e piede di gruppo e salto pagina dopo ogni gruppo. I record devono essere ordinati per la chiave del gruppo.
  • Le region annidate (ordini → righe → taglie) usano una relazione definita nel pannello Relazioni.

Elementi

Fai clic su un elemento nella scheda Elementi per aggiungerlo alla banda selezionata, oppure trascinalo dove ti serve.

Testotesto
Testo fisso con espressioni incluse: Cliente: {{CLIENTE.RAGSOC}}. Font, colore, bordi, spaziatura interna, allineamento, può crescere.
Campoespressione
Un valore con un formato e un testo se nullo: CLIENTE.RAGSOC, sum(RIGHE.IMPORTO).
Immagineasset · espressione
Un logo dagli asset del workspace (PNG, JPEG, BMP) o un campo binario; adatta, riempi, stira o dimensione originale.
Linea, Rettangoloforma
Separatori e riquadri: spessore, colore, tratteggio, riempimento, angoli arrotondati.
Tabelladataset
Righe di intestazione, dettaglio e piede collegate a un dataset (vedi sotto).
Barcodeespressione
Code 128, Code 39, EAN-13, EAN-8, UPC-A, ITF, Data Matrix, PDF417, con il testo sotto.
QR Codeespressione
Valore e correzione d'errore L, M, Q o H.
Numero pagina, Totale paginetesto
Pagina {{PageNumber}} di {{TotalPages}}.
Sottoreportcomponente
Un template di tipo Componente inserito nella banda, come un'intestazione aziendale condivisa.

Ogni elemento ha nome, posizione e dimensioni in millimetri, Visibile se, un blocco e i formati condizionali (una condizione con colore, sfondo, grassetto, corsivo o nascondi: si applicano tutti i formati veri, in ordine). Con più elementi selezionati, il pannello modifica le proprietà comuni.

Tabelle

Una tabella scorre un dataset, con una relazione e un filtro se servono. Ha righe di intestazione, righe di dettaglio ripetute per ogni record e righe di piede per i totali; colonne con larghezze in millimetri; griglia, sfondo a righe alterne e intestazione ripetuta su ogni pagina. Fai clic su una cella per modificarla: un testo con {{ }} o un'espressione con un formato, colonne unite, font e allineamento.

Trascinare un campo su una cella la collega: il valore nel dettaglio, il nome del campo nell'intestazione, la somma di un campo numerico nel piede. Trascinare un intero dataset sulla pagina propone una tabella con i campi o una data region.

Collegare i dati

La scheda Dati

La scheda Dati elenca i dataset con i loro campi e tipi, i parametri (Params.NOME), i valori di sistema ($DITTA, $USER, $LANGUAGE, $DATE, $NOW) e le funzioni di pagina (PageNumber, TotalPages, RowNumber, GroupRowNumber). Trascina un campo su una banda per creare un elemento Campo, su una cella per collegarla, oppure dentro un'espressione.

Il pannello Dataset

  • Un elenco di dataset (aggiungi, abilita o disabilita, riordina con Alt+↑/↓, elimina) e, per quello selezionato, codice, sorgente dati, cardinalità (1 record o N record), origine (SQL, Funzione o Condivisa), timeout e righe massime di una prova.
  • L'esploratore del database della sorgente dati del dataset: tabelle, viste e routine con le loro colonne; inserisci una SELECT o un nome con un doppio clic.
  • L'editor SQL evidenzia il dialetto, suggerisce schemi, tabelle, colonne e :PARAMETRI (Ctrl+Spazio) e segna gli errori del database alla loro riga.
  • Parametri della query elenca le bind variable mentre scrivi e da dove arriva ogni valore (un parametro, un valore di sistema, una costante); Crea parametro aggiunge quello mancante.
  • Esegui (Ctrl+Invio) mostra le righe con i loro tipi; Aggiorna campi salva nel dataset i campi rilevati.

I concetti sono in Dataset, Parametri e Sorgenti dati. Le query usano la connessione dell'ambiente scelto in alto nell'applicazione.

Relazioni e traduzioni

  • Relazioni: un dataset padre, un dataset figlio e le coppie di campi chiave; servono alle region e alle tabelle annidate e ai totali delle righe figlie.
  • Traduzioni: una griglia di lingue e chiavi. {{t("DDT.TITOLO")}} stampa il testo nella lingua della generazione, oppure la chiave se manca.

Catalogo campi

Il catalogo campi trasforma i campi dei dataset di un template in nomi che capisce anche chi non è tecnico: un'etichetta leggibile (Ragione sociale cliente, Totale documento, Righe → Quantità), un'etichetta inglese facoltativa, una descrizione, un formato e un valore di esempio. Lo prepara una volta chi scrive le query (membri con datasets.manage: developer, admin, owner, oppure la tua software house) e lo pubblica per i designer.

  • Apri la scheda Catalogo campi del pannello in basso e scegli Aggiungi i campi dai dataset: ogni campo riceve un'etichetta suggerita dal nome della colonna (RAGSOC → Ragione sociale) e un formato dal suo tipo; id e campi binari partono nascosti.
  • Formati: testo, numero con decimali, importo in valuta (EUR di default), data e data/ora, sì/no con i tuoi testi. Un campo trascinato da un designer riceve il formato giusto (#,##0.00 €, dd/MM/yyyy…).
  • Esempi dall'ultima prova riempie gli esempi con la prima riga dell'ultima prova di ogni dataset (scheda Dataset). Segna i campi tecnici come Nascosto.
  • Salva conserva una bozza; Pubblica la rende visibile ai designer; Ritira la nasconde di nuovo. Il catalogo appartiene al template, non a una versione: resta valido quando pubblichi nuove versioni, e i campi spariti dai dataset vengono segnalati. Ogni modifica finisce nell'audit del template.

Niente SQL nel catalogo

L'API del catalogo (GET/PUT …/templates/{id}/field-catalog, …/publish, …/unpublish) non restituisce mai query, data source o dati di connessione.

Modalità designer per chi non è tecnico

I membri con ruolo designer cambiano la grafica senza toccare i dati: vedono il catalogo campi pubblicato al posto di dataset, SQL, parametri e connessioni, e trascinano i campi sulla pagina o nelle celle delle tabelle. Cambiano testi, loghi e immagini dagli asset, colori, caratteri, l'ordine delle colonne delle tabelle e condizioni semplici con i menu: Mostra se [campo] [è maggiore di] [100]. Le condizioni scritte da un tecnico con altre espressioni compaiono come Condizione avanzata (impostata dal tecnico), in sola lettura.

  • Senza un catalogo pubblicato il designer vede un avviso per chiedere al tecnico, e può comunque cambiare la grafica.
  • Un campo usato nel layout ma assente dal catalogo compare nei Problemi: Il campo Totale non è collegato: chiedi alla tua software house.
  • Il server lo garantisce: i designer ricevono le definizioni senza SQL, non possono usare l'IDE SQL, le prove dei dataset, l'esploratore dello schema, i data source o le query condivise, e un salvataggio o un'anteprima che cambia dataset, relazioni o parametri viene rifiutato con DATA_CHANGE_NOT_ALLOWED. Le anteprime con i dati del template funzionano come sempre.
  • L'assistente AI di un designer lavora con il catalogo campi e non può creare o modificare dataset.
  • I tecnici possono provare l'esperienza con Vedi come designer nella barra degli strumenti.

Nomi dei campi sulla pagina

Chi è designer vede nel canvas e nella scheda Struttura i nomi del catalogo campi al posto delle espressioni: [Totale documento] invece di [TESTATA.TOTALE], anche per i segnaposto {{DATASET.CAMPO}} dentro i testi. I tecnici lo attivano con Nomi dei campi al posto delle espressioni nel menu Griglia e guide del canvas (il pulsante della griglia nella barra degli strumenti). Cambia solo quello che vedi: il template contiene sempre le stesse espressioni.

Campi richiesti ed elenchi di documenti

I modelli pronti della galleria di esempi (DDT, fattura, conferma d'ordine, preventivo, packing list, estratto conto, listino prezzi, scheda prodotto, etichetta di spedizione GS1, dichiarazione) arrivano con il catalogo campi già pubblicato (nomi in italiano, con la traduzione in inglese), l'elenco dei campi richiesti (nome del cliente, numero del documento, quantità delle righe, totale…) già collegati ai dati demo, e gli elenchi di documenti reali per l'anteprima. Quando copi un template, tutto questo viene copiato con lui.

I tecnici (permesso datasets.manage) li adattano ai propri dati nella scheda Campi richiesti e documenti del pannello in basso:

  • Campi richiesti: collega ognuno, una volta sola, a un campo dei tuoi dataset (prima i campi del catalogo, poi tutte le colonne). Quando salvi, Prynt aggiorna da solo i riferimenti nella grafica della bozza, solo dove non ci sono dubbi (un campo ancora usato da un altro campo richiesto resta com'è). I campi da collegare, o collegati a un campo che non esiste più, sono elencati con una breve spiegazione; i designer vedono nei Problemi Il campo richiesto X non è collegato: chiedi alla tua software house.
  • Elenchi di documenti reali: per un parametro del template (per esempio DOCUMENT_ID) scegli un nome, in italiano e in inglese, e da dove arriva l'elenco: una query di ricerca (solo lettura, una sola SELECT; il bind facoltativo :SEARCH è il testo scritto dal designer; di solito usa l'origine dati del primo dataset attivo del template) oppure un dataset del modello. Poi indichi le colonne del valore, dell'etichetta e del dettaglio e quanti valori mostrare (da 1 a 200, di solito 50). Prova mostra l'elenco come lo vedranno i designer.
  • Per scrivere una query di ricerca serve il permesso sql.execute. I designer vedono solo i nomi dei documenti, mai la query.

Espressioni e formati

Nei campi e nelle proprietà Visibile se, filtro, chiave e condizione scrivi l'espressione così com'è; nei testi, tra {{ }}.

CLIENTE.CAP & " " & CLIENTE.CITTAunire testi
& concatena qualsiasi valore; + somma i numeri.
round(RIGHE.QTA * RIGHE.PREZZO, 2)calcolo
Aritmetica decimale esatta, arrotondamento lontano da zero.
coalesce(DEST.RAGSOC, CLIENTE.RAGSOC)ripiego
Il primo valore non nullo.
if(T.PORTO == "FD", "Franco", "Assegnato")condizione
Confronta con == e !=, mai con =.
T.NOTE != nullVisibile se
Mostra un elemento solo quando c'è un valore.
sum(RIGHE.IMPORTO, "page")aggregato
Totali per report, region, gruppo o pagina.
formatDate(T.DATA, "d MMMM yyyy")formato
Anche formatNumber(x, "#,##0.00").
t("DDT.TITOLO")traduzione
Il testo della chiave nella lingua della generazione.

I testi vanno tra virgolette, i confronti tra testi distinguono maiuscole e minuscole, e numeri e date senza formato seguono la lingua della generazione (italiano: 1234,5 e 24/09/2026). Un formato su un campo usa le stringhe di formato .NET come #,##0.00 o dd/MM/yyyy; un DATE di Oracle ha sempre un'ora, quindi dagli un formato di data.

Anteprima con dati reali

Anteprima (F5) genera il PDF vero con il motore, dalla definizione corrente, anche non salvata, e con i dati dell'ambiente scelto in alto. I parametri partono dai valori di prova (o dai predefiniti) e restano finché l'editor è aperto; il PDF compare con il numero di pagine e il tempo, con Scarica il PDF e Apri in una nuova scheda.

Quando qualcosa non va, l'anteprima dice dove: l'errore SQL con dataset, riga e posizione (Apri il dataset), l'espressione con l'elemento (Mostra l'elemento), il parametro, oppure l'elenco degli errori della definizione. Le tue applicazioni ricevono lo stesso errore tramite API, ma solo come codice di errore e correlation ID.

Prova di generazione

Risorse → Prova di stampa (runtime) genera la versione corrente pubblicata esattamente come la riceverebbe un client dell'API, con gli stessi errori sintetici. Dentro Prynt Desktop entrambe si possono stampare su una stampante locale.

Anteprima su un documento reale

Se il tecnico ha preparato un elenco di documenti reali, nella finestra dell'anteprima scegli un documento, per esempio DDT n. 1042 del 22/09/2026, invece di scrivere il valore di un parametro. Scrivi un numero o un cliente per restringere l'elenco; funziona anche con la tastiera (frecce, Invio, Esc). L'anteprima si rigenera subito; Usa i dati di esempio torna al valore di prova. L'elenco viene letto sul server, in sola lettura, con la connessione dell'ambiente scelto in alto.

Problemi

La scheda Problemi elenca errori e avvisi dell'ultimo salvataggio o di Verifica, con il loro codice: un campo sconosciuto, un bind senza valore, un elemento fuori dalla sua banda, un campo di un dataset a N record fuori dalla sua region. Fai clic su una riga per selezionare l'oggetto. Gli errori bloccano la pubblicazione; gli avvisi no. Output conserva i messaggi della sessione.

Salvare

  • Salva (Ctrl+S) salva il draft e restituisce le diagnostiche del motore. Non c'è salvataggio automatico: il titolo della scheda mostra un punto finché ci sono modifiche non salvate, e uscire chiede conferma.
  • Annulla e ripeti (Ctrl+Z, Ctrl+Y) coprono ogni modifica della definizione, fino a 200 passi.
  • Se un collega ha salvato lo stesso draft dopo che lo hai aperto, scegli tra Ricarica (scarti le tue modifiche) e Sovrascrivi.
  • Copia e incolla funzionano tra template aperti nella stessa scheda del browser; elementi di documenti ed etichette non si mescolano.

Pubblicazione e versioni

Pubblica esegue i controlli del motore sulla definizione dell'editor (con modifiche non salvate il pulsante diventa Salva e pubblica), elenca errori e avvisi, chiede una nota e può creare subito un nuovo draft. La nuova versione diventa quella corrente: l'API la genera dalla richiesta successiva. Versioni elenca tutte le versioni, con rollback, archiviazione, confronto ed esportazione. Vedi Template.

Richieste di pubblicazione e approvazione

Chi è designer non pubblica: al posto di Pubblica vede Richiedi pubblicazione. Le modifiche vengono salvate, puoi scrivere una nota per chi approva e la richiesta parte per la bozza salvata. Finché aspetta, il pulsante mostra In attesa di approvazione; puoi continuare a modificare e inviarla di nuovo (sostituisce quella di prima) oppure Ritirarla.

  • Chi approva: i membri che possono pubblicare (developer, admin, owner). Un workspace può limitarli ad alcuni di questi ruoli con l'impostazione settings.publishApproverRoles dell'API.
  • La pagina Richieste di pubblicazione (menu laterale, sezione Design, con il numero delle richieste in attesa) le elenca. Approva e pubblica pubblica la bozza con i soliti controlli: un template con errori non si pubblica, e il webhook template.published parte come per ogni pubblicazione. Rifiuta chiede un commento, che arriva a chi ha fatto la richiesta.
  • Se la bozza cambia dopo l'invio, la richiesta è segnata Modificato dopo la richiesta e non si può approvare: chi l'ha fatta la invia di nuovo. Pubblicare direttamente o scartare la bozza chiude le richieste in attesa.
  • Chi approva viene avvisato delle nuove richieste, e chi chiede della decisione, con la campanella delle Notifiche in alto e via email, nella propria lingua.

Niente arriva in produzione senza una pubblicazione

L'API usa sempre le versioni pubblicate. Quello che cambia un designer resta nella bozza finché chi può pubblicare non lo approva. Richieste, approvazioni, rifiuti e ritiri finiscono nell'audit del template.

Confrontare e ripristinare le versioni

In Versioni il confronto si apre nella vista Visivo (la vista JSON mostra le definizioni). I due lati vengono generati dal server con gli stessi dati: i dati di esempio oppure un documento reale scelto dall'elenco del template.

  • Affiancate oppure Sovrapposte, con un cursore per la trasparenza. Evidenzia le differenze fa diventare nero tutto ciò che è uguale: restano chiare solo le differenze.
  • Cosa è cambiato elenca le modifiche alla grafica con il prima e il dopo: elementi aggiunti, tolti, spostati o ridimensionati, testi e stili cambiati, impostazioni della pagina cambiate.
  • Ripristina la versione N: chi può pubblicare fa tornare in uso quella versione pubblicata, dopo una conferma (rollback). Chi è designer ottiene invece una nuova bozza copiata da quella versione, da pubblicare con una richiesta (non disponibile se esiste già una bozza).

Assistente AI

Il pannello Assistente (il pulsante con le scintille nella barra degli strumenti, Ctrl+I) progetta e modifica per te il template aperto: chiedi un documento intero ("un DDT dai dati demo con le righe e i totali") o una modifica ("aggiungi un piede con i totali", "fallo stare in una pagina"). Lavora con gli strumenti del Designer, passo dopo passo: legge il catalogo dei dati, prova query di sola lettura, crea dataset e parametri, aggiunge bande, tabelle, campi e barcode, poi valida il risultato e ne genera l'anteprima. Ogni passo compare nella chat; Ferma lo interrompe e Annulla le modifiche dell'assistente (o Ctrl+Z) annulla tutta la risposta in un solo passo. Per le etichette ZPL usa gli strumenti delle etichette.

  • Usa la tua chiave API di OpenAI: aggiungila in Account → Profilo → Assistente AI, dove scegli anche il modello. La chiave è conservata cifrata e non viene più mostrata.
  • Le richieste, la struttura del template e i nomi di tabelle e colonne vengono inviati a OpenAI sotto il tuo account. Le righe di esempio dei tuoi dati vengono inviate solo se lo consenti nel profilo (disattivato per impostazione predefinita).
  • Serve templates.write; esegue query solo con sql.execute e sempre in sola lettura. Non salva, non pubblica e non elimina mai: salva (Ctrl+S) e controlla l'anteprima quando il risultato ti convince. Owner e admin possono disattivarlo per l'organizzazione.

Scorciatoie da tastiera

F1 mostra questo elenco in qualsiasi pagina dell'applicazione. Su macOS, Cmd vale come Ctrl.

F1tasti
Elenco delle scorciatoie (in un editor di codice: i comandi dell'editor).
Maiusc+F1tasti
Guida del Designer alla sezione della pagina.
Ctrl+Stasti
Salva il draft.
F5tasti
Anteprima PDF; per le etichette, aggiorna l'anteprima ZPL.
Ctrl+Jtasti
Mostra o nasconde il pannello in basso (dataset, parametri, problemi).
Ctrl+Itasti
Mostra o nasconde l'assistente AI.
Ctrl+K o /tasti
Tavolozza dei comandi: template, query condivise, dataset, membri, comandi.
Esctasti
Chiude dialoghi e menu; annulla la selezione (da una cella, torna alla tabella).
Ctrl+Z · Ctrl+Y / Ctrl+Maiusc+Ztasti
Annulla · ripeti.
Ctrl+X · Ctrl+C · Ctrl+Vtasti
Taglia, copia, incolla nella banda selezionata.
Ctrl+D · Canctasti
Duplica · elimina la selezione.
Ctrl+Atasti
Seleziona tutti gli elementi della banda (etichette: tutta l'etichetta).
Frecce · Maiusc+Freccetasti
Sposta di 0,5 mm · 5 mm (etichette: 1 dot · 10 dot).
Ctrl+] · Ctrl+[tasti
Porta avanti · porta indietro.
Ctrl+Maiusc+] · Ctrl+Maiusc+[tasti
Porta in primo piano · porta in fondo.
Ctrl++ · Ctrl+- · Ctrl+0tasti
Ingrandisci · riduci · 100%.
Ctrl+rotellina · Maiusc+rotellinatasti
Zoom attorno al puntatore · scorrimento orizzontale.
Spazio+trascina, tasto centraletasti
Sposta la vista.
Ctrl+'tasti
Mostra o nasconde la griglia.
Maiusc/Ctrl+clictasti
Aggiunge o toglie dalla selezione; trascina sul vuoto per selezionare con un riquadro.
Maiusc+trascina · Alt+trascinatasti
Vincola a un asse o mantiene le proporzioni · senza aggancio.
Ctrl+Invio · Ctrl+Spaziotasti
Nell'editor SQL: esegue la query · suggerimenti.

Le etichette hanno un editor dedicato con gli stessi pannelli e le stesse scorciatoie: vedi Etichette ZPL.