I campi EXTRA
JOLLY consente la creazione diretta da parte dell'utente di campi
aggiuntivi personalizzati per ciascuna delle seguenti tabelle:
|
archivio articoli |
|
piano dei conti |
|
bolle /ordini /fatture (documento) |
|
bolle/ ordini/ fatture (righe) |
|
commesse |
|
impianti |
|
allegati |
| distinta base archivio articoli (distinta_base_articoli) |
|
distinta base documenti (bolle_sottoarticoli) |
Questa possibilità consente di risolvere in modo semplice,
efficace ed economico la necessità di avere a disposizione dei campi per
immagazzinare dati di interesse specifico per il singolo utente, senza
intervenire sul codice del programma.
NB:
tutto quanto segue è destinato a personale tecnicamente competente. |
Per ogni campo extra è
possibile specificare una consistente serie di opzioni, tra le quali le seguenti
sono particolarmente importanti e/o utili:
TIPI DI CAMPO
I tipi di campo extra sono i seguenti:
|
CHAR: elemento di testo; può essere specificata la
dimensione; |
|
INTEGER: numero intero (4 bytes, valori compresi tra
–2147483648 e +2147483647); |
|
DOUBLE: numero decimale (con la virgola; 8 bytes,
valori compresi tra 5x10^–324 e 1.7 x 10^308); |
|
BOOLEAN (detto anche manicheo): valore VERO/FALSO; |
|
DATE: data |
INFORMAZIONI SUL GRADO DI NECESSITA' DI COMPILAZIONE DEL
CAMPO
E' possibile indicare, per ogni campo, se la sua compilazione è:
|
NECESSARIA: JOLLY non procederà al salvataggio del
documento fino a che non sarà stato inserito un valore valido per il campo;
il campo sarà mostrato colorato in ROSSO; |
|
CONSIGLIATA: se l'operatore non inserisce un valore
valido JOLLY consente il salvataggio del documento ma emette un messaggio di
avvertimento; il campo sarà mostrato colorato in VERDE; |
|
FACOLTATIVA: la compilazione del campo è totalmente
facoltativa; nessun messaggio viene mostrato anche in caso di mancata
compilazione del campo. |
VALORE DEFAULT
Il valore specificato nella apposita casella sarà assegnato al campo in caso di
creazione di nuovi records. Saranno eseguite le seguenti sostituzioni:
|
%O nome dell'operatore che sta eseguendo l'operazione |
|
%W nome della postazione (computer) da cui
l'operazione viene eseguita |
|
%D data odierna |
|
%SQL=espressione SQL
|
l'opzione deve essere indicata ad inizio riga; |
|
l'istruzione SQL viene eseguita all'interno di una
transazione creata appositamente, che è distinta dalla transazione che
racchiude la creazione del documento cui il campo extra appartiene e che
viene committata subito dopo l'esecuzione dell'istruzione. |
|
esempi di istruzioni SQL:
|
%SQL=select dateformat(now(), 'YYYY-MM-DD') |
|
%SQL=select get_primary_key('idx') |
|
%SQL=select AA_extra_str_XXX_default from
archivio_articoli WHERE AA_str_codice = '%PKC' |
|
|
Se il formato del campo è una data, il formato default
utilizzato è quello italiano standard: gg/mm/aaaa |
|
|
%PKC primary key per la tabella da cui vengono
copiati i valori; è tipicamente utilizzato all'interno di espressioni %SQL.
Il valore default di campo che contengono la macro %PKC viene ricalcolato
ogni volta che si modifica il valore del campo di collegamento tra la
tabella che contiene il campo extra e la tabella di riferimento indicata nel
prospetto sottostante.
ESEMPIO: supponiamo
che sulla tabella bolle_articoli (righe di documenti) esista il campo
extra BA_extra_str_XXX il cui valore default è:
|
%SQL=select AA_extra_str_XXX_default
from archivio_articoli
where AA_str_codice = '%PKC'
Il valore di tale campo extra viene assegnato in fase di
creazione di ogni record della table bolle_articoli. Inoltre
viene ricalcolato ad ogni modifica del valore del campo BA_str_articolo
(che è il campo che collega bolle_articoli ad archivio_articoli).
i campi extra della tabella
|
possono fare riferimento alla PK della tabella
|
archivio articoli
(archivio_articoli)
|
tipo di articolo
|
piano dei conti
(pconti)
|
tipo di conto
|
documenti (bolle/ordini/fatture)
(bolle.PCO_str_conto)
|
piano dei conti
|
righe di documenti
(bolle_articoli.BA_str_articolo)
|
archivio articoli
|
commesse
|
piano dei conti
|
impianti
(impianti_header.IH_str_conto)
|
piano dei conti
|
allegati
|
la tabella dell'oggetto a cui l'allegato è direttamente collegato
(documenti, articoli, piano dei conti, ...)
(vedi Nota Bene)
|
distinta base archivio articoli
(distinta_base_articoli.DBA_str_materiale)
|
archivio articoli
|
distinta base documenti
(bolle_sottoarticoli)
|
distinta base archivio articoli
(vedi Nota Bene)
|
NB:
poiché i records della tabella allegati possono essere collegati ad
oggetti differenti (esempio: conto, documento, articolo, impianto, commessa,
...) è opportuno utilizzare istruzioni %SQL e %PKC solo su allegati il cui uso
sia ristretto al tipo di oggetto per il quale tali istruzioni sono concepite (ad
esempio: tipi di allegato utilizzabili solo per articoli, solo per documenti,
solo per conti, eccetera). |
NB:
i campi extra della table distinta base documenti (bolle_sottoarticoli)
hanno un comportamento anomalo:
|
durante la creazione (inserimento di un nuovo
articolo nella table bolle_articoli e conseguente caricamento
della distinta base dell'articolo caricato) possono essere
inizializzati con espressioni SQL che fanno riferimento ai
corrispondenti records della tabella distinta_base_articoli da
cui vengono copiati; |
|
se modificati successivamente alla creazione
(oppure creati all'interno della distinta base del documento per
aggiunta di nuovo componente di distinta base) il programma non esegue
più la generazione dei valori attraverso la valutazione
dell'eventuale espressione SQL perché la tabella a cui sarebbe
possibile far riferimento è cambiata (non è più la distinta_base_articoli
ma è la archivio_articoli) e dovrebbe essere conseguentemente
modificata anche l'espressione SQL. |
Questa anomalia non sembra essere particolarmente
rilevante per due motivi:
-
non è frequente la modifica della distinta base
all'interno del documento
-
nei casi in cui sia necessario modificare la distinta
base di un documento, in generale si desidera modificare il
comportamento della distinta base con informazioni che non sono
standard e che per questo motivo tipicamente non sono registrate da
nessuna parte.
|
VALORI
PREDEFINITI
E' possibile definire un insieme di valori predefiniti per il campo.
Tali valori possono essere fissi (ovvero: un elenco di valori ammessi) oppure
determinati dinamicamente attraverso un'istruzione SQL. In quest'ultimo caso la
sintassi utilizzabile può fare uso dei simboli validi per l' espressione che
genera i valori default (ad eccezione ovviamente
della clausola %SQL, che non è ammessa perché sempre implicita).
ATTENZIONE: per evitare di rallentare l'apertura delle finestre è
consigliabile non utilizzare comandi SQL eccessivamente pesanti. DIRITTI DI VISUALIZZAZIONE E MODIFICA DEL CAMPO - PER
TIPO DI RECORD
Poiché vi sono campi extra che devono essere visualizzati e gestiti solo in
determinate circostanze (ad esempio: se un campo extra serve per riportare la
valutazione dei fornitori, tale campo deve comparire solo sulle schede dei conti
fornitore e non comparire su quelle dei clienti) Jolly prevede la possibilità
di legare la presenza del campo extra in funzione di:
tipo campo extra |
gestione legata a |
conti |
tipo di conto |
articoli |
tipo di articolo |
impianti |
tipo di impianto |
commesse |
--- |
allegati |
tipo di allegato |
distinta base articoli |
--- |
distinta base documenti |
--- |
Per i campi che in una certa situazione
non vengono gestiti è possibile indicare il valore default da assegnare al campo.
DIRITTI
DI VISUALIZZAZIONE E MODIFICA DEL CAMPO - PER OPERATORE
Jolly consente inoltre di limitare la visibilità e la modificabilità di ogni campo in
funzione dei diritti dell'operatore che accede al documento. I livelli di permesso sono
quattro: TUTTI/ OPERATORE ISO BASE/ RESPONSABILE ISO, AMMINISTRATORE DI JOLLY.
FOREIGN
KEYS
E' possibile stabilire dei vincoli di integrità referenziale tra un campo extra
e una qualsiasi tabella di Jolly.
L'uso di questa funzione deve essere valutata con estrema attenzione perché
potenzialmente pericolosa.
CAMPI EXTRA 'SPECIALI'
Vi sono alcune funzioni speciali che JOLLY, per evitare di appesantire
inutilmente il codice del programma standard, gestisce attraverso specifici campi
extra. Per attivare tali funzioni è necessario creare ed utilizzare i
campi extra indicati. E' caldamente consigliato non modificare il nome SQL dei
campi extra speciali. Le funzioni speciali attivabili sono le seguenti:
tabella |
numero di campo |
nome |
funzione |
archivio articoli |
87 |
AA_str_descrizione_aggiuntiva |
descrizione aggiuntiva per l'articolo; il campo viene
caricato sul corrispondente campo dei documenti
(BA_str_descrizione_aggiuntiva, che non è un campo extra) |
archivio articoli |
88 |
AA_bo_need_serial_number |
indica se l'articolo utilizza/richiede il serial number |
archivio articoli |
89 |
AA_str_documento |
contiene il nome di un file il cui contenuto viene
visualizzato ogni volta che l'articolo viene caricato su un documento |
archivio articoli |
91 |
AA_bo_usa_descrizione_lunga |
valore booleano (vero/falso) che indica se
quando si carica
l'articolo in un documento si
desidera utilizzare la descrizione corta oppure quella estesa; se non
definito, viene utilizzato il valore generale del programma (definito
nelle opzioni generali) |
archivio articoli |
92 |
AA_bo_usa_descrizione_lunga_CLI |
come il campo 91, ma con valore specifico per i clienti |
archivio articoli |
93 |
AA_bo_usa_descrizione_lunga_FOR |
come il campo 91, ma con valore specifico per i fornitori |
archivio articoli |
94 |
AA_str_message |
quando si carica l'articolo su un documento il programma
emette il messaggio specificato |
archivio articoli |
95 |
AA_str_codice_badge |
contiene il codice di collegamento con il lettore di badge |
archivio articoli |
96 |
AA_bo_riepiloga_footer |
gli articoli dotati di questo flag vengono riepilogati
automaticamente a piè documento |
archivio articoli |
97 |
livello di ispezione AQL |
livello di ispezione da utilizzarsi come default per i
controlli in modalità AQL |
archivio articoli |
98 |
valore AQL |
valore AQL da utilizzarsi come default per i controlli in
modalità AQL |
archivio articoli |
99 |
AA_bo_collaudo_100 |
l'articolo deve essere collaudato (al 100%) |
bolle_articoli |
31 |
BA_extra_str_causa_guasto |
contiene la causa del guasto nei casi in cui questo valore
sia previsto dal documento |
bolle_articoli |
90 |
BA_str_serial_number |
campo utilizzato per contenere il serial number
dell'articolo |
bolle_articoli |
91 |
BA_extra_str_progetto_ele |
usato per i documenti di
lavorazione ELE; contiene il riferimento del progetto cui la
lavorazione è associata |
bolle_articoli |
92 |
BA_extra_str_esecutore |
usato per i documenti di
lavorazione ELE; contiene l'operatore che esegue la lavorazione |
pconti |
97 |
severità verifiche AQL |
grado di severità da utilizzarsi come default per i
controlli in modalità AQL |
pconti |
91 |
PCO_lo_conto_contabilita |
contiene il riferimento del conto ad un eventuale piano dei
conti esterno (tipicamente: un programma di contabilità esterno) |
Pagina base del manuale
di JOLLY |