Correttta maschera di gestione progressivi IVA

git-svn-id: svn://10.65.10.50/trunk@2856 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
guy 1996-05-20 13:17:58 +00:00
parent decdfba5af
commit 7685566cd8
3 changed files with 83 additions and 71 deletions

View File

@ -112,7 +112,7 @@ bool TIva_array::add_riga(const tiporec& tipo, const real& imponibile,
return found; return found;
}; };
class CG0400_application : public TPrintapp class TProgressivi_iva : public TPrintapp
{ {
TTable* _tabpim, * _tabreg, * _tabais, * _tablia; TTable* _tabpim, * _tabreg, * _tabais, * _tablia;
TLocalisamfile* _nditte, * _anag, * _com, * _attiv; TLocalisamfile* _nditte, * _anag, * _com, * _attiv;
@ -129,6 +129,9 @@ class CG0400_application : public TPrintapp
Importi _mesi[13]; Importi _mesi[13];
liste _tipo_lista; liste _tipo_lista;
protected:
static bool tipo_handler(TMask_field& f, KEY k);
public: public:
virtual bool user_create(); virtual bool user_create();
@ -151,7 +154,7 @@ public:
char look_lia(long ditta = 0l); char look_lia(long ditta = 0l);
void look_pim(); void look_pim();
CG0400_application(){}; TProgressivi_iva(){};
}; };
HIDDEN int compare_rows(const TObject** o1, const TObject** o2) HIDDEN int compare_rows(const TObject** o1, const TObject** o2)
@ -162,7 +165,7 @@ HIDDEN int compare_rows(const TObject** o1, const TObject** o2)
return (strcmp((const char*)r1->_codiva, (const char*)r2->_codiva)); return (strcmp((const char*)r1->_codiva, (const char*)r2->_codiva));
} }
const char* CG0400_application::desc_attivita(const char* codatt) const char* TProgressivi_iva::desc_attivita(const char* codatt)
{ {
TTable attiv ("%AIS"); TTable attiv ("%AIS");
attiv.zero(); attiv.zero();
@ -174,7 +177,7 @@ const char* CG0400_application::desc_attivita(const char* codatt)
return TMP; return TMP;
} }
const char* CG0400_application::desc_iva(const char* cod) const char* TProgressivi_iva::desc_iva(const char* cod)
{ {
TTable tab_iva("%IVA"); TTable tab_iva("%IVA");
TString codtab(format("%-4s", cod)); TString codtab(format("%-4s", cod));
@ -189,7 +192,7 @@ const char* CG0400_application::desc_iva(const char* cod)
return TMP; return TMP;
} }
char CG0400_application::look_lia(long ditta) char TProgressivi_iva::look_lia(long ditta)
{ {
if (ditta == 0l) ditta = get_firm(); if (ditta == 0l) ditta = get_firm();
@ -204,7 +207,7 @@ char CG0400_application::look_lia(long ditta)
return _tablia->get_char("S7"); return _tablia->get_char("S7");
} }
bool CG0400_application::user_create() bool TProgressivi_iva::user_create()
{ {
_tabpim = new TTable(TAB_PIM); _tabpim = new TTable(TAB_PIM);
_tabreg = new TTable(TAB_REG); _tabreg = new TTable(TAB_REG);
@ -222,7 +225,7 @@ bool CG0400_application::user_create()
return TRUE; return TRUE;
} }
bool CG0400_application::user_destroy() bool TProgressivi_iva::user_destroy()
{ {
delete _tabpim; delete _tabpim;
delete _tabreg; delete _tabreg;
@ -236,7 +239,7 @@ bool CG0400_application::user_destroy()
return TRUE; return TRUE;
} }
void CG0400_application::azzera_mesi() void TProgressivi_iva::azzera_mesi()
{ {
for (int i=0; i<=12; i++) for (int i=0; i<=12; i++)
{ {
@ -245,7 +248,7 @@ void CG0400_application::azzera_mesi()
} }
} }
void CG0400_application::look_pim() void TProgressivi_iva::look_pim()
{ {
TTable pim("PIM"); TTable pim("PIM");
for (pim.first(); !pim.eof(); pim.next()) for (pim.first(); !pim.eof(); pim.next())
@ -317,7 +320,7 @@ void CG0400_application::look_pim()
_gen1_array.sort(compare_rows); // ordinamento per codice iva _gen1_array.sort(compare_rows); // ordinamento per codice iva
} }
void CG0400_application::cerca_i_pim() void TProgressivi_iva::cerca_i_pim()
{ {
TTable pim("PIM"); TTable pim("PIM");
for (pim.first(); !pim.eof(); pim.next()) for (pim.first(); !pim.eof(); pim.next())
@ -485,8 +488,32 @@ void CG0400_application::cerca_i_pim()
} }
} }
bool TProgressivi_iva::tipo_handler(TMask_field& f, KEY k)
{
if (k == K_SPACE)
{
TMask& m = f.mask();
const int livello = m.get_int(F_LIVELLO);
const int tipo = atoi(f.get());
bool tab = FALSE, tabe = FALSE, tabel = FALSE;
if (livello == 1)
{
tab = tipo == 1;
tabe = tipo == 2;
}
else
{
tabel = tipo == 2;
}
m.show(F_TIPOTAB, tab);
m.show(F_TIPOTABE, tabe);
m.show(F_TIPOTABEL, tabel);
}
bool CG0400_application::set_print(int m) return TRUE;
}
bool TProgressivi_iva::set_print(int m)
{ {
TString16 masc = ""; TString16 masc = "";
@ -506,6 +533,12 @@ bool CG0400_application::set_print(int m)
TMask msk(masc); TMask msk(masc);
switch(m)
{
case 1 :msk.set_handler(F_TIPO, tipo_handler);
default:break;
}
if (msk.run() != K_ENTER) return FALSE; if (msk.run() != K_ENTER) return FALSE;
switch (_tipo_lista) switch (_tipo_lista)
@ -574,7 +607,7 @@ break;
return TRUE; return TRUE;
} }
void CG0400_application::calcola_totali(real& imp, real& imps) void TProgressivi_iva::calcola_totali(real& imp, real& imps)
{ {
for (int i=0; i<=12; i++) for (int i=0; i<=12; i++)
{ {
@ -583,7 +616,7 @@ void CG0400_application::calcola_totali(real& imp, real& imps)
} }
} }
void CG0400_application::cerca_tipo(TIva_array& iva_array,tiporec t, void TProgressivi_iva::cerca_tipo(TIva_array& iva_array,tiporec t,
real& imp, real& imps, real& det) real& imp, real& imps, real& det)
{ {
int k = 0; int k = 0;
@ -605,7 +638,7 @@ void CG0400_application::cerca_tipo(TIva_array& iva_array,tiporec t,
} }
} }
bool CG0400_application::preprocess_page(int file, int counter) bool TProgressivi_iva::preprocess_page(int file, int counter)
{ {
reset_print(); reset_print();
@ -657,7 +690,7 @@ break;
return TRUE; return TRUE;
} }
void CG0400_application::prospetto_pagina(TGen_array& gen, TIva_array& iva) void TProgressivi_iva::prospetto_pagina(TGen_array& gen, TIva_array& iva)
{ {
real t_impov,t_imposv,t_impoa,t_imposa,t_impobd,t_imposbd; real t_impov,t_imposv,t_impoa,t_imposa,t_impobd,t_imposbd;
t_impov = t_imposv = t_impoa = t_imposa = t_impobd = t_imposbd = ZERO; t_impov = t_imposv = t_impoa = t_imposa = t_impobd = t_imposbd = ZERO;
@ -809,7 +842,7 @@ TRectype& look_com (const char* cod, TLocalisamfile *comuni)
return comuni->curr(); return comuni->curr();
} }
void CG0400_application::get_dati_ditta() void TProgressivi_iva::get_dati_ditta()
{ {
TLocalisamfile nditte(LF_NDITTE); TLocalisamfile nditte(LF_NDITTE);
TLocalisamfile anag(LF_ANAG); TLocalisamfile anag(LF_ANAG);
@ -859,7 +892,7 @@ void CG0400_application::get_dati_ditta()
} }
} }
int CG0400_application::stampa_intestazione_ditta() int TProgressivi_iva::stampa_intestazione_ditta()
{ {
int r = 1; int r = 1;
TString riga(132); TString riga(132);
@ -880,7 +913,7 @@ int CG0400_application::stampa_intestazione_ditta()
return r; return r;
} }
void CG0400_application::setta_intestazione() void TProgressivi_iva::setta_intestazione()
{ {
int r = 1; int r = 1;
@ -961,7 +994,7 @@ void CG0400_application::setta_intestazione()
set_header(++r, "@29gImponibile@60gImposta"); set_header(++r, "@29gImponibile@60gImposta");
} }
void CG0400_application::preprocess_header() void TProgressivi_iva::preprocess_header()
{ {
if (_tipo_lista == stampa) if (_tipo_lista == stampa)
{ {
@ -1026,7 +1059,7 @@ void CG0400_application::preprocess_header()
} }
} }
print_action CG0400_application::postprocess_page(int file, int counter) print_action TProgressivi_iva::postprocess_page(int file, int counter)
{ {
switch (_tipo_lista) switch (_tipo_lista)
{ {
@ -1056,7 +1089,7 @@ return NEXT_PAGE;
int cg0400(int argc,char* argv[]) int cg0400(int argc,char* argv[])
{ {
CG0400_application a; TProgressivi_iva a;
a.run(argc, argv, "Riepilogo progressivi IVA"); a.run(argc, argv, "Riepilogo progressivi IVA");
return 0; return 0;
} }

View File

@ -14,7 +14,6 @@
#define F_ATTIVITA 108 #define F_ATTIVITA 108
#define F_TIPOTABEL 109 #define F_TIPOTABEL 109
#define F_RAGSOC 110 #define F_RAGSOC 110
#define F_TIPO1 111
#define F_DATASTAMPA 112 #define F_DATASTAMPA 112
#define F_MESE 113 #define F_MESE 113
#define F_STAMPA 114 #define F_STAMPA 114

View File

@ -11,7 +11,7 @@ NUMBER F_CODDITTA 5
BEGIN BEGIN
PROMPT 2 1 "Ditta " PROMPT 2 1 "Ditta "
FLAGS "ZFR" FLAGS "ZFR"
USE LF_NDITTE KEY 1 USE LF_NDITTE
INPUT CODDITTA F_CODDITTA INPUT CODDITTA F_CODDITTA
DISPLAY "Ditta" CODDITTA DISPLAY "Ditta" CODDITTA
DISPLAY "Ragione sociale@50" RAGSOC DISPLAY "Ragione sociale@50" RAGSOC
@ -41,42 +41,22 @@ BEGIN
CHECKTYPE REQUIRED CHECKTYPE REQUIRED
END END
RADIOBUTTON F_TIPO 18 RADIOBUTTON F_LIVELLO 24
BEGIN BEGIN
PROMPT 2 5 "Tipo progressivi " PROMPT 2 5 "Livello progressivi"
HELP "Tipo di riepilogo da effettuare"
ITEM "1|Vendite"
MESSAGE HIDE,F_TIPOTABE|HIDE,F_TIPOTABEL|SHOW,F_TIPOTAB
MESSAGE COPY,F_TIPO1
ITEM "2|Acquisti"
MESSAGE SHOW,F_TIPOTABE|HIDE,F_TIPOTABEL|HIDE,F_TIPOTAB
MESSAGE COPY,F_TIPO1
KEY 1
END
RADIOBUTTON F_TIPO1 18
BEGIN
PROMPT 2 5 "Tipo progressivi "
HELP "Tipo di riepilogo da effettuare"
ITEM "1|Vendite"
MESSAGE HIDE,F_TIPOTABE|HIDE,F_TIPOTABEL|HIDE,F_TIPOTAB
MESSAGE COPY,F_TIPO
ITEM "2|Acquisti"
MESSAGE HIDE,F_TIPOTABE|SHOW,F_TIPOTABEL|HIDE,F_TIPOTAB
MESSAGE COPY,F_TIPO
KEY 1
END
RADIOBUTTON F_LIVELLO 21
BEGIN
PROMPT 37 5 "Livello progressivi "
HELP "Tipo di raggruppamento dei riepiloghi" HELP "Tipo di raggruppamento dei riepiloghi"
ITEM "1|Per aliquota" ITEM "1|Per aliquota"
MESSAGE HIDE,F_ATTIVITA|SHOW,F_CODIVA|SHOW,F_TIPOTAB MESSAGE HIDE,F_ATTIVITA|SHOW,F_CODIVA|K_SPACE,F_TIPO
MESSAGE HIDE,F_TIPO1|SHOW,F_TIPO|K_SPACE,F_TIPO
ITEM "2|Per attivita'" ITEM "2|Per attivita'"
MESSAGE SHOW,F_ATTIVITA|HIDE,F_CODIVA|HIDE,F_TIPOTAB MESSAGE SHOW,F_ATTIVITA|HIDE,F_CODIVA|K_SPACE,F_TIPO
MESSAGE HIDE,F_TIPO|SHOW,F_TIPO1|K_SPACE,F_TIPO1 END
RADIOBUTTON F_TIPO 24
BEGIN
PROMPT 40 5 "Tipo progressivi "
HELP "Tipo di riepilogo da effettuare"
ITEM "1|Vendite"
ITEM "2|Acquisti"
END END
STRING F_CODIVA 4 STRING F_CODIVA 4