Entry Points > Modulo Contabilità > Script standard SUBTBU 

TBUZONSPE: Aggiunta di campo in specifico nell'inserimento dei budget

L'entry point TBUZONSPE permette la presa in considerazione di nuovi campi nella generazione delle videate delle transazioni di budget.

Contesto e modalità di funzionamento


Contesto di chiamata

Questo entry point viene chiamato durante la generazione delle videate delle transazioni di budget.
Diventa possibile aggiungere in specifico un campo nella videata modello BUD.


Transazione

C'è una transazione in corso su [F:AMK2], [F:AMZ2], [F:AMA2] & [F:AMP2]. A priori però sarà interessante la sola tabella AMSKZON [AMZ2].


File traccia

Non c'è file traccia aperto.


Variabili e videate disponibili

Si scrive in [F:AMZ2] a partire dalla videata modello [F:AMZ].

La variabile MASKREF designa la videata di riferimento, all'occorrenza BUD.
La variabile MASKDES designa la videata di destinazione WMBUD+Codice transazione.

La tabella TABBUDTYP [F:TBU] è aperta, è allora possibile in particolare identificare la categoria di budget (Periodo/Conto/Sezione) utilizzando [F:TBU]BUCAT.

Quando si aggiunge un nuovo campo nella videata BUD, la definizione della posizione Pos (n° di colonna nel riquadro) viene ora presa in considerazione. In compenso, questo nuovo campo verrà necessariamente presentato prima dei campi calcolati definiti nel riquadro della transazione di budget.

Si identifica il nome del nuovo campo desiderato con NOMZ=Nome del nuovo campo e si scrive in AMKZON [AMZ2] affinché sia presente nella videata generata.

La variabile GOK è gestita al ritorno dall'entry point in SUBTBU.src, con un Rollback su GOK=0 e un Rollback+Roll se GOK<1.


Esempio di utilizzo

Esempio di programma specifico collegato all'entry point per un campo NEWZONE aggiunto nella videata BUD che si vuole far apparire per i budget di categoria 'Conto':

$ACTION
Case ACTION
 When "TBUZONSPE" : Gosub TBUZONSPE
 When Default
Endcase
Return

$TBUZONSPE
If [F:TBU]BUDCAT = 3 : #Categoria di budget Conto 
 For NOMZ="NEWZONE"
  Read [AMZ]CODE=MASKREF;NOMZ
  If !fstat
   NUMCOL +=1
   [F:AMZ2] = [F:AMZ] 
   [F:AMZ2]NUMLIG = NUMCOL
   [F:AMZ2]CODMSK = MASKDES
   Write [AMZ2]
   If fstat
    GOK=0 : Call FSTA("AMZ2") From GLOCK : Break
   Endif
   Call COPIE_ACTION(MASKREF,MASKDES,[F:AMZ]CODZON,[F:AMZ2]CODZON,0)
    If GOK<1 : break : Endif
  Endif
 Next
Endif
Return