{"id":6751,"date":"2026-09-20T18:23:40","date_gmt":"2026-09-20T17:23:40","guid":{"rendered":"https:\/\/www.atlantisevo.com\/doc\/?post_type=manual_documentation&#038;p=6751"},"modified":"2026-09-20T18:27:37","modified_gmt":"2026-09-20T17:27:37","slug":"editor-di-query","status":"publish","type":"manual_documentation","link":"https:\/\/www.atlantisevo.com\/doc\/manuale\/utilita\/amministrazione\/editor-di-query\/","title":{"rendered":"Editor di query"},"content":{"rendered":"<div id=\"toctoc\"><\/div><p>L&#8217;<strong>editor di query<\/strong> serve a costruire interrogazioni sui dati del gestionale senza scrivere istruzioni SQL: si scelgono le tabelle da un elenco, si trascinano sull&#8217;area di lavoro, si spuntano i campi da vedere e si aggiungono le condizioni. Il programma scrive per conto suo l&#8217;istruzione, la esegue e mostra i dati in una griglia da cui si esporta in Excel.<\/p>\n<p>Le interrogazioni si salvano con un codice e restano a disposizione: si possono rieseguire in qualsiasi momento, mostrare nella <strong>dashboard<\/strong> con il gadget <em>Interrogazioni Utente<\/em>, usare come sorgente dati di una stampa e scambiare con altre installazioni tramite un file.<\/p>\n<p>Chi conosce l&#8217;SQL pu\u00f2 scrivere l&#8217;istruzione a mano con la casella <strong>Query scritta a mano<\/strong>: in quel caso l&#8217;editor non tocca pi\u00f9 il testo e non pone limiti a quello che si pu\u00f2 scrivere.<\/p>\n<p>Si trova in <strong>Statistiche utente \u2192 Editor di Query<\/strong>.<\/p>\n<hr \/>\n<h2>1. Prima di cominciare: Carica o Varia<\/h2>\n<p>L&#8217;editor si comporta come tutti gli archivi del gestionale: appena aperto \u00e8 in <strong>interrogazione<\/strong>, cio\u00e8 in sola lettura.<\/p>\n<ul>\n<li>per costruire una query nuova si preme <strong>Carica<\/strong> (F4);<\/li>\n<li>per modificarne una esistente la si cerca con <strong>Cerca<\/strong> (F9) e si preme <strong>Varia<\/strong> (F3).<\/li>\n<\/ul>\n<p>Finch\u00e9 non si \u00e8 premuto uno dei due, sopra l&#8217;area di lavoro compare la striscia gialla <em>&#8220;Sola lettura: premi Varia per modificare questa query&#8221;<\/em> e l&#8217;area non risponde: le tabelle non si trascinano, le spunte sui campi non si attivano, le griglie non si modificano. Cliccando lo stesso, in fondo alla finestra compare <em>&#8220;Per modificare la query premi prima Varia.&#8221;<\/em><\/p>\n<blockquote><p>\u26a0\ufe0f <strong>\u00c8 il momento pi\u00f9 facile da sbagliare.<\/strong> Senza il blocco si finirebbe per disegnare un&#8217;intera query e scoprire solo al salvataggio che non era in modifica, perdendo il lavoro. Se l&#8217;area sembra &#8220;morta&#8221;, guardare la striscia in alto.<\/p><\/blockquote>\n<p>Restano invece sempre disponibili, anche in sola lettura, le operazioni che non cambiano nulla: <strong>eseguire<\/strong> la query e guardarne i dati, esportarli, ingrandire l&#8217;area di lavoro, scorrere i campi dentro i riquadri.<\/p>\n<p><strong>Codice<\/strong> e <strong>Descrizione<\/strong> identificano la query: il codice accetta fino a 10 caratteri, la descrizione fino a 50. Il codice non si pu\u00f2 cambiare dopo il salvataggio: per rinominare una query si usa <em>Salva copia<\/em> dalla barra dell&#8217;archivio, oppure si esporta e si reimporta con un codice nuovo (\u00a7 9).<\/p>\n<hr \/>\n<h2>2. La finestra<\/h2>\n<p>La finestra \u00e8 divisa in quattro schede.<\/p>\n<table>\n<thead>\n<tr>\n<th>Scheda<\/th>\n<th>Contenuto<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Struttura<\/strong><\/td>\n<td>l&#8217;elenco delle tabelle a sinistra, l&#8217;<strong>area di lavoro<\/strong> al centro con i riquadri e i collegamenti, la griglia dei <strong>campi della query<\/strong> in basso<\/td>\n<\/tr>\n<tr>\n<td><strong>Filtri<\/strong><\/td>\n<td>le <strong>condizioni sui dati<\/strong> e, sotto, le <strong>condizioni sui totali<\/strong> dei raggruppamenti<\/td>\n<\/tr>\n<tr>\n<td><strong>SQL<\/strong><\/td>\n<td>l&#8217;istruzione, con i colori della sintassi, e i comandi per copiarla, scambiarla su file e collegarla a una stampa<\/td>\n<\/tr>\n<tr>\n<td><strong>Risultato<\/strong><\/td>\n<td>i dati restituiti dall&#8217;ultima esecuzione, con i comandi <em>Esegui<\/em>, <em>Interrompi<\/em>, <em>Esporta in Excel<\/em> e <em>Esporta in CSV<\/em><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>In fondo alla scheda <strong>Struttura<\/strong> una riga di stato commenta l&#8217;ultima operazione (<em>&#8220;Aggiunta la tabella CLIENTI.&#8221;<\/em>, <em>&#8220;Creato il collegamento\u2026&#8221;<\/em>). Sotto l&#8217;istruzione, nella scheda <strong>SQL<\/strong>, compaiono le segnalazioni: in grigio quelle che non impediscono l&#8217;esecuzione, in rosso quelle che la bloccano.<\/p>\n<hr \/>\n<h2>3. Le tabelle e i collegamenti<\/h2>\n<h3>Aggiungere una tabella<\/h3>\n<p>L&#8217;elenco a sinistra riporta tutte le tabelle del gestionale con la loro descrizione (<em>Anagrafica clienti<\/em>, <em>Causali contabili<\/em>\u2026); la casella in cima cerca sia nella descrizione sia nel nome. Una tabella si porta nella query <strong>trascinandola<\/strong> sull&#8217;area di lavoro oppure con un <strong>doppio clic<\/strong>.<\/p>\n<p>Ogni tabella diventa un riquadro con l&#8217;elenco dei suoi campi: i campi che fanno parte della chiave sono in grassetto e color oro, e passando il mouse su un campo compaiono descrizione e tipo. Il riquadro si sposta trascinandone il titolo e si ridimensiona dall&#8217;angolo in basso a destra; se i campi non ci stanno tutti, le frecce in alto e in basso a destra li scorrono (anche con la rotellina del mouse). La posizione dei riquadri viene salvata insieme alla query.<\/p>\n<h3>I collegamenti<\/h3>\n<p>Quando si aggiunge una tabella, il programma cerca da solo come collegarla a quelle gi\u00e0 presenti, usando le relazioni dichiarate nel gestionale (sono oltre cinquecento). Il collegamento compare come una linea fra i due campi, con un quadratino al centro che indica il tipo.<\/p>\n<p>Con il tasto destro sulla linea si sceglie che cosa tenere:<\/p>\n<table>\n<thead>\n<tr>\n<th>Voce<\/th>\n<th>Effetto<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Solo le righe abbinate<\/strong><\/td>\n<td>escluse le righe che non hanno corrispondenza nell&#8217;altra tabella<\/td>\n<\/tr>\n<tr>\n<td><strong>Tutte le righe di \u2026<\/strong> <em>(prima tabella)<\/em><\/td>\n<td>tenute tutte le righe di quella tabella, anche senza corrispondenza: i campi dell&#8217;altra restano vuoti<\/td>\n<\/tr>\n<tr>\n<td><strong>Tutte le righe di \u2026<\/strong> <em>(seconda tabella)<\/em><\/td>\n<td>come sopra, dal lato opposto<\/td>\n<\/tr>\n<tr>\n<td><strong>Elimina il collegamento<\/strong><\/td>\n<td>toglie la linea<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Un <strong>doppio clic sulla linea<\/strong> passa da un tipo all&#8217;altro senza aprire il menu.<\/p>\n<p>Se fra due tabelle esistono pi\u00f9 collegamenti possibili &#8211; capita con le causali contabili, che si richiamano fra loro su campi diversi &#8211; viene scelto il primo e la riga di stato avvisa: <em>&#8220;Per CAU_CONT esistono piu&#8217; collegamenti possibili: e&#8217; stato scelto il primo, controllalo con un doppio clic sulla linea.&#8221;<\/em> Conviene sempre verificarlo.<\/p>\n<h3>Collegare a mano<\/h3>\n<p>Il collegamento si traccia anche a mano: si <strong>trascina da un campo di un riquadro a un campo di un altro<\/strong>. Se fra le due tabelle un collegamento esiste gi\u00e0, la coppia di campi viene aggiunta a quello.<\/p>\n<h3>Tabelle non collegate<\/h3>\n<p>Una tabella che non risulta collegata a nessuna altra viene disegnata con il <strong>bordo rosso tratteggiato<\/strong>, e nella scheda SQL compare in rosso <em>&#8220;La tabella \u2026 non e&#8217; collegata alle altre: aggiungere un collegamento oppure toglierla dalla query.&#8221;<\/em><\/p>\n<blockquote><p>\u26a0\ufe0f <strong>Finch\u00e9 c&#8217;\u00e8 una tabella scollegata il pulsante <em>Esegui<\/em> resta spento.<\/strong> Non \u00e8 una limitazione ma una protezione: una query con tabelle non collegate restituirebbe ogni riga della prima combinata con ogni riga della seconda, cio\u00e8 numeri privi di senso e tempi lunghissimi.<\/p><\/blockquote>\n<h3>La stessa tabella due volte<\/h3>\n<p>Con il tasto destro su un riquadro, la voce <strong>Aggiungi un&#8217;altra copia di questa tabella<\/strong> inserisce una seconda copia della stessa tabella, che prende un nome distinto (<code>CAU_CONT<\/code>, <code>CAU_CONT_2<\/code>). Serve quando un dato rimanda a un altro della stessa tabella: per esempio una causale contabile e la causale di storno collegata, da mostrare l&#8217;una accanto all&#8217;altra.<\/p>\n<p>La voce <strong>Usa come tabella principale<\/strong> stabilisce da quale tabella parte la lettura: conta quando si usano i collegamenti che tengono tutte le righe di un lato.<\/p>\n<hr \/>\n<h2>4. I campi<\/h2>\n<p>Un campo entra nella query con un <strong>clic sulla casella<\/strong> accanto al suo nome, nel riquadro; il doppio clic sul titolo del riquadro aggiunge tutti i campi della tabella. I campi scelti compaiono nella griglia in basso, dove si imposta il resto.<\/p>\n<table>\n<thead>\n<tr>\n<th>Colonna<\/th>\n<th>A cosa serve<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Tabella<\/strong> e <strong>Campo<\/strong><\/td>\n<td>da dove viene il dato; non si modificano da qui<\/td>\n<\/tr>\n<tr>\n<td><strong>Descrizione<\/strong><\/td>\n<td>la descrizione del campo nel gestionale<\/td>\n<\/tr>\n<tr>\n<td><strong>Intestazione<\/strong><\/td>\n<td>il titolo della colonna nel risultato; se vuoto resta il nome del campo<\/td>\n<\/tr>\n<tr>\n<td><strong>Funzione<\/strong><\/td>\n<td>Somma, Conteggio, Conteggio distinti, Media, Minimo, Massimo (\u00a7 5)<\/td>\n<\/tr>\n<tr>\n<td><strong>Raggruppa<\/strong><\/td>\n<td>usata insieme alle funzioni<\/td>\n<\/tr>\n<tr>\n<td><strong>Ordine<\/strong><\/td>\n<td>il livello di ordinamento: 1 per il primo criterio, 2 per il secondo e cos\u00ec via; 0 o vuoto significa nessun ordinamento<\/td>\n<\/tr>\n<tr>\n<td><strong>Decrescente<\/strong><\/td>\n<td>ordina dal pi\u00f9 grande al pi\u00f9 piccolo<\/td>\n<\/tr>\n<tr>\n<td><strong>Mostra<\/strong><\/td>\n<td>togliendo la spunta il campo non compare fra le colonne, ma resta utilizzabile per ordinare<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>L&#8217;ordine delle colonne nel risultato \u00e8 quello della griglia: si cambia con i pulsanti <strong>Su<\/strong> e <strong>Gi\u00f9<\/strong>. <strong>Togli<\/strong> elimina il campo dalla query (la spunta nel riquadro si spegne di conseguenza).<\/p>\n<p>L&#8217;intestazione viene normalizzata nell&#8217;istruzione: maiuscola, senza spazi n\u00e9 accenti (<em>Totale fatturato<\/em> diventa <code>TOTALE_FATTURATO<\/code>). \u00c8 il nome che si vedr\u00e0 come titolo della colonna.<\/p>\n<hr \/>\n<h2>5. Raggruppamenti e totali<\/h2>\n<p>Per ottenere un riepilogo invece dell&#8217;elenco, si imposta una <strong>Funzione<\/strong> sui campi da totalizzare e si lasciano senza funzione i campi per cui raggruppare.<\/p>\n<p>Esempio: per avere il fatturato per cliente si mette <em>Somma<\/em> sul totale documento e si lascia senza funzione la ragione sociale. Il programma raggruppa da solo su tutti i campi mostrati che non hanno una funzione &#8211; \u00e8 l&#8217;errore pi\u00f9 comune quando si scrive l&#8217;istruzione a mano, e qui non pu\u00f2 capitare.<\/p>\n<p>Le funzioni disponibili sono <strong>SUM<\/strong> (somma), <strong>COUNT<\/strong> (conteggio), <strong>COUNT DISTINCT<\/strong> (conteggio dei valori diversi), <strong>AVG<\/strong> (media), <strong>MIN<\/strong> e <strong>MAX<\/strong>.<\/p>\n<p>Le condizioni che riguardano i totali cos\u00ec calcolati &#8211; <em>&#8220;solo i clienti con fatturato oltre 10.000&#8221;<\/em> &#8211; non vanno fra le condizioni sui dati ma nella griglia <strong>Condizioni sui totali<\/strong>, in basso nella scheda <em>Filtri<\/em>: una condizione sui dati esclude le righe prima della somma, una sui totali esclude i gruppi dopo averla calcolata.<\/p>\n<hr \/>\n<h2>6. Le condizioni<\/h2>\n<p>Nella scheda <strong>Filtri<\/strong>, il pulsante <strong>Aggiungi<\/strong> inserisce una riga; ogni riga \u00e8 una condizione.<\/p>\n<table>\n<thead>\n<tr>\n<th>Colonna<\/th>\n<th>A cosa serve<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>(<\/strong> e <strong>)<\/strong><\/td>\n<td>parentesi, per raggruppare le condizioni<\/td>\n<\/tr>\n<tr>\n<td><strong>Tabella<\/strong> e <strong>Campo<\/strong><\/td>\n<td>a cosa si applica la condizione<\/td>\n<\/tr>\n<tr>\n<td><strong>Funzione<\/strong><\/td>\n<td>solo per le condizioni sui totali<\/td>\n<\/tr>\n<tr>\n<td><strong>Condizione<\/strong><\/td>\n<td>l&#8217;operatore (vedi sotto)<\/td>\n<\/tr>\n<tr>\n<td><strong>Valore<\/strong> e <strong>Valore 2<\/strong><\/td>\n<td>i termini di confronto; il secondo serve solo a <em>BETWEEN<\/em><\/td>\n<\/tr>\n<tr>\n<td><strong>Legame<\/strong><\/td>\n<td><em>AND<\/em> oppure <em>OR<\/em> verso la riga successiva<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Gli operatori sono <code>=<\/code>, <code>&lt;&gt;<\/code>, <code>&gt;<\/code>, <code>&gt;=<\/code>, <code>&lt;<\/code>, <code>&lt;=<\/code>, <code>LIKE<\/code> (contiene), <code>NOT LIKE<\/code>, <code>IN<\/code>, <code>NOT IN<\/code>, <code>BETWEEN<\/code> (da\u2026 a\u2026), <code>IS NULL<\/code> (non valorizzato) e <code>IS NOT NULL<\/code> (valorizzato).<\/p>\n<p>Sui valori non serve alcuna precauzione: gli apostrofi vengono gestiti dal programma (si pu\u00f2 scrivere tranquillamente <code>%d'%<\/code>), le date si possono scrivere all&#8217;italiana (<code>31\/12\/2026<\/code>) e vengono tradotte da sole, i numeri accettano sia il punto sia la virgola. Con <code>IN<\/code> e <code>NOT IN<\/code> i valori si scrivono separati da virgola.<\/p>\n<p>Per confrontare con un valore chiesto al momento dell&#8217;esecuzione si scrive <code>[PAR:NOME]<\/code> al posto del valore. Il parametro dell&#8217;azienda, <code>[PAR:SYS_FILTER]<\/code>, \u00e8 sempre valorizzato dal programma (\u00a7 8).<\/p>\n<hr \/>\n<h2>7. L&#8217;istruzione SQL<\/h2>\n<p>La scheda <strong>SQL<\/strong> mostra l&#8217;istruzione che il programma costruisce mentre si lavora, con i colori della sintassi. In costruzione guidata \u00e8 in sola lettura, su sfondo grigio: si modifica agendo sulle altre schede.<\/p>\n<p>Sotto l&#8217;istruzione compaiono le segnalazioni. In rosso quelle che impediscono l&#8217;esecuzione (tabelle scollegate, collegamenti senza campi); in grigio quelle che avvisano soltanto, per esempio <em>&#8220;Nessun campo selezionato: la query restituisce tutte le colonne.&#8221;<\/em><\/p>\n<p>La barra della scheda offre:<\/p>\n<table>\n<thead>\n<tr>\n<th>Comando<\/th>\n<th>Effetto<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Copia l&#8217;istruzione<\/strong><\/td>\n<td>mette l&#8217;istruzione negli appunti<\/td>\n<\/tr>\n<tr>\n<td><strong>Importa da file<\/strong><\/td>\n<td>carica una definizione da un file <code>.qrxml<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Esporta su file<\/strong><\/td>\n<td>salva la definizione in un file <code>.qrxml<\/code><\/td>\n<\/tr>\n<tr>\n<td><strong>Usa in una stampa<\/strong><\/td>\n<td>prepara il riferimento da indicare nell&#8217;anagrafica stampe (\u00a7 9)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Scrivere l&#8217;istruzione a mano<\/h3>\n<p>Spuntando <strong>Query scritta a mano<\/strong>, in alto, l&#8217;istruzione diventa modificabile e il programma smette di rigenerarla: da quel momento vale solo quello che c&#8217;\u00e8 scritto, e non ci sono limiti a ci\u00f2 che si pu\u00f2 scrivere (sottoquery, unioni, funzioni particolari).<\/p>\n<blockquote><p>\u26a0\ufe0f <strong>Togliendo la spunta l&#8217;istruzione viene riscritta dal programma e quella scritta a mano si perde.<\/strong> Se serve conservarla, copiarla prima con <em>Copia l&#8217;istruzione<\/em> o esportarla su file.<\/p><\/blockquote>\n<p>In scrittura a mano non viene aggiunto nulla in automatico, filtro azienda compreso: se serve, va scritto <code>[PAR:SYS_FILTER]<\/code>.<\/p>\n<hr \/>\n<h2>8. Eseguire e vedere i risultati<\/h2>\n<p>Il pulsante <strong>Esegui<\/strong>, nella scheda <em>Risultato<\/em>, lancia l&#8217;interrogazione. L&#8217;esecuzione avviene in secondo piano: il programma resta utilizzabile e il pulsante <strong>Interrompi<\/strong> la ferma.<\/p>\n<p>Il campo <strong>Max righe<\/strong> limita quante righe leggere, di norma 1000: serve a non attendere inutilmente quando si sta mettendo a punto la query. Se il limite viene raggiunto, la riga di stato lo dice &#8211; <em>&#8220;1000 righe (elenco troncato al limite impostato) in 2,3 secondi&#8221;<\/em>. Con 0 non c&#8217;\u00e8 limite.<\/p>\n<p>I dati si portano fuori con <strong>Esporta in Excel<\/strong> o <strong>Esporta in CSV<\/strong>; il file viene aperto subito dopo la generazione. Senza aver eseguito la query compare <em>&#8220;Non ci sono dati da esportare: eseguire prima la query.&#8221;<\/em><\/p>\n<h3>Il filtro sull&#8217;azienda<\/h3>\n<p>Le tabelle del gestionale contengono i dati di tutte le aziende gestite. Il programma aggiunge da solo la condizione sull&#8217;<strong>azienda in uso<\/strong>, nel punto giusto: sulla tabella principale, oppure dentro il collegamento quando si sono chieste &#8220;tutte le righe&#8221; di un lato &#8211; messa nel posto sbagliato, quella condizione farebbe sparire proprio le righe che si volevano tenere.<\/p>\n<p>Non c&#8217;\u00e8 quindi bisogno di indicare l&#8217;azienda a mano, e la query salvata resta valida per qualunque azienda: eseguita da un&#8217;altra ditta, restituisce i dati di quella ditta.<\/p>\n<hr \/>\n<h2>9. Salvare e riusare la query<\/h2>\n<p>Si salva come in ogni archivio, con <strong>Salva<\/strong>. La definizione viene registrata nel database insieme all&#8217;istruzione.<\/p>\n<blockquote><p>\u26a0\ufe0f <strong>Una definizione molto grande non si salva.<\/strong> Il limite \u00e8 di 124.000 caratteri complessivi e viene raggiunto solo con query molto estese; in quel caso compare <em>&#8220;La definizione della query e&#8217; troppo lunga per essere salvata (\u2026 caratteri, il massimo e&#8217; 124000). Ridurre il numero di tabelle, campi o condizioni.&#8221;<\/em> e il salvataggio non avviene.<\/p><\/blockquote>\n<p>Una query salvata si riusa in tre modi.<\/p>\n<h3>Nella dashboard<\/h3>\n<p>Il gadget <strong>Interrogazioni Utente<\/strong> della dashboard mostra il risultato di una query salvata: nella configurazione del gadget si indica il <strong>Codice Query<\/strong>, il titolo, i minuti di aggiornamento e, volendo, le intestazioni delle colonne. Con un doppio clic sul gadget i dati vanno in Excel.<\/p>\n<blockquote><p>Il gadget sa valorizzare solo il parametro dell&#8217;azienda. Una query che usa altri parametri <code>[PAR:\u2026]<\/code> non funziona nel gadget: per la dashboard conviene una versione senza parametri.<\/p><\/blockquote>\n<h3>Come sorgente di una stampa<\/h3>\n<p>Il pulsante <strong>Usa in una stampa<\/strong> prepara il riferimento <code>[QUERY:CODICE]<\/code> e lo copia negli appunti. Quel riferimento va scritto nel campo <strong>Query<\/strong> della stampa, in <strong>Utilit\u00e0 \u2192 Amministrazione \u2192 Stampe<\/strong>, al posto del nome del file <code>.sql<\/code>: da quel momento la stampa prende i dati dalla query salvata, e per cambiarli basta modificare la query invece di intervenire sui file.<\/p>\n<p>Se la query non \u00e8 ancora stata salvata compare <em>&#8220;Salva prima la query: serve il suo codice.&#8221;<\/em><\/p>\n<h3>Su file<\/h3>\n<p><strong>Esporta su file<\/strong> e <strong>Importa da file<\/strong> scambiano la definizione completa (tabelle, collegamenti, campi, condizioni, istruzione) in un file <code>.qrxml<\/code>: \u00e8 il modo per portare una query da un&#8217;installazione all&#8217;altra o per conservarne una copia prima di modifiche importanti.<\/p>\n<hr \/>\n<h2>10. Le query create con l&#8217;editor precedente<\/h2>\n<p>Le query salvate con l&#8217;editor precedente continuano a funzionare e si aprono normalmente. Due cose da sapere.<\/p>\n<ul>\n<li><strong>L&#8217;istruzione salvata non viene riscritta all&#8217;apertura.<\/strong> Viene mostrata cos\u00ec com&#8217;era, e viene rigenerata solo quando si modifica davvero qualcosa: una query in uso non cambia comportamento per il solo fatto di essere stata aperta.<\/li>\n<li><strong>I collegamenti non erano memorizzati<\/strong> dall&#8217;editor vecchio: vengono ricostruiti dalle relazioni del gestionale, e la riga di stato avvisa &#8211; <em>&#8220;Query creata con l&#8217;editor precedente: i collegamenti fra le tabelle sono stati ricavati dallo schema. L&#8217;istruzione salvata e&#8217; stata lasciata invariata.&#8221;<\/em> Se erano presenti collegamenti ambigui il messaggio lo indica: conviene controllarli prima di salvare.<\/li>\n<\/ul>\n<p>Per la stessa ragione, nelle query vecchie <strong>il filtro sull&#8217;azienda non viene aggiunto<\/strong>: era assente prima e aggiungerlo cambierebbe i dati restituiti. Se la query filtra gi\u00e0 l&#8217;azienda a modo suo, va bene cos\u00ec; se non lo fa e deve farlo, aggiungere la condizione <code>[PAR:SYS_FILTER]<\/code> a mano.<\/p>\n<hr \/>\n<h2>11. Promemoria<\/h2>\n<ul>\n<li><strong>Premere Carica o Varia prima di disegnare<\/strong>: in interrogazione l&#8217;area di lavoro non risponde, e la striscia gialla in alto lo ricorda.<\/li>\n<li><strong>Il pulsante Esegui spento significa query incompleta<\/strong>: la spiegazione \u00e8 in rosso nella scheda SQL, quasi sempre una tabella non collegata.<\/li>\n<li><strong>Controllare i collegamenti proposti<\/strong> quando la riga di stato avvisa che ce n&#8217;erano pi\u00f9 d&#8217;uno: il primo scelto potrebbe non essere quello giusto.<\/li>\n<li><strong>Per un riepilogo servono le funzioni<\/strong>, non l&#8217;elenco: Somma sui valori, nessuna funzione sui campi per cui raggruppare.<\/li>\n<li><strong>Condizioni sui dati e condizioni sui totali sono cose diverse<\/strong>: le prime escludono righe, le seconde escludono gruppi gi\u00e0 totalizzati.<\/li>\n<li><strong>Non serve indicare l&#8217;azienda<\/strong>: la mette il programma, nel punto corretto anche con i collegamenti che tengono tutte le righe di un lato.<\/li>\n<li><strong>Togliendo la spunta <em>Query scritta a mano<\/em> l&#8217;istruzione scritta a mano si perde<\/strong>: copiarla prima.<\/li>\n<li><strong>Il limite Max righe serve solo alla prova<\/strong>: ricordarsi di alzarlo, o azzerarlo, quando si esporta un elenco che deve essere completo.<\/li>\n<li><strong>Prima di modifiche importanti esportare la query su file <code>.qrxml<\/code><\/strong>: \u00e8 la copia di sicurezza pi\u00f9 semplice.<\/li>\n<li><strong>Una query usata da un gadget o da una stampa \u00e8 in uso<\/strong>: modificarla cambia anche quello che vedono gli altri.<\/li>\n<\/ul>\n","protected":false},"author":1,"featured_media":0,"parent":1503,"menu_order":24,"template":"","manualdocumentationcategory":[55],"manual_doc_tag":[],"_links":{"self":[{"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_documentation\/6751"}],"collection":[{"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_documentation"}],"about":[{"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/types\/manual_documentation"}],"author":[{"embeddable":true,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":4,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_documentation\/6751\/revisions"}],"predecessor-version":[{"id":6757,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_documentation\/6751\/revisions\/6757"}],"up":[{"embeddable":true,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_documentation\/1503"}],"wp:attachment":[{"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/media?parent=6751"}],"wp:term":[{"taxonomy":"manualdocumentationcategory","embeddable":true,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manualdocumentationcategory?post=6751"},{"taxonomy":"manual_doc_tag","embeddable":true,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_doc_tag?post=6751"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}