I programmi applicativi sono gestori del codice utilizzato e del momento della chiamata al sotto programma di generazione.
La parametrizzazione dei movimenti automatici si effettua dando il codice in testata della videata e specificando nel dettaglio le caratteristiche dell'insieme di movimenti da trasmettere.
In versione 140, non esiste più la parametrizzazione dedicata ai movimenti contabili collegati ai pagamenti: sono diventati dei movimenti standard. In compenso, poiché il processo di pagamento, che è complesso, si svolge su più movimenti che si concatenano, è stata definita una nozione complementare: quella del gruppo di movimenti, che permette di definire tutti i movimenti automatici generati simultaneamente, con una descrizione dei movimenti da pareggiare insieme.
La definizione di un movimento automatico si effettua definendo le caratteristiche della testata del movimento, poi le caratteristiche delle righe tramite una serie di definizioni di righe associate. Una definizione di riga può dare luogo alla creazione di un insieme di righe di movimento. Infatti, il tipo delle righe può essere unica, ripetitiva o su tabella collegata: i due ultimi casi provocano potenzialmente la creazione di un insieme di righe.
Al contrario, delle righe possono essere raggruppate automaticamente, dal momento in cui i criteri successivi sono identici sulle righe interessate:
Un movimento in valuta si definisce indicando la valuta del movimento nei campi della testata.
In questa fase, la gestione dei cambi di valuta per determinare gli importi in valuta di contabilizzazione e di reporting avviene nella seguente maniera:
La definizione di una OD analitica è identica a quella di un movimento generale, salvo che non viene imposto un movimento adattato, e sono indicate solo le nature e le sezioni interessate (diventano allora obbligatorie).
Riferirsi alla documentazione di Implementazione
La definizione dell'insieme di movimenti si effettua su due videate che si concatenano tramite un bottone:
Campi
I seguenti campi sono presenti in questo folder :
| Questo codice identifica in maniera univoca lo schema del movimento da utilizzare per validare contabilmente un movimento. |
|   |
|   |
Chiudi
Presentazione
Questa prima videata permette di definire la struttura della testata del movimento.
Lasciando il folder di definizione delle righe per passare sul primo folder dopo aver lasciato il folder di definizione delle righe, viene effettuata un elaborazione automatica per il passaggio dei movimenti.
Oltre alle caratteristiche generali (codice descrizione, ecc...), il primo folder permette di definire le seguenti informazioni:
In questo riquadro si definisce un elenco di tabelle collegate alla tabella attivante, cosa che permette di utilizzare campi di queste tabelle nelle formule di calcolo del riquadro precedente. Così, per esempio, è possibile utilizzare le informazioni collegate alla scheda terzo (BPSUPPLIER) per i movimenti contabili collegati alla fattura. La seconda colonna di questo riquadro permette di definire il campo della tabella attivante il cui valore definisce il record collegato da leggere (difatti, ci possono essere più scelte possibili: nel caso della fattura, può essere il terzo fatturante o il terzo pagatore). Una finestra di selezione permette di conoscere i campi possibili.
In questo riquadro si definiscono delle formule di calcolo che permettono di calcolare il valore dei campi della testata del movimento. Le formule di calcolo presenti in questo riquadro devono essere adeguate (per esempio, gli importi devono essere numerici, il codice giornale alfanumerico).
Tali formule di calcolo possono essere semplicemente delle costanti nei casi più semplici (per esempio, il giornale delle vendite potrebbe essere costante e chiamarsi VEN: in questo caso, basta una formula di calcolo "VEN" per definire il giornale). Ma queste possono anche essere più complicate ed integrare dei campi estratti sia dalla tabella attivante che da tabelle collegate definite dal riquadro dei legami dettagliato qui in basso. In alcuni casi, un valore di default viene assegnato al campo se non è stata definita nessuna formula.
I campi più importanti di questa testata sono i seguenti:
Chiudi
Campi
I seguenti campi sono presenti in questo folder :
[Sélection]
| Questo campo di tipo menù locale definisce il modulo che ha generato il movimento. |
|   |
| La tabella definita in questo campo è la tabella i cui record correnti attivano lo schema di contabilizzazione. Ad esempio, per validare le fatture di vendita si tratterà delle tabelle contenenti le testate di fattura . |
|   |
| Questo campo permette di sapere in quale tabella del database si trova il/i record padre relativi al passaggio dei movimenti. |
| Quando viene richiamato lo schema contabile per elaborare un insieme di righe della tabella attivante, si può a scelta generare o un movimento contabile per riga oppure solo un movimento globale, a seconda della risposta data a questa domanda. Questo campo del tipo menù locale può assumere due valori che sono:
Movimento per rigaNel primo caso, si genera un movimento contabile per record della tabella attivante. Esempio: quando si generano dei movimenti contabili di fattura. Per ogni record del file delle fatture, sarà generato un movimento contabile (il record corrente della tabella al momento del richiamo che definisce la fattura da contabilizzare). RaggruppatoNel secondo caso, si leggerà un insieme di record della tabella attivante. Questa tabella possiede in questo caso una chiave principale in N parti e si legge l'insieme dei record con le P prime parti di chiave fornite (P<N). |
| E' possibile generare più movimenti basandosi su un criterio di rottura definito in una tabella di dettaglio collegata alla tabella attivante. Questo campo indica il nome della tabella sulla quale va applicata la rottura. Il campo successivo indica il nome del campo della rottura. Le righe di un movimento di questo tipo sono tutte le righe di tipo Tabella collegata, poiché la tabella corrispondente è la tabella in cui si trova il criterio di frazionamento. Esempio 1 :
Esempio 2 : Se si desidera creare un movimento di OD intra-valute differente per valuta, bisogna parametrizzare nei campi Frazionamento movimento il nome della tabella PAYMENTD ed il nome del campo valuta (CURLIN). Il semplice fatto di realizzare questa parametrizzazione basta a frazionare gli insiemi di righe creati nei vari movimenti. Ovviamente ciò può funzionare solo se tutte le righe della scrittura sono di tipo Tabella collegata basate su PAYMENTD. Non si riuscirebbe a "suddividere" una riga univoca (con quale criterio determinare l'importo di ogni riga?). |
| E' possibile generare più movimenti basandosi su un criterio di rottura definito in una tabella di dettaglio collegata alla tabella attivante. Il campo precedente indica il nome della tabella sulla quale va applicata la rottura. Questo campo contiene il nome del campo sul quale si applica la rottura. |
|
|   |
|   |
|   |
Riquadro Elenco tabelle collegate
| Si specifica qui il nome delle tabelle che devono essere on line al momento della validazione contabile dei movimenti. |
| Si indica qui il nome del campo della tabella principale il cui valore permette di conoscere la chiave della tabella collegata. Ad esempio, nel caso di una fattura, se si vuole accedere al cliente, occorre indicare il campo che permette di conoscere il codice del cliente. In questo esempio, si ha la scelta tra più codici (cliente fatturato, pagatore, statistico...) |
Riquadro Legislazioni
|
|
Blocco numero 5
| Se è contrassegnata, questa casella permette, di autorizzare importi negativi in un movimento. |
| Se contrassegnata, questa casella permette di accettare il trasferimento di un movimento su un periodo chiuso, trasferendolo alla prima data successiva non chiusa. |
| Occorre indicare questo campo per i movimenti automatici dei pagamenti definiti in un gruppo di movimenti. Fa riferimento ad una codifica interna. I valori possibili sono:
Permette di attivare alcuni meccanismi automatici (gestione degli insoluti, salvataggio dei conti di tesoreria intermedi). Il suo valore è salvato generalmente nella tabella PAYACCNUM e viene utilizzato per definire le fasi che appaiono in inserimento dei pagamenti. |
Particolarità
| Il campo "Filtro" permette di definire il filtro effettuato sulla tabella attivante. Il movimento è generato solo se è verificato il valore dell'espressione. |
| Il campo "Condizione" permette di inserire una formula di tipo AFNC.PARAM("FRAVAT",[F:SIH]CPY)="2". Se un record non soddisfa la condizione indicata, non verrà considerato. |
Riquadro Formule
|   |
| La valutazione di questa espressione permette di alimentare il valore del campo corrispondente nella testata del movimento contabile che sarà generato dallo schema. |
Chiudi
Funzioni accessibili tramite click destro sul riquadro
Campi
I seguenti campi sono presenti in questo folder :
Blocco numero 1
|
|
|
Blocco numero 2
|
Riquadro Parametri
|
|
Chiudi
Di default, le seguenti stampe sono associate alla funzione :
GAUTACE : Movimenti automatici
Ma ciò lo si può modificare tramite parametrizzazione.
Questo bottone permette di passare dalla videata di testata al folder delle righe. |
I seguenti campi sono presenti sulla finestra aperta da questo bottone : Blocco numero 1
Blocco numero 2
Chiudi Questo bottone permette di copiare un movimento automatico su un altro dossier. Definizione delle righe di movimento (primo folder)La definizione delle caratteristiche di ogni riga di movimento si effettua su due folder la cui visualizzazione è attivata dal bottone corrispondente. Si ha alora la possibilità di selezionare le diverse righe con l'aiuto della lista di selezione, o di crearne di nuove. Queste righe di movimenti sono caratterizzate da una parte da un tipo e da condizioni generali (sul primo folder) e dall'altra parte da un elenco di formule che permettono di valutare i diversi campi delle righe (sul secondo folder). Si definisce una scheda per riga di movimento o per gruppo di righe di movimenti, parametrizzando i seguenti campi: Tipo di rigaQuesto campo può assumere tre valori:
CondizioneSi tratta in questo caso da una fino a tre condizioni logiche che vertono sui valori dei campi della tabella principale e della tabella generale se si tratta di una riga di tipo tabella collegata (incluse eventualmente costanti e funzioni). Se queste condizioni esistono, devono essere soddisfatte affinchè la riga venga generata. Nel caso di una parametrizzazione di riga di tipo ripetitiva, queste condizioni possono utilizzare la variabile indice. Tabella generale / Tabella analiticaLa definizione di questi due campi viene effettuata qui in alto nel campo Tipo riga. Sezioni di defaultQuesto codice permette di assegnare delle sezioni di default diverse da quelle che sarebbero state definite nelle parametrizzazioni che permettono di assegnare delle sezioni ai documenti di origine del movimento. In questo contesto il suo utilizzo rimane eccezionale; va inoltre notato che la parametrizzazione corrispondente deve utilizzare solo delle variabili collegate alle tabelle in linea così come sono definite nel movimento automatico (nel contesto di esecuzione nessuna videata è in linea). Condizione dettaglio righeQuesto campo può contenere un'espressione logica. Se questa espressione esiste, viene valutata e condiziona l'utilizzo del criterio di dettaglio per aggregare o frazionare le righe (questo criterio sarà utilizzato solo se la condizione è vera). Se l'espressione non esiste, viene utilizzato il criterio di dettaglio (si fa come se l'espressione esistesse ed il suo risultato fosse vero). Compensazione Dare / AvereQuando più righe generate da un tipo di riga ripetitiva o tabella collegata hanno delle caratteristiche identiche (con questo si intende il conto generale, il sito, il conto terzi, la natura, il codice IVA e la ripartizione analitica se si tratta di movimenti passati con chiavi di ripartizione), queste vengono raggruppate in una sola. Se i movimenti differiscono tra loro per le sezioni analitiche, si crea una ripartizione in importo del movimento analitico raggruppando in una sola riga a livello della contabilità generale. Questa casella da contrassegnare permette di precisare se il segno del movimento deve essere preso in considerazione alla generazione. Se la casella è contrassegnata, sono raggruppati i movimenti con caratteristiche analoghe e di segno diverso (l'importo totale è la somma algebrica degli importi: se il totale è nullo, la riga non verrà creata). Altrimenti, ci sarà una riga di movimento in dare ed un'altra riga di movimento in avere. Il riquadro dei legamiQuesto riquadro permette di definire delle tabelle il cui contenuto deve essere in linea per la determinazione delle caratteristiche della riga di movimento. In questo riquadro si definiscono sia il nome della tabella che il campo contenente il valore della chiave principale. E' possibile selezionare solo le tabelle collegate direttamente sia alla tabella principale del movimento automatico che alla tabella generale (per le righe di tipo Tabella collegata) . Il riquadro dei codici contabiliQuesto riquadro assolve due funzioni:
Un codice contabile è un codice alfanumerico presente sulla maggior parte delle schede di base del sistema, che permettono di influire sui movimenti generati a partire da informazioni che provengono dalla scheda corrispondente. La tabella dei codici contabili è caratterizzata sia dal tipo del codice, che rappresenta la scheda sulla quale un simile codice può essere presente, che dal codice alfanumerico che si presume essere definito in maniera parlante per l'utente (per esempio, ITALIA, EXPORT nel caso di codici collegati a dei clienti, SERVIZI, PRODOTTI nel caso di codici collegati a degli articoli). I tipi di codici contabili sono numerosi. E' possibile citare i seguenti tipi: Articolo, Cliente, Fornitore, Commerciale, Acquirente, Documento, Società, Sito, Valuta, Iva, Piede, Sconto, Banca, Pagamento, Cespite… Ad un determinato tipo sono collegate una serie di righe di definizione caratterizzate da una descrizione. Ad esempio, Modificatore acquisto, Modificatore vendita, Modificatore cespite… nel caso del tipo di codice Articolo. Ognuna di queste righe permette di definire allo stesso tempo sia un conto generale, sia solo una sua parte (i caratteri non definiti sono rappresentati da delle x) ed una natura analitica. La parametrizzazione che permette di definire le righe associate ad un codice contabile è definita in una funzione dedicata. Al momento della generazione automatica di movimenti, la determinazione del conto generale si effettua tramite ricerche successive dei codici contabili nell'ordine di dichiarazione, cercando di alimentare solo le porzioni del conto non ancora determinate. La natura analitica viene ricercata successivamente tramite lettura dei codici contabili, fermandosi nel momento in cui è definita una natura. Si immagini, per esempio, che per una riga di vendita, il codice contabile sia definito dall'espressione "7xxxxxxx", e che nel riquadro dei modificatori si trovino i seguenti elementi:
Se l'articolo presente nella riga ha come codice contabile SERVIZIO e nella tabella dei codici contabili si trova Conto = "xx23xxx", Se il commerciale presente nella riga ha come codice contabile EXPORT e nella nella tabella dei codici contabili si trova Conto = "xx2x2", Se il sito presente nella riga ha come codice contabile NORD e nella tabella dei codici contabili si trova Conto = "xxxxxxx48", Se la valuta presente nel movimento ha come codice contabile EURO e nella tabella dei codici contabili si trova Conto ="xxxxx45xx", Allora il codice contabile sarà determinato in 6 passi successivi:
Se la natura non fosse stata definita da una formula, si sarebbe dovuto cercare successivamente la natura nel codice contabile articolo, poi nel codice contabile commerciale, poi nel codice contabile sito, ed infine nel codice contabile associato alla valuta. In assenza, si sarebbe finito per prendere la natura di default del conto contabile.
il legame verso la tabella articolo rimane definito da una riga di codice contabile. Elenco dei campi da alimentare nel riquadro dei codici contabiliPrima di tutto si definiscono il tipo di codice contabile ed il numero della riga dove si ricercano il conto e la natura (si inserisce il numero e si visualizza la descrizione, che appare direttamente dalla finestra di selezione) Si inserisce in seguito un'espressione il cui valore corrisponde alla chiave della tabella collegata (articolo, cliente, fornitore, ecc...) Alla fine si inserisce una espressione logica opzionale. Se questa espressione esiste, il link sulla tabella e l'applicazione del codice contabile sono realizzati solo se il risultato della valutazione dell'espressione restituisce un risultato uguale a vero. Tra tutte le espressioni qui inserite, è possibile utilizzare campi estratti dalle tabelle in linea, che sono:
Il riquadro delle formule associate ai campi delle righe di movimento (secondo fIn questo riquadro si definiscono le formule di calcolo che permettono di definire l'insieme dei campi di ognuna delle righe del movimento contabile. Le formule di calcolo presenti in questo riquadro devono essere adeguate (per esempio, gli importi devono essere numerici, il codice del conto alfanumerico). Queste formule di calcolo possono essere semplicemente delle costanti nei casi più semplici. Ma possono essere più complicate ed integrare dei campi estratti dalle tabelle successive già descritte, alle quali si possono aggiungere le tabelle definite tramite il riquadro dei codici contabili espresso qui in basso. Inoltre, è possibile utilizzare la variabile indice se il tipo di riga da generare è ripetitiva. Infine, esistono un insieme di variabili che possono essere utilizzate tramite la sintassi V_XXXXX : queste variabili sono in realtà alimentate tramite chiamata ad un sotto-programma definito nella funzione di parametrizzazione delle variabili. La chiamata al sotto-programma in questione avviene passandogli all'occorrenza dei parametri. Il tasto destro permette, con la scelta Parametri, di definire i valori di questi parametri, precisando un'espressione che può utilizzare costanti, operatori, funzioni, e tutti i campi delle tabelle in linea. L'editor di formule è disponibile tramite clic destro per facilitare la costruzione delle formule complesse. I campi più importanti delle righe di movimento sono i seguenti:
Il riquadro delle azioni (terzo folder)Questo riquadro permette di definire, su alcuni eventi tecnici particolari nel processo di contabilizzazione, delle chiamate a dei sotto-programmi. Questi sotto-programmi, identificati dal nome dell'etichetta e dal nome del programma, sono forniti in standard. Si consiglia quindi di non modificarli. In compenso, nell'ambito di alcune elaborazioni specifiche, è possibile scrivere nuovi programmi associati a tali azioni. Gli eventi tecnici esistenti sono i seguenti: Azione ante creazione rigaPermette di definire due criteri, CRITIMP e CRITMTC, in funzione di campi della tabella principale di abbreviazione TB0 o della tabella secondaria di abbreviazione [TB1]). ? Questi criteri permettono soprattutto di raggruppare o meno le righe, nella gestione dei movimenti collegati ai pagamenti. Questa azione è utilizzata in standard con i seguenti valori:
Azione post creazione rigaE' utilizzata anch'essa nella gestione dei movimenti collegati ai pagamenti. Questa azione è utilizzata in standard con i seguenti valori:
Azione di legamePermette di chiamare un sotto-programma di lettura di informazioni collegate in modo non standard (si posiziona a livello di ogni riga). |
Oltre ai messaggi generici, i seguenti messaggi d'errore possono apparire al momento dell'inserimento :
L'espressione adonix inserita non è sintatticamente corretta (per esempio, il numero di argomenti di una funzione non è corretto, oppure manca una parentesi). Si noti che è impossibile individuare degli errori più complessi su delle espressioni (per esempio, divisione per zero, variabile inesistente...). Questi errori saranno individuati alla generazione dei movimenti, si ritroverà un elenco esauriente più avanti.
Ciò significa che si è tentato di fare un legame dalla tabella attivante su una tabella per la quale il dizionario non conosce il legame (per esempio, collegare la testata della fattura con la tabella degli articoli).
Ciò capita anche se il campo di legame è errato (quando si inserisce una tabella da collegare, si possono scegliere i campi di legamepossibili tramite una finestra di selezione)
Questo messaggio appare se il numero di indice utilizzato per un codice contabile non esiste (per esempio, se si cerca di utilizzare l'indice n° 4 per un codice contabile Acquirente).
Gli errori segnalati qui di seguito possono capitare al momento della generazione dei movimenti (in validazione contabile di fattura, per esempio). La maggiorparte di essi hanno come origine una parametrizzazione imperfetta. Alcuni possono capitare solo se delle operazioni di manutenzione hanno alterato alcuni dei dati.
Il codice di parametrizzazione richiamato dall'operazione di generazione non esiste.
La tabella attivante non è accessibile al momento della generazione.
La tabella attivante non esiste.
Il numero di elementi di chiavi della tabella principale non corrisponde a quello che ci si aspettava.
Il valore di chiave che corrisponde al record corrente della tabella principale non esiste più o non soddisfa le condizioni di generazione.
La tabella secondaria XXX fornita nei parametri di generazione di una riga non esiste.
La tabella analitica XXX indicata nei parametri di generazione di una riga non esiste.
(seguito del messaggio di errore)
Al momento della valutazione del campo ZZZ in corso di generazione di movimento, l’errore corrispondente al messaggio che segue si è verificato. Questo errore può essere uno qualsiasi (variabile inesistente, divisione per zero…)
Non è stato possibile fare il legame sulla tabella XXX collegata alla testata (per esempio, nel caso di una fattura, se XXX è BPC, questo vuol dire che il codice Terzo fatturato non esiste).
Questo significa che è stato referenziato un codice contabile inesistente o un numero di riga inesistente (il n° nnn) per un determinato codice contabile (per esempio, il codice n° 12 per il codice contabile articolo).
Il contatore collegato al tipo di movimento da generare non esiste.
La porzione di numeri attribuita per il tipo di movimento da generare è stata superata.
Il campo sito fa riferimento ad un codice sito inesistente dopo la valutazione.
Il campo società fa riferimento ad un codice società inesistente dopo la valutazione.
Non è stato possibile trovare il cambio di valuta corrispondente ai parametri forniti.
Il tipo di movimento ttt non esiste.
Non è stato possibile fare la transazione (un altro messaggio d’errore è apparso all'inizio).
Si è cercato di creare un movimento contabile con un numero di movimento corrispondente ad un movimento già esistente in contabilità.
Si è cercato di creare un movimento contabile con un numero di movimento già attribuito ad un movimento temporaneo.
Si è cercato di generare un movimento contabile senza righe.
Si è cercato di generare un movimento contabile non pareggiato.
Si è cercato di creare una ripartizione analitica non pareggiata (in importo).
Si è cercato di creare una ripartizione analitica non pareggiata (in quantità).
Si è cercato di passare un movimento su un conto inesistente (questo può capitare solo se è stato disattivato il parametro che permette la creazione automatica dei conti inesistenti).
Questo tipo di messaggio può capitare al momento delle fasi di controllo prima del passaggio del movimento. I messaggi possono essere molto vari, dove XXX è il codice della tabella e xxxxxxx la chiave sulla quale si verifica l'errore. Per esempio, se il sito e la società parametrizzate sono incoerenti tra di loro, è possibile ottenere un messaggio del seguente tipo:
FCY AAA: Questo sito è nella società ZZZ
(qui, FCY è l'abbreviazione della tabella dei siti, e AAA il codice del sito corrispondente)