..Sempre azzeramenti

git-svn-id: svn://10.65.10.50/trunk@4233 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
luciano 1997-03-24 16:56:20 +00:00
parent 8586343219
commit 4477ffbca0
3 changed files with 1046 additions and 821 deletions

View File

@ -9,9 +9,6 @@
#include <defmask.h>
#include <recarray.h>
#include "77lib.h"
#include "scperc.h"
#include "rpag.h"
#include "perc.h"
#include "prospe1.h"
#include "774200.h"
#include "771231a.h" // F, F-1

View File

@ -20,6 +20,11 @@
#include "scandich.h"
#include "774300a.h"
// definizione campi del form
#define HODD_ANNODIC 1
#define FODD_TODAY 1
// derivazione della classe TArray_sheet per implementare
// la funzione membro on_key() in modo che gestisca eventuali
// bottoni aggiunti dall'utente
@ -195,10 +200,9 @@ bool TAzzeramento_archivi::user_create()
_cnf_studio = new TConfig(CONFIG_STUDIO,"77");
_anno_dich = _cnf_studio->get_int(ANNO_SEL);
_riporti = new TRiporti;
_logschede = new TIsamtempfile(LF_SCPERC,"LOG",TRUE);
// forzo il file di log delle schede all'auto eliminazione
_logschede->set_autodel();
//_logschede->set_autodel();
// attivazione handler campi
_msk->set_handler(F_AZZSCH,F_AZZSCH_hnd);
@ -217,7 +221,6 @@ bool TAzzeramento_archivi::user_destroy()
delete _rel;
delete _cnf_studio;
delete _riporti;
delete _logschede;
return TRUE;
}
@ -228,6 +231,7 @@ void TAzzeramento_archivi::azzera_create(const bool azzsch, const bool azzqua)
// richiesto azzeramento schede percipienti
if (azzsch)
{
_logschede = new TIsamtempfile(LF_SCPERC,"LOGAZZ",TRUE);
_reset_PERC = new TResetfile(LF_PERC);
_reset_SCPERC = new TResetfile(LF_SCPERC,TRUE);
_reset_RVER = new TResetfile(LF_RVER,TRUE);
@ -281,6 +285,7 @@ void TAzzeramento_archivi::azzera_destroy(const bool azzsch, const bool azzqua)
// richiesto azzeramento schede percipienti
if (azzsch)
{
delete _logschede;
delete _reset_PERC;
delete _reset_SCPERC;
delete _reset_RVER;
@ -331,6 +336,9 @@ void TAzzeramento_archivi::azzera_destroy(const bool azzsch, const bool azzqua)
// gestione del log delle schede percipienti
void TAzzeramento_archivi::handle_log()
{
// istanza file di log
TIsamtempfile* logschede = new TIsamtempfile(LF_SCPERC,"LOGAZZ",FALSE);
// creazione sheet
TString caption = "Schede percipienti insolute";
TString head = "@1|";
@ -352,24 +360,27 @@ void TAzzeramento_archivi::handle_log()
TLocalisamfile f(LF_SCPERC);
// riempimento sheet
for (int err = _logschede->first(); err == NOERR; err = _logschede->next())
for (int err = logschede->first(); err == NOERR; err = logschede->next())
{
TToken_string row;
row.add(" ");
row.add(_logschede->get_long("CODDITTA"));
row.add(_logschede->get_char("TIPOA"));
row.add(_logschede->get_long("CODANAGR"));
row.add(_logschede->get_long("NPROG"));
row.add(_logschede->get_date("DATADOC"));
row.add(_logschede->get("NUMDOC"));
row.add(_logschede->get_int("CODCAUS"));
row.add(_logschede->get("TOTALE"));
row.add(_logschede->get("COMPENSO"));
row.add(_logschede->get("SPESE"));
row.add(_logschede->get("IVA"));
row.add(logschede->get_long("CODDITTA"));
row.add(logschede->get_char("TIPOA"));
row.add(logschede->get_long("CODANAGR"));
row.add(logschede->get_long("NPROG"));
row.add(logschede->get_date("DATADOC"));
row.add(logschede->get("NUMDOC"));
row.add(logschede->get_int("CODCAUS"));
row.add(logschede->get("TOTALE"));
row.add(logschede->get("COMPENSO"));
row.add(logschede->get("SPESE"));
row.add(logschede->get("IVA"));
log_sheet.add(row);
}
// rimozione istanza file di log
delete logschede;
// esecuzione sheet
log_sheet.enable_check();
KEY retkey = log_sheet.run();
@ -392,17 +403,26 @@ void TAzzeramento_archivi::handle_log()
// stampa del log delle schede percipienti
void TAzzeramento_archivi::print_log()
{
TForm log_form("logazz");
// log_form.relation()->replace(_logschede);
TArray& a = log_form.head();
TForm_item& fi = log_form.find_field('H',odd_page,1);
fi.set("1995");
// istanza form
TForm log_form("77logazz");
// sostituisce lfile originale con lfile di log
log_form.relation()->replace(new TIsamtempfile(LF_SCPERC,"LOGAZZ",FALSE));
// set anno dichiarazione
TForm_item& hodd_annodic = log_form.find_field('H',odd_page,HODD_ANNODIC);
hodd_annodic.set(_msk->get(F_ANNODIC));
// set footer standard prassi
TForm_item& fodd_today = log_form.find_field('F',odd_page,FODD_TODAY);
fodd_today.set(_msk->get(F_DATASCH));
// stampa form
log_form.print();
}
// elabora tutte le dichiarazioni
void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
{
// esistono schede loggate
bool logged_schede = FALSE;
// creazione istanze d'azzeramento
azzera_create(azzsch, azzqua);
@ -419,6 +439,9 @@ void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
_reset_SCPERC->run();
_reset_RPAG->run();
_reset_RVER->run();
// esistono schede loggate!
logged_schede = !_logschede->empty();
}
// richiesto azzeramento quadri
@ -484,8 +507,8 @@ void TAzzeramento_archivi::elab_tutte(const bool azzsch, const bool azzqua)
// distruzione istanze d'azzeramento
azzera_destroy(azzsch, azzqua);
// controllo se esiste log schede percipienti
if (!_logschede->empty())
// handle log schede percipienti
if (logged_schede)
handle_log();
return;

205
m770/77logazz.frm Executable file
View File

@ -0,0 +1,205 @@
USE 39
END
DESCRIPTION
BEGIN
39->* "Schede percipienti"
END
GENERAL
BEGIN
OFFSET 2 2
FONT "Courier New"
SIZE 8
GRID "+++++++++-|"
END
SECTION HEADER ODD 5
NUMERO 1
BEGIN
KEY "Titolo della stampa"
PROMPT -1 1 "Azzeramento archivi per l'anno "
END
STRINGA 2
BEGIN
KEY "Sottotitolo"
PROMPT 1 3 "Elenco schede percipienti insolute"
END
STRINGA 3
BEGIN
KEY "Colonna ditta"
PROMPT 1 5 "Ditta"
END
STRINGA 4
BEGIN
KEY "Colonna tipo percipiente"
PROMPT 7 5 "Tipo"
END
STRINGA 5
BEGIN
KEY "Colonna codice percipiente"
PROMPT 12 5 "Codice"
END
STRINGA 6
BEGIN
KEY "Colonna numero scheda"
PROMPT 19 5 "Scheda"
END
STRINGA 7
BEGIN
KEY "Colonna data documento"
PROMPT 26 5 "Data doc."
END
STRINGA 8
BEGIN
KEY "Colonna numero documento"
PROMPT 37 5 "Numero doc."
END
STRINGA 9
BEGIN
KEY "Colonna causale"
PROMPT 49 5 "Cau."
END
STRINGA 10
BEGIN
KEY "Colonna totale documento"
PROMPT 58 5 "Totale doc."
END
STRINGA 11
BEGIN
KEY "Colonna compenso"
PROMPT 77 5 "Compenso"
END
STRINGA 12
BEGIN
KEY "Colonna spese"
PROMPT 96 5 "Spese"
END
STRINGA 13
BEGIN
KEY "Colonna iva"
PROMPT 114 5 "Iva"
END
END
SECTION BODY ODD 1
NUMERO 1 5
BEGIN
KEY "Codice ditta"
PROMPT 1 1 ""
PICTURE "@@@@@"
FIELD 39->CODDITTA
END
STRINGA 2 1
BEGIN
KEY "Tipo percipiente"
PROMPT 9 1 ""
FIELD 39->TIPOA
END
NUMERO 3 5
BEGIN
KEY "Codice percipiente"
PROMPT 12 1 ""
PICTURE "@@@@@"
FIELD 39->CODANAGR
END
NUMERO 4 4
BEGIN
KEY "Numero scheda"
PROMPT 19 1 ""
FIELD 39->NPROG
END
DATA 5
BEGIN
KEY "Data documento"
PROMPT 26 1 ""
FIELD 39->DATADOC
FORMAT "1444-"
END
STRINGA 6 7
BEGIN
KEY "Numero documento"
PROMPT 37 1 ""
FIELD 39->NUMDOC
END
NUMERO 7 2
BEGIN
KEY "Codice causale"
PROMPT 49 1 ""
PICTURE "@@"
FIELD 39->CODCAUS
END
NUMERO 8
BEGIN
KEY "Totale documento"
PROMPT 54 1 ""
PICTURE "###############"
FIELD 39->TOTALE
END
NUMERO 9
BEGIN
KEY "Compenso"
PROMPT 70 1 ""
PICTURE "###############"
FIELD 39->COMPENSO
END
NUMERO 10
BEGIN
KEY "Spese"
PROMPT 86 1 ""
PICTURE "###############"
FIELD 39->SPESE
END
NUMERO 11
BEGIN
KEY "Iva"
PROMPT 102 1 ""
PICTURE "###############"
FIELD 39->IVA
END
END
SECTION FOOTER ODD 1
STRINGA 1
BEGIN
KEY "Footer standard Prassi"
PROMPT 1 1 "PR.A.S.S.I. S.p.A."
END
DATA 2
BEGIN
KEY " "
PROMPT 20 1 ""
FORMAT "1454-"
END
END
END