Manuale Teseo

Personalizzazioni avanzate campi calcolati

Nascondi pannello di navigazione

Personalizzazioni avanzate campi calcolati

Argomento precedente Prossimo argomento Nessuna directory per questo argomento Espandi/riduci tutto il testo nascosto  

Personalizzazioni avanzate campi calcolati

Argomento precedente Prossimo argomento Topic directory requires JavaScript JavaScriptrichiesto per espandere il testo JavaScript richiesto per la funzione di stampa Inviaci un feedback su questo argomento!  

Personalizzazioni avanzate campi calcolati

 

 

Richiamato dal pulsante di personalizzazioni avanzate delle griglie  finestra Colonne (Personalizzazioni avanzate delle griglie) Pe_Colonne1

Permette l'impostazione di campi calcolati definiti dall'utente

 

La funzione permette di fare calcoli oppure di definire campi non previsti nella griglia attingendo dai campi del data base attraverso una query SQL

 

Fin_cc1

 


 

<%EXTOGGLE%>Paletta Formula

 

Nome campo calcolato indicare il nome del campo calcolato. Se non viene definita un'intestazione di colonna, il campo verrà esposto nelle griglie con il nome indicato preceduto la simbolo '@'( nel nome evitare spazi e simboli )

Tipo di dato di output  indicare se numero ,  stringa o data )

Intestazione di colonna permette di definire l'intestazione di colonna

Timing permette di definire il timing di calcolo

           Immediato il calcolo viene eseguito ad ogni variazione

           Differito il calcolo viene eseguito la prima volta ed alla conferma della riga

Calcolo ottimizzato il calcolo viene eseguito solo se i parametri sono variati altrimenti viene esposto il risultato memorizzato

                              (per ottimizzare i tempi di visualizzazione evitando calcoli ripetuti non necessari)

Calcola sempre il calcolo viene eseguito anche se il campo non è esposto in griglia

                          (vale per i campi che pur non essendo esposti in griglia raccolgono risultati intermedi utilizzati da latri campi calcolati)

Formula indicare la formula di calcolo per la definizione del nuovo campo

            (il - alla posizione iniziale della riga indica commento)

            Nella formula può essere indicato un calcolo aritmetico oppure,  una funzione già predisposta

 

Collegamento con altre tabelle

La funzione dei campi calcolati può essere utilizzata anche per rendere disponibili campi che non siano previsti nella griglia

In questo caso nella formula verrà indicato il nome di campo che deve essere reso disponibile (ci deve essere un solo campo)

Nella sezione Altre Tabelle dovranno essere indicate le tabelle necessarie alla ricerca del campo (secondo la sintassi SQL)

Nella sezione Filtri dovranno essere indicate le condizioni di ricerca

Si possono usare commenti con le solite convenzioni SQL ( -- commento di riga , /*  */ commento inizio fine , evitare di mettere apici tra il testo nei commenti

La query può avere sintassi sql così composta

- Nel riquadro superiore indicare il campo da estrarre (equivale a select)

- Nel riquadro intermedio indicare le tabelle interessate (equivale a from)

- Nel riquadro inferiore indicare le join (equivale a where)

 

E' possibile utilizzare un campo calcolato per generare un altro campo calcolato.

Non è necessario che siano visibili i campi ( calcolati e non ) usati come campi di input per altri campi calcolati.

Le griglie che hanno i dati dinamici (tutte quelle di ricerca e in generale quelle che hanno i campi aggiuntivi e/o che hanno colonne intestate con la convenzione <TABELLA$CAMPO )

potrebbero dare un messaggio di errore quando si modifica un campo calcolato affinché usi nella sua formula un campo di input che non è attualmente visibile.

Se capita occorre chiudere  la finestra delle personalizzazioni e rilanciare l' elaborazione dei dati ( AVVIA ).

Il messaggio di errore non comparirà più sempre che non si si tratti di un errore sintattico nella formula.

 

In questo caso è necessario che l'ordine dei campi rispetti l'ordine di calcolo

 

Differenze tra campi calcolati generali e campi calcolati della griglia

Campi calcolati generali : Funzioni generali - Campi calcolati

Si possono creare campi calcolati avendo come parametro un unico campo ( che è la categoria : ARTICOLI.ID_ARTICOLI ... )

Una volta definito un campo calcolato per una categoria verrà reso disponibile automaticamente tutti i programmi che lo gestiscono

E' molto più veloce del campo calcolato su griglia

Non è utilizzabile comunque in griglie modificabili

Campi calcolati griglia : ( Griglia- dx - Personalizzazioni -Personalizza - Colonne - Campi calcolati )

Si possono creare campi calcolati avendo come parametro qualsiasi dato della griglia o qualsiasi dato della base dati soggiagente alla grglia

Si possono fare tutti i calcoli che fanno i campi calcolati generali , ma l'elaborazione è più lenta

E' utilizzabile in griglie modificabili e il calcolo viene aggiornato durante il caricamento

 

Esempio di formula

clip2231

 

Esempio di funzione

Fin_cc2

 

Esempio di query sql

Fin_cc1

 

 

 


<%EXTOGGLE%>Paletta Note

 

In quest'area possono essere indicate note riferite al campo calcolato

 

clip2232

 

<%EXTOGGLE%>Barra dei pulsanti

 

clip2228 Duplica per duplicare il campo calcolato selezionato

clip2227 Elimina per eliminare il campo calcolato selezionato

clip2226 Nuovo per definire un nuovo campo calcolato

clip2229 Sposta giù per spostare il campo calcolato di una posizione inferiore

clip2230 Sposta su per spostare il campo calcolato di una posizione superiore

 

 


<%EXTOGGLE%>Esempi

 

Dopo la definizione il campo calcolato dall'utente verrà reso disponibile nell'elenco dei campi della griglia con il nome convenzionale @NOME CAMPO

 

Per ulteriori informazioni riguardo alle regole SQL ed alla struttura del data base fare riferimento a:

Documentazione sintetica regole SQL

Documentazione tabelle Articoli

Documentazione tabella Clienti e fornitori

Documentazione tabelle Listini clienti e fornitori

Documentazione tabelle sconti e provvigioni

Documentazione tabelle Ordini e offerte clienti e fornitori

Documentazione tabelle Testata bolle

Documentazione tabelle Magazzino

Documentazione tabelle Scheda di processo

Documentazione relazioni tra tabelle

 

Teseo registra nel caricamento dei documenti ( Bolle, Ordini ) il nome utente ( di Windows e di Teseo ) di chi ha effettuato l'inserimento.

I valori sono registrati in BOLLETCLI2.USER_SYSTEM,BOLLETCLI2.USER_TESEO,ORDTCLI2.USER_SYSTEM,ORDTCLI2.USER_TESEO.

I campi ( sola lettura ) sono disponibili in :

- Caricamento Bolle e Ordini ( paletta nascosta delle personalizzazioni )

- Ricerca Ordini e Bolle ( Ordini : <ORT2$.... , Bolle :<BTC2$... )

 

 

TESEO : UTILIZZO DI LOGICA IF THEN ELSE IN CAMPI CALCOLATI DELLE GRIGLIE

 

1)

%CONTROLLA    VALORE DA TESTARE

%SE           VALORE 1

%ALLORA       RISULTATO 1

%ALTRIMENTI   RISULTATO 2

%FINE

Esempio.In questo esempio otteniamo un campo stringa che ci da come risultato “ATTIVO” se

Il valore del campo “TIPO” è uguale a 1 … altrimenti ci da come risultato “PASSIVO”

%CONTROLLA    :TIPO

%SE           1

%ALLORA       ‘ATTIVO’

%ALTRIMENTI   ‘PASSIVO’

%FINE

 

2)per testare + condizioni

 

%CONTROLLA    VALORE DA TESTARE

%SE           VALORE 1

%ALLORA       RISULTATO 1

%SE           VALORE 2

%ALLORA       RISULTATO 2

%ALTRIMENTI   RISULTATO 3

%FINE

 

Esempio.

 

%CONTROLLA    :TIPO

%SE           1

%ALLORA       ‘ATTIVO’

%SE           2

%ALLORA       ‘PASSIVO’

%ALTRIMENTI   ‘IGNOTO’

%FINE

 

3)per condizioni annidate considerare tutto il ciclo come un valore:

 

%CONTROLLA    VALORE DA TESTARE

%SE           %CONTROLLA    VALORE DA TESTARE (b)

             %SE           VALORE 1(b)

             %ALLORA       RISULTATO 1(b)

             %ALTRIMENTI   RISULTATO 3(b)

             %FINE

%ALLORA       RISULTATO 1

%ALTRIMENTI   RISULTATO 3

%FINE

 

Esempio.

%CONTROLLA    :TIPO

%SE           %CONTROLLA    :IMPORTO

             %SE           0

             %ALLORA       0

             %ALTRIMENTI   1

             %FINE

%ALLORA       ‘ATTIVO’

%ALTRIMENTI   ‘PASSIVO’

%FINE

 

COME CALCOLARE

 

Il mese da una data

 

fin_cc5

 

NOME : @MESE

TIPO : STRINGA

Questo calcolo ....

FN_MESE ( :CAMPO_DATA , 1 )

... restituisce :

01 - Gennaio

02 - Febbraio

....

Questo altro calcolo ....

FN_MESE ( :CAMPO_DATA , 0 )

... restituisce

Gennaio

Febbraio

Percentuale di incidenza di un importo rispetto al totale finale nella griglia (es. incidenza del fatturato cliente sul fatturato totale)

 

La griglia di output delle statistiche prende i dati da una tabella

temporanea :

TTV_STATISTICHE_ANNO_MESE

TTV_STATISTICHE_ANNO_MESE_R ( quella a raffronto ).

 

pertanto è possibile aggiungere delle colonne che calcolano i dati rispetto al totale

 

fin_cc4

 

Gg intercorrenti da una data (scad ) al 31.12  

 

fin_cc6

 

Giorni intercorrenti tra 2 date

 

fin_cc8

 

Portare la data di sistema in un campo calcolato

TO_CHAR (SYSDATE , 'YYYYNNDD' )

Nell'esempio la data verrà riportata in formato anno-mese-giorno

 

UNIRE PIU' CAMPI ALFABETICI

( 'B' || :NBOLLA )

Nell'esempio verrà riportata la lettera B unita al numero di bolla

 

 

Risalire, dal piano dei conti, al raggruppamento ed alla riclassificazione cui un sottoconto è collegato

FUNCTION FN_LIST_RICLASS_X_SOTT

 (

   in_ID_SOTTOCONTO   IN NUMERIC,

   in_SEPARATOR_TIPO   IN VARCHAR DEFAULT 'DEFAULT',

   in_SEPARATOR_LINE   IN VARCHAR DEFAULT 'DEFAULT'

 )

Da un sottoconto Restituisce la lista di Riclassificazione e Raggruppamenti cui appartiene

Di default Riclassificazione e raggruppamenti sono separati da   " - "  e ciascuna valore della lista è separato da "New Line" , ma si possono variare alterando in dati in in_SEPARATOR_TIPO , in_SEPARATOR_LINE

Esempio:

 

1) Separatori default

 

Sintassi QUERY

SELECT

 FN_LIST_RICLASS_X_SOTT( ST.ID_SOTTOCONTO )

FROM

 SOTTOCONTI ST

 

Sintassi CAMPO CALCOLATO

FN_LIST_RICLASS_X_SOTT( :ID_SOTTOCONTO )

 

Supponendo che IL SOTTOCONTO appartenga a RICLASSIFICAZIONE  "RICLA1" e "RICLA2" e appartenga a RAGGRUPPAMENTO "RAGGR1" e "RAGGR2"

Si otterrà :

RICLA1 - RAGGR1

RICLA2 - RAGGR2

 

 

2A) Separatori personalizzati

Sintassi QUERY

SELECT

 FN_LIST_RICLASS_X_SOTT( ST.ID_SOTTOCONTO ,'  >>>  '  )

FROM

 SOTTOCONTI ST

 

Sintassi CAMPO CALCOLATO

FN_LIST_RICLASS_X_SOTT( :ID_SOTTOCONTO ,'  >>>  '

 

Si otterrà :

RICLA1 >>> RAGGR1

RICLA2 >>> RAGGR2

 

 

2B) Separatori personalizzati

 

Sintassi QUERY

SELECT

 FN_LIST_RICLASS_X_SOTT( ST.ID_SOTTOCONTO ,'  >>> '  ,  '$$$$' )

FROM

 SOTTOCONTI ST

 

Sintassi CAMPO CALCOLATO

FN_LIST_RICLASS_X_SOTT( :ID_SOTTOCONTO ,'  >>> '  ,  '$$$$' )

 

Si otterrà :

RICLA1 >>> RAGGR1$$$$RICLA2 >>> RAGGR2

 

Campo calcolato per mettere i parametri di ricerca in una griglia

 

Fin_cc7

 

I parametri possono essere DATE1,DATE2,DATE3,DATE4 NUMBER1,NUMBER2,NUMBER3,NUMBER4 VCHAR1,VCAHR2,VCHAR3,VCHAR4

Contengono i valori dei filtri di ricerca con i quali la griglia è stata estratta