Gestione automatica progressivi

La gestione automatica dei progressivi di pagina

Vi sono alcuni moduli di Jolly (ad esempio, e tipicamente: la contabilità, stampa del giornale o dei registri IVA) le cui stampe richiedono la gestione di numeri progressivi di pagina.
GALATEO prevede alcune utili funzioni di supporto per la gestione della numerazione delle pagine.
Tali funzioni consentono:

bulletla generazione automatica di numeri progressivi di pagina (per tipo di stampa e per esercizio), con la gestione automatica della sequenza all'interno dell'esercizio;
bulletla verifica automatica che tutte le ristampe siano esattamente identiche alla stampa originale, ovvero che la formattazione delle stampe eventualmente effettuata su diverse stampanti o da diversi computers non incida sulla numerazione delle pagine.

COME FUNZIONA
La gestione automatica dei progressivi di pagina procede per pagina logica (anche se pagine logiche differenti possono condividere la stessa sequenza di numerazione) e viene attivata nella finestra della pagina logica.
I parametri richiesti sono i seguenti:

bulletil tipo di stampa (esempio: stampa del libri IVA acquisti);
bulletl'esercizio per cui viene eseguita la stampa (che deve trovare riscontro nella tabella esercizi, ovvero deve essere un esercizio riconosciuto dal programma);
bulletl'identificatore del record oggetto della stampa (ad esempio: nel caso del giornale di contabilità, il campo che contiene la riga di prima nota); tale oggetto dovrebbe trovarsi sulla sezione DETTAGLIO (secondo livello) di ogni pagina;
bulletl'oggetto che contiene la data di riferimento per la pagina; tale informazione serve anche per verificare che non avvengano errori di sequenza nella generazione dei numeri progressivi;
bulletl'operatore che ha eseguito la stampa; questo viene usata solo a titolo informativo.

Alla prima stampa il programma genera i numeri di pagina per tutte le pagine stampate e li salva sul database (previa eventuale conferma dell'utente sulla definitività della stampa).
In occasione di successive ristampe (il programma si accorge che si tratta di una ristampa perché il record oggetto della stampa è già stato trattato, e la data di riferimento non è successiva all'ultima data di riferimento trattata) la funzione pagina_progressiva() rende il numero di pagina da utilizzare.

ELIMINAZIONE DI PROGRESSIVI DI STAMPA
Se si vuole procedere all'eliminazione dei progressivi di stampa, è necessario (e sufficiente) eliminare dal database le righe corrispondenti. L'eliminazione dovrebbe essere eseguita in funzione dei seguenti campi della tabella progressivi_stampa: PRS_str_tipo, PRS_dt_riferimento.
NB: all'interno dell'esercizio, l'eliminazione deve coinvolgere tutte le righe a partire da una determinata data di riferimento: non è possibile, ad esempio, eliminare i progressivi di GIUGNO senza eliminare quelli di LUGLIO (se esistenti).

FUNZIONI COLLEGATE
Le funzioni specificamente collegate alla gestione automatica dei progressivi sono le seguenti:

bulletpagina_progressiva()
bulletpagina_progressiva_operatore()
bulletpagina_progressiva_datastampa()

INFORMAZIONI TECNICHE
Le informazioni generate dalla procedura vengono salvate sulla tabella progressivi_stampa che deve essere così definita:

CREATE TABLE progressivi_stampa (
   PRS_str_tipo char(16) NOT NULL,
   PRS_i_esercizio smallint NOT NULL,
   PRS_i_pagina integer NOT NULL check(@>0),
   PRS_dt_riferimento DATE NOT NULL,
   PRS_str_ID_first_record char(20) NOT NULL,
   PRS_str_ID_last_record char(20) NOT NULL,
   PRS_str_operatore str_operatore_codice_type NULL,
   PRS_dt_creazione DATETIME NOT NULL DEFAULT now(),
   PRIMARY KEY (PRS_str_tipo, PRS_i_esercizio, PRS_i_pagina));

Vengono considerate le seguenti n-uple di valori univoci (clausole UNIQUE):

bulletPRS_str_tipo, PRS_i_esercizio, PRS_dt_riferimento, PRS_str_ID_first_record
bulletPRS_str_tipo, PRS_i_esercizio, PRS_dt_riferimento, PRS_str_ID_last_record

Pagina base del manuale di JOLLY

aggiornato il 23/01/2010

home

scrivimi, se ti va