Parametrizzazione > Contabilità > Interfaccia Contabilità > Movimenti automatici 

Questa funzione permette di definire la struttura dei movimenti che devono essere passati in validazione contabile (tutte le funzioni di passaggio in contabilità di movimenti collegati ad un documento, a prescindere dal modulo: per esempio, il passaggio in contabilità di un movimento di fattura di vendita o di acquisto, di quote di ammortamento, di pagamento, di storno automatico, ecc...).

Ogni modulo è quindi in grado di generare dei movimenti per la validazione contabile. Questo passaggio si effettua tramite un sotto-programma standard, passandogli un codice caratteristico dell'operazione (per esempio, la validazione di fatture terzi clienti richiama il codice BPCIN).
I programmi applicativi sono gestori del codice utilizzato e del momento della chiamata al sotto programma di generazione.

Principio di parametrizzazione e di aggregazione delle righe

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.
SEEINFO 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:

  • il conto generale,
  • il terzo (se il conto generale è un collettivo),
  • il sito,
  • la natura,
  • la descrizione della riga,
  • il codice IVA,
  • la chiave di ripartizione (se esiste una chiave di ripartizione sulla riga; se si tratta di una sezione, il fatto di avere delle sezioni diverse non impedirà il raggruppamento delle righe, in quanto viene creata una ripartizione analitica).
  • il segno se il flag Compensazione dare/avere non è contrassegnato.

Definizione dei movimenti in valuta

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:

  • si impongono allo stesso tempo gli importi in valuta e quelli nelle altre valute per tutte le righe di movimento (definendo delle formule per i campi Importo società e Importo reporting). Ciò presuppone che gli importi calcolati siano realmente pareggiati in tutte le valute, altrimenti si produrrà un errore di tipo Movimento in valuta non pareggiato ….
    In tutti gli altri casi (cioè, se viene calcolato almento un importo società e reporting), si passeranno automaticamente delle righe di differenza di cambio se l'insieme non è pareggiato in valuta reporting o in valuta società,
  • se gli importi reporting e società non sono definiti su alcune righe, si utilizzano le formule definite per i campi Cambio e Cambio reporting definite nella testata del movimento: si calcolano allora gli importi non definiti applicando i cambi,
  • se ci si trova nel caso precedente, ma senza formula per i campi Cambio e/o Cambio reporting, si utilizza il valore del campo Tipo di cambio per determinare il cambio alla data di contabilizzazione del movimento.
  • in assenza, si utilizzerà il tipo di cambio associato al tipo di movimento per determinare il cambio applicato per calcolare gli importi mancanti.

Movimenti analitici puri

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).

Prerequisiti

SEEREFERTTO Riferirsi alla documentazione di Implementazione

Gestione videata

La definizione dell'insieme di movimenti si effettua su due videate che si concatenano tramite un bottone:

  • la prima videata permette di definire la modalità di generazione e le caratteristiche della testata del movimento contabile su un folder,
  • la seconda videata permette di definire le righe di movimenti da generare su tre folder.

Testata

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.

  • Descrizione (campo DESTRA)

 

  • Descr. breve (campo SHOTRA)

 

Chiudi

 

Videata di inserimento

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:

Il riquadro delle tabelle collegate alla testata

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.

Il riquadro delle formule associate ai campi della testata

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:

  • la categoria, che è un campo di tipo menù locale, per cui si deve quindi indicare un valore numerico (1=effettiva, 2=simulazione attiva, 3=simulazione non attiva, 4=extra bilancio, 5=modello). Il valore di default è 1 (movimento effettivo).
  • lo stato (1=provvisorio, 2=definitivo). Il valore di default è 1.
  • Il tipo di movimento (obbligatorio), il numero di movimento (che sarà attribuito automaticamente se non viene imposto) ed il giornale contabile (se non è indicato, si prende il giornale associato di default al tipo di movimento),
  • Il sito (il sito di default dell'utente se non viene indicato),
  • le diverse date (data contabile = data del giorno di default, data di scadenza = data contabile di default),
  • la valuta (di default quella del sito), il tipo di cambio (di default, quello associato al tipo di movimento, 1 in ultima istanza).

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

[Sélection]

  • Modulo (campo MODULE)

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 .

  • campo TBLDES

 

  • Indice (campo KEYTBL)

Questo campo permette di sapere in quale tabella del database si trova il/i record padre relativi al passaggio dei movimenti.
Esempio:
Per le fatture, si tratterà della tabella delle fatture di vendita o di acquisto. Durante la fase di generazione dei movimenti, sarà utilizzato il record corrente di questa tabella.
Questa tabella sarà analizzata nell'ordine di un determinato indice.
SEEINFO Di default, si tratta del primo indice. Questo parametro è modificabile.

  • Raggruppamento (campo GRPFLG)

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:

  • un movimento per riga,
  • raggruppato.
Movimento per riga

Nel 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).

Raggruppato

Nel 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).
Esempio: nel caso degli estratti di scadenze (movimento automatico SOI, tabella GACCDUDATE), ci si basa sulla chiave DUD2 in tre parti (il numero di estratto, l’identificativo interno della scadenza ed il numero di riga). Un movimento è generato per estratto di scadenza. Si leggerà quindi la tabella con la prima parte di chiave costante (numero di estratto), esplorando tutte le scadenze, per generare un solo movimento contabile per estratto per tutte le scadenze lette.

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 :
Nel gruppo di movimenti automatici collegati al pagamento, esiste un movimento di OD intra-valuta (che definisce i movimenti di differenza cambio collegati al pagamento in una valuta di un credito emesso in un'altra valuta):

  • questo movimento viene creato a partire dalla tabella PAYMENTH (testata di pagamento) con o senza raggruppamento, per decidere di creare un movimento per pagamento o per distinta all'occorrenza.
  • indipendentemente da questa nozione di raggruppamento, il movimento creato si farà tramite il percorso del dettaglio del pagamento e, se necessario, tramite generazione di un set di linee pareggiate per riga di pagamento: ogni riga del movimento è di tipo Tabella collegata e la tabella in questione è la tabella PAYMENTD. Si farà un raggruppamento « naturale » delle righe che possono essere aggregate. Così, se i conti presi in considerazione dalle OD intra-valute non dipendono dalla valuta, si avrà un insieme unico di righe anche se nella distinta sono interessate più valute. Se non è il caso, si avrà un solo movimento nel quale si ritroverà un insieme di righe per valuta interessata.

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?).

  • Codice campo (campo REIFLD)

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.

  • Sottoprog. dopo collegamento (campo ACTLIK)
  • Programma (campo PRGLIK)

 

  • Sotto-prog 2 (campo ACTAFTVCR)

 

  • Programma (campo PRGAFTVCR)

 

Riquadro Elenco tabelle collegate

Si specifica qui il nome delle tabelle che devono essere on line al momento della validazione contabile dei movimenti.

  • Campo (campo LIKFLD)

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

  • Attivo (campo ACT)

Blocco numero 5

  • Importi negativi (campo NEGAMT)

Se è contrassegnata, questa casella permette, di autorizzare importi negativi in un movimento.
Se non è contrassegnata, una riga che implica un importo negativo in avere di un conto sarà trasformata in una riga con un importo positivo in dare dello stesso conto (ed un importo negativo in dare di un conto trasformato in importo positivo in avere dello stesso conto).

  • Prima data (campo DATFLG)

Se contrassegnata, questa casella permette di accettare il trasferimento di un movimento su un periodo chiuso, trasferendolo alla prima data successiva non chiusa.
Se non è contrassegnata, il movimento automatico non verrà creato, errore indicato da una traccia.

  • Riferimento (campo TYPVCR)

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:

  • Contabilizzazione principale,
  • Movimento separato Conto->Terzo,
  • Movimento separato Banca->Conto,
  • OD terzo,
  • OD valuta,
  • OD valuta tesoreria,
  • Giroconto.

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.
Si consiglia di non modificare il valore sui movimenti automatici consegnati.
I valori esistenti sono: Contabilizzazione principale, OD valuta, OD valuta tesoreria, OD Terzo, Movimento separato Banca->Conto, Movimento separato Conto->Terzo, Giroconto.

Particolarità

  • Filtro (campo FORCND)

Il campo "Filtro" permette di definire il filtro effettuato sulla tabella attivante. Il movimento è generato solo se è verificato il valore dell'espressione.
I campi della tabella attivante e delle varie tabelle collegate possono essere utilizzati in questa espressione.
Esempio di espressione :
Sia [TABELLA]CAMPO = VALORE dove [TABELLA] è la tabella attivante della testata. Verranno letti solo i record della tabella attivante aventi CAMPO = VALORE.
Se VGLOBALE = VALORE, la tabella sarà letta se e solo se VGLOBALE = VALORE

  • Condizione (campo FORCND2)

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.
SEEWARNING I record devono essere filtrati prima che la condizione sia testata su ognuno di essi.

Riquadro Formule

  • Descrizione (campo INTIT)

 

  • Formula (campo FORCLC)

La valutazione di questa espressione permette di alimentare il valore del campo corrispondente nella testata del movimento contabile che sarà generato dallo schema.
I campi della tabella attivante e delle tabelle collegate possono essere utilizzati in questa espressione, che deve essere di un tipo (numerico alfanumerico, o data) corrispondente al tipo del campo da alimentare.

Chiudi

 

Funzioni accessibili tramite click destro sul riquadro

Seleziona tutto
Deseleziona tutto
Invertire la selezione

 

Chiudi

 

Folder Tracciabilità

Campi

I seguenti campi sono presenti in questo folder :

Blocco numero 1

  • Tracciabilità (campo TRCFLG)
  • Indice (campo TRCKEY)

Blocco numero 2

Riquadro Parametri

  • campo TRCCODPAR
  • campo TRCVALPAR

Chiudi

 

Stampe

Di default, le seguenti stampe sono associate alla funzione :

 GAUTACE : Movimenti automatici

Ma ciò lo si può modificare tramite parametrizzazione.

Bottoni specifici

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

  • campo OBJET

 

  • campo CLES

 

Blocco numero 2

  • Dal dossier (campo DOSORG)

Questo campo permette di definire il dossier a partire dal quale sarà copiata la scheda. Le sintassi possibili sono descritte nell'allegato dedicato.

  • Tutti i dossiers (campo TOUDOS)

Questa opzione permette di copiare la scheda verso tutti i dossier definiti nel dizionario (tabella ADOSSIER della soluzione corrente).

  • Al dossier (campo DOSDES)

Questo campo permette di definire il dossier nel quale sarà copiata la scheda. Le sintassi possibili sono descritte nell'allegato dedicato.

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 riga

Questo campo può assumere tre valori:

  • unica: si genera una sola riga di movimento,
  • ripetitiva: si generano da 1 a N righe.
    In questo caso, le prime due formule inserite nel riquadro sono delle espressioni di valori numerici che definiscono un indice di inizio e di fine. Alla generazione del movimento contabile, la variabile indice varierà tra questi due valori avanzando di uno alla volta e per ogni valore possibile verrà generata una riga. E' quindi possibile utilizzare la variabile indice nelle espressioni. Questo permette di generare dei movimentnti multipli quando ci sono dei campi indicizzati in una tabella per memorizzare degli importi (per esempio dei piedi di fattura).
  • tabella collegata: si legge una seconda tabella (la tabella generale definita nello stesso folder) e si genera una riga di movimento per ogni record letto. La lettura si effettua sulla chiave principale di questa tabella, che è una chiave in N parti (N>=2), di cui N-1 parti sono presenti sui campi della tabella attivante e l'ultima varia. Tipicamente, si tratta di una tabella di righe (per esempio, le righe di fattura), il cui indice principale è il numero di documento seguito dal numero di riga. E' anche possibile definire in questo caso un'altra tabella, la tabella analitica, che permette di ottenere un livello di dettaglio supplementare quando esistono delle imputazioni analitiche ripartite per una riga di dettaglio della tabella generale. In questo caso, si legge questa tabella nell'ordine della chiave principale, che è in principio una chiave di N parti (N>=3) e dove le N-2 prime parti sono definite dalla tabella attivante, la N-1esima parte è determinata dalla tabella generale e la Nesima parte varia.

Condizione

Si 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 analitica

La definizione di questi due campi viene effettuata qui in alto nel campo Tipo riga.

Sezioni di default

Questo 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 righe

Questo 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 / Avere

Quando 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 legami

Questo 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 contabili

Questo riquadro assolve due funzioni:

 permette di definire i legami con la tabella delle righe e delle tabelle annesse (per esempio gli articoli in riga di fattura), per utilizzare i campi delle tabelle così legate nelle espressioni dei campi di ogni riga di movimento.

 permette inoltre di determinare i campi Conto generale (se è determinato da un espressione incompleta o non definita) e Natura (se non è definita). Ciò si effettua tramite delle applicazione successive di codici contabili (nell'ordine della dichiarazione del riquadro)

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:

 

Articolo

Modificatore Vendita

 

Commerciale

Modificatore Vendita

 

Sito

Modificatore Vendita

 

Valuta

Modificatore Vendita

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:

si parte dal codice di origine, ovvero:

7xxxxxxx

si applica la maschera x23xxx, si ottiene:

723xxxxx

si applica la maschera xx2x2, si ottiene:

723x2xxx      (il 1° 2 è ignorato)

si applica la maschera xxxxxxx48, si ottiene:

723x2xx48

si applica la maschera xxxxx45xx, si ottiene:

723x24548

dato che non è più applicabile nessuna maschera, si sostituiscono le x rimanenti con degli zero, da cui il conto finale:


723024548

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.

SEEINFO Questa maniera di procedere è flessibile e permette di utilizzare delle determinate radici di conti con delle porzioni di conto dipendenti dal contesto. Ma non è obbligatorio definire i conti della specie. Se per esempio si desidera che il conto contabile di vendita sia definito da 703 seguito dai caratteri da 2 a 3 del campo TSICOD (famiglia statistica che si presume sia numerica) della tabella articolo (di abbreviazione ITM), si dovrebbe definire per il conto una formula del genere:

 

"703"+seg$([F :ITM]TSICOD,2,3)

il legame verso la tabella articolo rimane definito da una riga di codice contabile.

Elenco dei campi da alimentare nel riquadro dei codici contabili

Prima 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:

  • la tabella principale definita nella videata di testata.
  • le tabelle che sono collegate alla tabella principale nella videata di testata,
  • le tabelle definite nei campi tabella generalee tabella analitica se il tipo di riga da generare è Tabella collegata,
  • le tabelle che sono collegate nella videata delle righe,
  • la chiamata a delle funzioni dedicate, tramite la sintassi func PGM.FUNZ(argomenti), dove PGM è il nome del programma e FUNZ il nome della funzione da chiamare. Un certo numero di funzioni particolarmente interessanti per il contesto dei movimenti automatici sono state definite nel programma AFNC: queste funzioni sono definite nel seguente riquadro.

Funzione

Parametri

Risultato

AFNC.ACTIV(COD)

COD=codice attività (alfa)

0 se il codice attività non è attivo per il dossier, 1 se è attivo

AFNC.PARAM(PARAM,SITO)

PARAM=codice parametro (alfa)
SITO=codice sito (alfa)

il valore del parametro (sotto forma alfanumerica su 30 caratteri al massimo).

AFNC.CONSULT(ACCESSO)

ACCESSO=codice accesso (alfa)

1 se si ha accesso, in consultazione, alla risorsa controllata dal codice di accesso, altrimenti 0 (se il codice di accesso è a blank, il risultato è 1).

AFNC.MODIF(ACCESSO)

ACCESSO=codice accesso (alfa)

Idem per il precedente, per i diritti di modifica

ADNC.EXEC(ACCESSO)

ACCESSO=codice accesso (alfa)

Idem per il precedente, per i diritti di esecuzione

Il riquadro delle formule associate ai campi delle righe di movimento (secondo f

In 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 conto da movimentare, che può essere indicato in modo esauriente da una formula, o in modo incompleto (lasciando dei caratteri da completare sotto forma di x), o addirittura per niente. Quando il conto non viene determinato completamente, il riquadro dei codici contabili definito qui di seguito è utilizzato per definirli,
  • il codice terzo (quando il conto indicato precedentemente è un collettivo),
  • l'importo, che sarà positivo salvo si desideri passare un movimento realmente negativo e la quantità, se si utilizzano le unità di prodotto,
  • il segno, che vale +1 se il movimento deve essere passato in dare sul conto e -1 se deve essere passato in avere,
  • le differenti imputazioni analitiche,
  • il sito interessato sulla riga,
  • i codici statistici (in numero standard di 3),
  • il criterio di dettaglio. Questo campo è particolarmente importante nel caso di movimenti collegati ai pagamenti, in quanto permette di definire se una o più righe di movimenti saranno generate. Il principio è il seguente: si raggruppano tra loro le righe che hanno tutto uguale e d'altro canto (sito, conto generale e all'occorrenza il terzo) se hanno valori uguali di criterio di dettaglio.
    Al contrario, se il valore è diverso, si frazionano le righe che sarebbero state raggruppate (si noti che il fatto di avere delle sezioni analitiche diverse non è un criterio di frazionamento se non sono già delle ripartizioni (il sistema creerà allora una ripartizione in proporzione agli importi).
    Il riquadro qui in basso fornisce degli esempi nei pagamenti:

 

Espressione di raggruppamento

Spiegazione

 

[F :PYD]LIN

Si fa una riga per imputazione di pagamento, senza cercare di raggruppare le righe uguali.

 

 [F :PYD]VCRNUM

Si fa una riga per fattura (si raggruppano le imputazioni di più scadenze di una stessa fattura)

 

  • Il Riferimento Libero: questo campo viene utilizzato nel pareggio e può essere utilizzato come criterio di pareggio per analogia. Può essere indicato per qualunque campo,
  • la descrizione: due funzioni permettono di recuperare la descrizione di un movimento automatico o delle sue righe di movimenti automatici e di utilizzarle nella parametrizzazione del movimento (titolo. descrizione, ecc...).

 func TRTCPTINT3.GET_LIN_DES

Permette di recuperare la descrizione della riga del movimento automatico corrente.

 func TRTCPTINT3.LECTEXTRA("GAUTACE","DESTRA","codice movimento automatico","")

Permette di recuperare la descrizione della testata di movimenti automatici.

 

 

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 riga

 Permette 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:

 

Valori azione

Effetto

 

REGROUP / PAYCPTA

Per gestire il raggruppamento o il dettaglio di alcuni movimenti su dei conti intermedi (stesso principio del campo Criterio dettaglio, ma « cablato » nella logica del programma standard).

Azione post creazione riga

E' utilizzata anch'essa nella gestione dei movimenti collegati ai pagamenti. Questa azione è utilizzata in standard con i seguenti valori:

 

Valori azione

Effetto

 

APLIGBAN / PAYCPTA

salvataggio del conto di tesoreria in una variabile per un ulteriore elaborazione ed attivazione della svalutazione del portafoglio.

 

 APLIGFAC / PAYCPTA

chiamata sulle righe che movimentano il terzo fatturato, aggiorna le scadenze con il numero della scadenza di pagamento per gestire gli acconti sugli ordini cliente e fornitore.

 

REGROUP / PAYCPTA

Per gestire il raggruppamento di alcuni movimenti su dei conti intermedi.

Azione di legame

Permette di chiamare un sotto-programma di lettura di informazioni collegate in modo non standard (si posiziona a livello di ogni riga).

Messaggi di errore

Oltre ai messaggi generici, i seguenti messaggi d'errore possono apparire al momento dell'inserimento :

"Errore di sintassi (seguito da un dettaglio esplicativo)"

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.

"Legame impossibile"

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)

"Indice errato"

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).

Messaggio di errore all'esecuzione del movimento

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.

"Codice parametro inesistente"

Il codice di parametrizzazione richiamato dall'operazione di generazione non esiste.

"Tabella attivante non referenziata"

La tabella attivante non è accessibile al momento della generazione.

"Tabella attivante inesistente"

La tabella attivante non esiste.

"Numero di argomenti errato"

Il numero di elementi di chiavi della tabella principale non corrisponde a quello che ci si aspettava.

"Chiave inesistente"

Il valore di chiave che corrisponde al record corrente della tabella principale non esiste più o non soddisfa le condizioni di generazione.

"Tabella secondaria inesistente: XXX"

La tabella secondaria XXX fornita nei parametri di generazione di una riga non esiste.

"Tabella analitica inesistente: XXX"

La tabella analitica XXX indicata nei parametri di generazione di una riga non esiste.

"ZZZ: Errore in valutazione di campo"

(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…)

"Legame errato su XXX"

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).

"nnn: codice contabile inesistente"

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).

"Contatore inesistente"

Il contatore collegato al tipo di movimento da generare non esiste.

"Superamento di contatore"

La porzione di numeri attribuita per il tipo di movimento da generare è stata superata.

"XXX: sito inesistente"

Il campo sito fa riferimento ad un codice sito inesistente dopo la valutazione.

"XXX: società inesistente"

Il campo società fa riferimento ad un codice società inesistente dopo la valutazione.

"Nessun cambio valuta"

Non è stato possibile trovare il cambio di valuta corrispondente ai parametri forniti.

"ttt: tipo di movimento inesistente"

Il tipo di movimento ttt non esiste.

"Transazione annullata"

Non è stato possibile fare la transazione (un altro messaggio d’errore è apparso all'inizio).

"Movimento effettivo già esistente"

Si è cercato di creare un movimento contabile con un numero di movimento corrispondente ad un movimento già esistente in contabilità.

"Movimento temporaneo già esistente"

Si è cercato di creare un movimento contabile con un numero di movimento già attribuito ad un movimento temporaneo.

"Nessuna riga"

Si è cercato di generare un movimento contabile senza righe.

"Movimento non pareggiato"

Si è cercato di generare un movimento contabile non pareggiato.

"Ripartizione non pareggiata"

Si è cercato di creare una ripartizione analitica non pareggiata (in importo).

"Ripartizione non pareggiata (qtà)"

Si è cercato di creare una ripartizione analitica non pareggiata (in quantità).

"Conto inesistente"

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).

"XXX xxxxx: messaggio di errore"

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)

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione