Parametrizzazione > Contabilità > Interfaccia Contabilità > Variabili movimenti automatici 

Questa funzione permette di definire delle variabili di movimenti automatici che possono essere utilizzate nelle formule delle righe di movimenti automatici.

L'utilizzo di una variabile in una formula può essere utile quando l'inizializzazione di un campo di una riga di movimento è complessa e non può ridursi ad un'espressione semplice. In questo caso, il richiamo ad una variabile si tradurrà con un richiamo ad un sottoprogramma che avrà il compito di valutare la variabile e di permettere al generatore di inizializzare il contenuto del campo della riga contabile.

Parametrizzazione delle variabili di movimenti automatici

Ogni variabile di movimenti automatici è associata ad un codice che può essere utilizzato in qualsiasi riga di movimento automatico.

Il richiamo ad una variabile in una formula si tradurrà con un richiamo ad un sotto programma definito in un programma i cui nomi sono da parametrizzare nei campi previsti per questo.

Ogni variabile :

 Può comportare un certo numero di parametri 'per valore' necessari all'interpretazione della variabile (queste variabili saranno passate come parametri ai sottoprogrammi).

 Deve comportare obbligatoriamente un parametro 'per indirizzo'. Questo parametro corrisponde al risultato dell'interpretazione della variabile.

 Restituisce, oltre al parametro di valutazione, una variabile di tipo intero che permette di definire un codice di errore. Questo parametro non deve essere definito nella lista dei parametri, ma viene aggiunto automaticamente nel richiamo del sottoprogramma: il codice del sottoprogramma deve quindi includerlo.

Esempio :

In certe righe di movimenti automatici si ha bisogno di conoscere l'IVA da applicare tenuto conto del suo codice, della data contabile e della società. La variabile 'IVA' è stata introdotta in standard per permettere la valutazione del tasso di IVA e comporta quindi i parametri seguenti :

Tre parametri per 'valore' necessari alla valutazione del tasso di IVA: la società (CPY) di tipo 'Char', il codice tassa (TAX) di tipo 'Char', la data (DAT) di tipo 'Date'

 Un parametro per 'indirizzo' corrispondente al risultato che si cerca di ottenere : il tasso IVA (VATRAT) di tipo 'Decimale'

Prerequisiti

SEEREFERTTO Riferirsi alla documentazione di Implementazione

Gestione videata

 

Videata di inserimento

Presentazione

Principio di parametrizzazione nelle formule

Ogni variabile può essere gestita nel riquadro delle formule associate ai campi delle righe di movimenti tramite la sintassi V_XXXXX (XXXXX determina il codice della variabile). L'inserimento di una variabile attiva l'apertura di una piccola finestra nella quale l'utente deve indicare il valore di ogni parametro necessario all'interpretazione della variabile (parametro di tipo 'Valore'). Il valore indicato per ogni parametro deve deve essere coerente.

Bisogna notare che i parametri trasmessi al richiamo di un sottoprogramma possono essere delle costanti, delle variabili, o delle espressioni complesse che integrano delle variabili in linea.

Esempio :

Se si desidera passare, in una formula associata al movimento automatico BPCIN, il codice giornale che si trova in questa tabella ad una variabile, si inserirà la formula [F:SIH]JOU in parametro.

Bisogna notare che una formula di una riga di movimenti automatici può gestire più variabili di movimenti automatici.

Esempio :

V_CONVERT-ar2(V_CONVERT/(1+V_TVA)),  dove V_CONVERT deve restituire un importo CI, V_TVA deve restituire un tasso IVA e dove la formula intera deve restituire un importo IVA

Il riferimento ad una variabile su una riga di movimento automatico genera nel programma WMGAUYYYYY (YYYYY designa il codice del movimento automatico) il richiamo al sottoprogramma in questione con :

I parametri della variabile nell'ordine nel quale sono stati inseriti nella parametrizzazione della variabile di movimento automatico

 Un parametro 'STAT' di tipo 'Integer', che permette eventualmente di restituire un ritorno al generatore di movimenti automatici. Se al ritorno, la variabile STAT è uguale a 98, il movimento contabile non sarà generato e l'errore visualizzato sarà quello contenuto nella variabile globale GMESSAGE.

Inoltre, si può notare che, nei programmi generati dalla contabilizzazione dei movimenti automatici, la tabella principale è aperta non sotto la propria abbreviazione, ma sotto l'abbreviazione [F:TB0] ; la tabella delle righe è, invece, aperta sotto l'abbreviazione[F:TB1]. Questo non ha alcuna incidenza sulle formule inserite o sulle espressioni di parametri passati in parametrizzazione dei movimenti. Si può continuare ad utilizzare le abbreviazioni abituali delle tabelle principali, poiché la validazione del movimento automatico crea automaticamente le sostituzioni di abbreviazioni nelle espressioni. Invece, se il programma richiamato dalla variabile deve far riferimento a dei campi della tabella principale o della tabella delle righe per la registrazione corrente (se ad esempio il programma testa dei campi di queste registrazioni che non sarebbero passati come chiave), bisognerà allora utilizzare le abbreviazioni [TB0] e [TB1] nel programma.

Esempio: Il riferimento alla variabile 'IVA' sulla riga 11 del movimento automatico 'PRINC' genera nel programma WMGAUPRINC la seguente chiamata: 

Call LECTAUX([F:TB0]CPY,[F :TB1]VATLIN,[F:TB0]ACCDAT,[L]VATRAT,STAT) From CPTINIVAR

 TB0 designa l'abbreviazione della tabella di attivazione (tabella PAYMENTH per il movimento automatico PRINC) ;            

 TB1 designa l'abbreviazione della tabella 'generale' (tabella PAYMENTD) ;

 I parametri [F:TB0]CPY, [F :TB1]VATLIN, [F:TB0]ACCDAT corrispondenti ai parametri 'per valore' ;

 Il parametro [L]VATRAT correspondente al parametro 'per indirizzo' ;

 Il parametro STAT per lo stato di ritorno.

Regola di scrittura del sottoprogramma che interpreta la variabile

Il sottoprogramma che interpreterà la variabile deve essere allineato ai parametri che gli sono passati in chiamata, ovvero deve contenere nell'ordine :

 I parametri della variabile nell'ordine nel quale sono stati inseriti nella parametrizzazione della variabile e di tipo coerente (Char, Integer, Data o Decimal)

 Un parametro 'STAT' di tipo 'integer' che permette eventualmente di restituire uno stato di ritono al generatore di movimenti automatici. Se un errore nella valutazione della variabile (errore di lettura ad esempio), deve impedire la creazione del movimento contabile, il sottoprogramma dovrà posizionare la variabile STAT a 98 e alimentare la variabile globale GMESSAGE che dovrà contenere l'errore che impedirà la creazione del movimento contabile

Esempio :

Subprog LECTAUX(SOC,TAX,DAT,TAUX,STAT)

Value    Char    SOC()

Value    Char    TAX()

Value    Date    DAT

Variabile Decimale TAUX

Variabile Integer STAT

If clalev([F:TRA])=0 : Local File TABRATVAT [TRA] : Endif

Filter [TRA] Where CPY=SOC & VAT=TAX & STRDAT<=DAT

Read [TRA]TRA0 Last

If fstat>2

 Filter [TRA] Where CPY="" & VAT=TAX & STRDAT<=DAT

  Read [TRA]TRA0 Last

  If !fstat

   TAUX = [F:TRA]VATRAT/100

  Endif

 Filter [TRA]

Endif

If fstat>2

  STAT = 98

  GMESSAGE =  "Errore di valutazione del tasso IVA"-TAX

Endif

End

Chiudi

 

Campi

I seguenti campi sono presenti in questo folder :

Testata

  • Codice variabile (campo CODVAR)
  • campo DESTRA

 

Blocco numero 2

Sotto-programma

  • Programma (campo CODTRT)

 

  • Sotto-programma (campo SUBPRG)

 

Riquadro Parametri

  • N° (campo NUMLIG)

 

  • Codice (campo CODPAR)
  • Descrizione parametro (campo DESTRAPAR)

 

  • Tipo parametro (campo TYPPAR)

 

  • Tipo argomento (campo ADRVAL)

Descrizione

  • campo ZINFO

 

Chiudi

 

Bottoni specifici

Questo bottone permette di copiare un codice variabile di movimento automatico verso un altro dossier.

Messaggi di errore

Non esistono messaggi di errore ad eccezione di quelli generici.

Tabelle utilizzate

SEEREFERTTO Riferirsi alla documentazione di Implementazione