{"id":6169,"date":"2026-08-16T00:00:52","date_gmt":"2026-08-15T23:00:52","guid":{"rendered":"https:\/\/www.atlantisevo.com\/doc\/?post_type=manual_documentation&#038;p=6169"},"modified":"2026-08-16T00:00:52","modified_gmt":"2026-08-15T23:00:52","slug":"messaggi-automatici","status":"publish","type":"manual_documentation","link":"https:\/\/www.atlantisevo.com\/doc\/manuale\/archivi\/tabelle\/tabelle-documenti\/messaggi-automatici\/","title":{"rendered":"Messaggi automatici"},"content":{"rendered":"<div id=\"toctoc\"><\/div><p>Un <strong>messaggio automatico<\/strong> \u00e8 una frase che Atlantis aggiunge da sola in fondo al corpo di un documento, quando il documento risponde a certe condizioni.<\/p>\n<p>Serve per tutte quelle diciture che oggi si scrivono a mano ogni volta: &#8220;Merce resa franco nostro stabilimento&#8221;, &#8220;Operazione non soggetta a IVA ai sensi dell&#8217;art. 41\u2026&#8221;, &#8220;Pagamento a mezzo Ri.Ba. 60 gg &#8211; si prega di non effettuare bonifici&#8221;, le note per i clienti esteri, i riferimenti a una promozione valida fino a fine mese.<\/p>\n<p>Il funzionamento si regge su tre cose:<\/p>\n<ol>\n<li>un <strong>testo<\/strong> (fisso, tradotto per lingua, oppure calcolato da uno script);<\/li>\n<li>dei <strong>filtri di attivazione<\/strong>, che decidono su quali documenti il messaggio deve comparire;<\/li>\n<li>un <strong>articolo descrittivo<\/strong>, che \u00e8 la riga tecnica con cui il testo viene materialmente scritto nel corpo del documento.<\/li>\n<\/ol>\n<p>L&#8217;archivio \u00e8 <strong>per azienda<\/strong>.<\/p>\n<p><img loading=\"lazy\" class=\"aligncenter wp-image-6170 size-full\" src=\"https:\/\/www.atlantisevo.com\/doc\/wp-content\/uploads\/2026\/08\/messaggi_automatici.png\" alt=\"Messaggi automatici su documenti\" width=\"778\" height=\"629\" srcset=\"https:\/\/www.atlantisevo.com\/doc\/wp-content\/uploads\/2026\/08\/messaggi_automatici.png 778w, https:\/\/www.atlantisevo.com\/doc\/wp-content\/uploads\/2026\/08\/messaggi_automatici-300x243.png 300w, https:\/\/www.atlantisevo.com\/doc\/wp-content\/uploads\/2026\/08\/messaggi_automatici-768x621.png 768w\" sizes=\"(max-width: 778px) 100vw, 778px\" title=\"\"><\/p>\n<hr \/>\n<h2>1. Testata<\/h2>\n<table>\n<thead>\n<tr>\n<th>Campo<\/th>\n<th>A cosa serve<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Codice<\/strong><\/td>\n<td>numero progressivo, <strong>assegnato automaticamente<\/strong> in inserimento<\/td>\n<\/tr>\n<tr>\n<td><strong>Descrizione<\/strong><\/td>\n<td>a cosa serve questo messaggio, fino a 50 caratteri. \u00c8 il nome con cui lo ritrovi in elenco, non il testo che esce sul documento<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2>2. Campi filtro attivazione<\/h2>\n<p>Sono le condizioni che il documento deve soddisfare perch\u00e9 il messaggio venga inserito.<\/p>\n<table>\n<thead>\n<tr>\n<th>Campo<\/th>\n<th>A cosa serve<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Tipo documento<\/strong><\/td>\n<td>su quale tipo di documento agisce (fattura, DDT, ordine\u2026). <strong>Va sempre indicato<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>Causale<\/strong><\/td>\n<td>limita a una singola causale documento. L&#8217;elenco proposto \u00e8 filtrato sul tipo documento scelto sopra<\/td>\n<\/tr>\n<tr>\n<td><strong>Soggetto<\/strong><\/td>\n<td>limita a un singolo cliente o fornitore<\/td>\n<\/tr>\n<tr>\n<td><strong>Nazione<\/strong><\/td>\n<td>limita ai soggetti di una nazione<\/td>\n<\/tr>\n<tr>\n<td><strong>Pagamento<\/strong><\/td>\n<td>limita ai documenti con una certa condizione di pagamento<\/td>\n<\/tr>\n<tr>\n<td><strong>Data inizio \/ fine validit\u00e0<\/strong><\/td>\n<td>limita nel tempo, confrontando con la <strong>data del documento<\/strong><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>La regola dei campi vuoti<\/h3>\n<p><strong>Un campo lasciato vuoto significa &#8220;vale per tutti&#8221;.<\/strong> Un messaggio con il solo tipo documento compilato esce su tutti i documenti di quel tipo; aggiungendo la nazione esce solo per i soggetti di quella nazione; aggiungendo anche il pagamento, solo quando ricorrono entrambe le condizioni.<\/p>\n<p>Le date funzionano allo stesso modo: lasciandole vuote il messaggio \u00e8 sempre valido, compilandone una sola si ottiene un &#8220;da\u2026&#8221; o un &#8220;fino a\u2026&#8221;.<\/p>\n<blockquote><p>\u26a0\ufe0f <strong>Attenzione al caso contrario.<\/strong> Il confronto avviene solo se il documento ha quel dato valorizzato. Se il documento <strong>non ha<\/strong> condizione di pagamento, il filtro sul pagamento <strong>non viene applicato<\/strong> e un messaggio riservato a un pagamento specifico esce lo stesso. Vale anche per causale, soggetto e nazione. Se un messaggio compare dove non te lo aspetti, la causa \u00e8 quasi sempre questa: sul documento manca il dato su cui avevi filtrato.<\/p><\/blockquote>\n<p><strong>Pi\u00f9 messaggi possono scattare insieme<\/strong>: se tre messaggi soddisfano le condizioni, vengono aggiunte tre righe. Non c&#8217;\u00e8 una priorit\u00e0 n\u00e9 una scelta del &#8220;pi\u00f9 specifico&#8221; &#8211; escono tutti.<\/p>\n<hr \/>\n<h2>3. Il testo del messaggio<\/h2>\n<h3>Scheda &#8220;Messaggio&#8221;<\/h3>\n<p>\u00c8 il testo base, fino a 2048 caratteri, quello usato quando non c&#8217;\u00e8 una traduzione applicabile.<\/p>\n<h3>Scheda &#8220;Messaggi in lingua&#8221;<\/h3>\n<p>Una riga per ogni lingua: si indica il <strong>codice lingua<\/strong> e il <strong>testo tradotto<\/strong>, poi <strong>Conferma riga<\/strong>. Se il documento \u00e8 intestato a un soggetto con una lingua e per quella lingua esiste la traduzione, viene usata la traduzione al posto del testo base.<\/p>\n<blockquote><p>\u26a0\ufe0f <strong>Trappola da conoscere.<\/strong> Se un messaggio ha traduzioni ma <strong>nessuna<\/strong> per la lingua del documento, il messaggio <strong>non viene inserito affatto<\/strong> &#8211; non ripiega sul testo base. Il ripiego sul testo base funziona solo per i messaggi che non hanno alcuna traduzione.<\/p>\n<p>In pratica: o non inserisci traduzioni (e vale sempre il testo base), oppure le inserisci <strong>per tutte le lingue<\/strong> che usi davvero sui documenti.<\/p><\/blockquote>\n<hr \/>\n<h2>4. Parametri messaggio<\/h2>\n<table>\n<thead>\n<tr>\n<th>Campo<\/th>\n<th>A cosa serve<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Articolo<\/strong><\/td>\n<td>l&#8217;articolo descrittivo con cui viene creata la riga nel corpo<\/td>\n<\/tr>\n<tr>\n<td><strong>Comportamento in variazione doc.<\/strong><\/td>\n<td><strong>Non aggiornare<\/strong> oppure <strong>Inserisci \/ aggiorna<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>Script di generaz. descrizione<\/strong><\/td>\n<td>uno script che calcola il testo al posto di scriverlo<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>L&#8217;articolo<\/h3>\n<p>La riga con il messaggio viene scritta nel corpo del documento usando un <strong>articolo di tipo descrittivo<\/strong>: quantit\u00e0 zero, prezzo zero, nessun movimento di magazzino.<\/p>\n<ul>\n<li>Lasciando il campo <strong>vuoto<\/strong> viene usato l&#8217;<strong>articolo per descrizioni generale<\/strong>, quello impostato nei dati fissi dell&#8217;azienda. Se non \u00e8 impostato nemmeno quello, al salvataggio del documento compare l&#8217;errore <em>&#8220;Articolo per descrizioni non definito per inserimento messaggi automatici su documenti&#8221;<\/em> e la riga non viene creata.<\/li>\n<li>Indicando un articolo, deve essere <strong>di tipo descrittivo<\/strong>: il salvataggio del messaggio viene bloccato con <em>&#8220;L&#8217;articolo indicato non \u00e8 di tipo descrittivo!&#8221;<\/em>.<\/li>\n<\/ul>\n<p>Conviene indicare un articolo <strong>dedicato per ogni messaggio<\/strong> quando si vuole poterlo ritrovare, aggiornare o togliere dal documento in un secondo momento &#8211; ed \u00e8 obbligatorio farlo se si usa l&#8217;aggiornamento in variazione.<\/p>\n<h3>Comportamento in variazione<\/h3>\n<p>Decide cosa succede quando <strong>si rimette mano a un documento gi\u00e0 salvato<\/strong>:<\/p>\n<ul>\n<li><strong>Non aggiornare<\/strong> (impostazione base) &#8211; il messaggio viene inserito solo alla <strong>creazione<\/strong> del documento. Modificando il documento non succede nulla: la riga gi\u00e0 presente resta com&#8217;\u00e8, e se le condizioni sono cambiate non ne viene aggiunta una nuova.<\/li>\n<li><strong>Inserisci \/ aggiorna<\/strong> &#8211; a ogni salvataggio Atlantis cerca nel corpo la riga con quel codice articolo: se la trova, <strong>ne riscrive il testo<\/strong>; se non c&#8217;\u00e8, la <strong>aggiunge<\/strong>. \u00c8 la scelta giusta per i messaggi calcolati da script, che devono restare allineati ai dati del documento.<\/li>\n<\/ul>\n<p>Con <em>Inserisci \/ aggiorna<\/em> l&#8217;<strong>articolo \u00e8 obbligatorio<\/strong>: senza, il salvataggio viene bloccato con <em>&#8220;Se attivato aggiornamento in variazione \u00e8 necessario indicare un articolo&#8221;<\/em>. E quell&#8217;articolo deve comparire <strong>una sola volta<\/strong> nel documento: se ne trova due, l&#8217;aggiornamento si ferma segnalando <em>&#8220;E&#8217; presente pi\u00f9 di una riga descrittiva con il codice articolo: \u2026&#8221;<\/em>.<\/p>\n<h3>Lo script<\/h3>\n<p>Indicando uno script, il testo base e le traduzioni vengono <strong>ignorati<\/strong>: il messaggio \u00e8 quello che lo script restituisce. Serve per i messaggi che dipendono dai dati del documento &#8211; il totale, le scadenze, il peso, un conteggio.<\/p>\n<p>Il pulsante con la <strong>i<\/strong> accanto al campo mostra lo schema di partenza e le variabili disponibili:<\/p>\n<table>\n<thead>\n<tr>\n<th>Variabile<\/th>\n<th>Contenuto<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><code>_ditta<\/code><\/td>\n<td>codice azienda<\/td>\n<\/tr>\n<tr>\n<td><code>_TIPO_DOC<\/code><\/td>\n<td>tipo documento (<code>FATT_OUT<\/code>, <code>DDT_OUT<\/code>, \u2026)<\/td>\n<\/tr>\n<tr>\n<td><code>_N_DOC<\/code><\/td>\n<td>numero documento<\/td>\n<\/tr>\n<tr>\n<td><code>_SERIE_DOC<\/code><\/td>\n<td>serie documento<\/td>\n<\/tr>\n<tr>\n<td><code>_ESERCIZIO_DOC<\/code><\/td>\n<td>esercizio documento<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Lo script deve <strong>restituire il testo<\/strong> del messaggio:<\/p>\n<pre class=\"language-javascript\"><code class=\"language-javascript\">function process(){\r\n    return \"prova messaggio\";\r\n}\r\nprocess();<\/code><\/pre>\n<p>Se lo script non viene trovato o va in errore, al salvataggio del documento compare la segnalazione e la riga non viene scritta.<\/p>\n<hr \/>\n<h2>5. Quando scatta<\/h2>\n<p>Il messaggio viene valutato e inserito <strong>al salvataggio del documento<\/strong>, sia alla creazione sia &#8211; se configurato con <em>Inserisci \/ aggiorna<\/em> &#8211; a ogni successiva modifica. Vale per i documenti compilati a mano e per quelli generati dalle procedure: generazione fatture da DDT, generazione documenti automatica, vendite da punto cassa.<\/p>\n<p>La riga viene aggiunta <strong>in fondo al corpo<\/strong>. Se non ti trovi bene con quella posizione, dopo l&#8217;inserimento puoi spostarla come qualsiasi altra riga descrittiva.<\/p>\n<hr \/>\n<h2>6. Esempi<\/h2>\n<p><strong>Dicitura fissa su tutte le fatture<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tipo documento<\/td>\n<td>Fattura di vendita<\/td>\n<\/tr>\n<tr>\n<td>Tutti gli altri filtri<\/td>\n<td>vuoti<\/td>\n<\/tr>\n<tr>\n<td>Messaggio<\/td>\n<td>&#8220;Merce resa franco nostro magazzino.&#8221;<\/td>\n<\/tr>\n<tr>\n<td>Comportamento in variazione<\/td>\n<td>Non aggiornare<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Nota per i clienti esteri, in lingua<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tipo documento<\/td>\n<td>Fattura di vendita<\/td>\n<\/tr>\n<tr>\n<td>Nazione<\/td>\n<td>il codice della nazione<\/td>\n<\/tr>\n<tr>\n<td>Messaggio<\/td>\n<td>testo in italiano<\/td>\n<\/tr>\n<tr>\n<td>Messaggi in lingua<\/td>\n<td>la traduzione <strong>per tutte le lingue<\/strong> usate su quei clienti<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Promozione a tempo<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tipo documento<\/td>\n<td>Ordine cliente<\/td>\n<\/tr>\n<tr>\n<td>Data inizio \/ fine validit\u00e0<\/td>\n<td>il periodo della promozione<\/td>\n<\/tr>\n<tr>\n<td>Messaggio<\/td>\n<td>&#8220;Promozione primavera: trasporto gratuito per ordini superiori a\u2026&#8221;<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Finito il periodo il messaggio smette da solo di comparire: non serve ricordarsi di disattivarlo.<\/p>\n<p><strong>Messaggio calcolato<\/strong><\/p>\n<table>\n<thead>\n<tr>\n<th><\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Tipo documento<\/td>\n<td>Fattura di vendita<\/td>\n<\/tr>\n<tr>\n<td>Articolo<\/td>\n<td>un articolo descrittivo dedicato, es. <code>MSG_SCAD<\/code><\/td>\n<\/tr>\n<tr>\n<td>Comportamento in variazione<\/td>\n<td>Inserisci \/ aggiorna<\/td>\n<\/tr>\n<tr>\n<td>Script<\/td>\n<td>restituisce il testo con il riepilogo scadenze del documento<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2>7. Promemoria<\/h2>\n<ul>\n<li><strong>Il tipo documento va sempre indicato<\/strong>: senza, il messaggio non si attiva mai.<\/li>\n<li><strong>Prova sempre su un documento reale<\/strong> dopo aver creato un messaggio: \u00e8 il modo pi\u00f9 rapido per accorgersi di un filtro troppo largo o troppo stretto.<\/li>\n<li>Un messaggio che esce dove non deve: controlla se sul documento il campo su cui hai filtrato \u00e8 <strong>vuoto<\/strong> (vedi \u00a7 2).<\/li>\n<li>Un messaggio che non esce mai su documenti esteri: controlla le <strong>traduzioni mancanti<\/strong> (vedi \u00a7 3).<\/li>\n<li>Le righe gi\u00e0 scritte nei documenti <strong>restano come sono<\/strong>: modificando o cancellando un messaggio cambiano solo i documenti successivi. I documenti gi\u00e0 emessi non vanno ritoccati da soli &#8211; ed \u00e8 giusto cos\u00ec, visto che possono essere gi\u00e0 stati stampati o inviati.<\/li>\n<li>Se il messaggio deve poter essere aggiornato o ritrovato, dagli un <strong>articolo descrittivo dedicato<\/strong>: \u00e8 l&#8217;unico aggancio che Atlantis ha per riconoscere la riga.<\/li>\n<\/ul>\n","protected":false},"author":1,"featured_media":0,"parent":1169,"menu_order":1,"template":"","manualdocumentationcategory":[55],"manual_doc_tag":[],"_links":{"self":[{"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_documentation\/6169"}],"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":2,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_documentation\/6169\/revisions"}],"predecessor-version":[{"id":6172,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_documentation\/6169\/revisions\/6172"}],"up":[{"embeddable":true,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_documentation\/1169"}],"wp:attachment":[{"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/media?parent=6169"}],"wp:term":[{"taxonomy":"manualdocumentationcategory","embeddable":true,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manualdocumentationcategory?post=6169"},{"taxonomy":"manual_doc_tag","embeddable":true,"href":"https:\/\/www.atlantisevo.com\/doc\/wp-json\/wp\/v2\/manual_doc_tag?post=6169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}