cg210?.* Aggiustamenti gestione saldaconto
cg5400.cpp Corretto azzeramento tabella LIM all'inizio di un esercizio git-svn-id: svn://10.65.10.50/trunk@1651 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
e16e4d62c3
commit
e6eb3ec25d
@ -107,8 +107,6 @@ TMask* TPrimanota_application::load_mask(int n)
|
|||||||
m->set_handler(F_DESCR, descr_handler);
|
m->set_handler(F_DESCR, descr_handler);
|
||||||
m->set_handler(F_CODCAUS, caus_modify_handler);
|
m->set_handler(F_CODCAUS, caus_modify_handler);
|
||||||
m->set_handler(F_SHEETCG, cg_handler);
|
m->set_handler(F_SHEETCG, cg_handler);
|
||||||
m->set_handler(F_CAMBIO, cambio_handler);
|
|
||||||
m->set_handler(F_VISVAL, visval_handler);
|
|
||||||
|
|
||||||
TSheet_field& cg = (TSheet_field&)m->field(F_SHEETCG);
|
TSheet_field& cg = (TSheet_field&)m->field(F_SHEETCG);
|
||||||
cg.set_notify(cg_notify);
|
cg.set_notify(cg_notify);
|
||||||
@ -117,12 +115,6 @@ TMask* TPrimanota_application::load_mask(int n)
|
|||||||
if (n == 1) // movimento non IVA
|
if (n == 1) // movimento non IVA
|
||||||
{
|
{
|
||||||
m->set_handler(S_TOTDOC, totdoc_handler);
|
m->set_handler(S_TOTDOC, totdoc_handler);
|
||||||
m->set_handler(S_SPESE, speserimb_handler);
|
|
||||||
m->set_handler(S_ALSPESE, altrespese_handler);
|
|
||||||
m->set_handler(S_ABBATT, abbatt_handler);
|
|
||||||
m->set_handler(S_ABBPASS, abbpass_handler);
|
|
||||||
m->set_handler(S_RITPROF, ritprof_handler);
|
|
||||||
m->set_handler(S_DIFFCAMB, diffcamb_handler);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cgm.set_handler(101, dareavere_handler);
|
cgm.set_handler(101, dareavere_handler);
|
||||||
@ -316,23 +308,11 @@ bool TPrimanota_application::read_caus(const char* cod, int year)
|
|||||||
char tipr = ' ';
|
char tipr = ' ';
|
||||||
if (_is_saldaconto)
|
if (_is_saldaconto)
|
||||||
{
|
{
|
||||||
if (nriga < 8) continue; // non si cagano gli importi totali
|
if (nriga < 12 && nriga != 10) continue; // Si considerano solo le spese
|
||||||
switch(nriga)
|
tipr = nriga == 10 ? 'G' : 'L';
|
||||||
{
|
|
||||||
case 8:
|
|
||||||
tipr = 'P'; break;
|
|
||||||
case 9:
|
|
||||||
tipr = 'A'; break;
|
|
||||||
case 10:
|
|
||||||
tipr = 'G'; break;
|
|
||||||
case 11:
|
|
||||||
tipr = 'R'; break;
|
|
||||||
default:
|
|
||||||
tipr = ' '; break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
const int pos = set_cgs_row(-1,zero,tc,desc,tipr);
|
const int pos = set_cgs_row(-1,zero,tc,desc,tipr);
|
||||||
if (sezione > ' ')
|
if (sezione > ' ' && tipr != ' ')
|
||||||
cgs().disable_cell(pos, sezione == 'A' ? 0 : 1);
|
cgs().disable_cell(pos, sezione == 'A' ? 0 : 1);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -455,7 +435,7 @@ void TPrimanota_application::init_mask(TMask& m)
|
|||||||
|
|
||||||
if (_iva == nessuna_iva)
|
if (_iva == nessuna_iva)
|
||||||
{
|
{
|
||||||
m.enable(-5, _is_saldaconto); // Abilita campi saldaconto
|
m.enable(-5, _is_saldaconto); // Abilita campi saldaconto
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -480,7 +460,7 @@ void TPrimanota_application::init_mask(TMask& m)
|
|||||||
m.show(F_CODIVA, m.mode() == MODE_INS); // Codice IVA standard
|
m.show(F_CODIVA, m.mode() == MODE_INS); // Codice IVA standard
|
||||||
}
|
}
|
||||||
|
|
||||||
// Show/Hide campi valuta: F_VALUTA, F_CAMBIO, F_VISVAL (GROUP 3)
|
// Show/Hide campi valuta: F_VALUTA, F_CAMBIO, F_DATACAMBIO (GROUP 3)
|
||||||
const bool valuta = _ges_val && causale().valuta();
|
const bool valuta = _ges_val && causale().valuta();
|
||||||
m.show(-3, valuta);
|
m.show(-3, valuta);
|
||||||
}
|
}
|
||||||
@ -498,13 +478,16 @@ void TPrimanota_application::init_query_mode(TMask& m)
|
|||||||
|
|
||||||
void TPrimanota_application::fill_sheet(TMask& m) const
|
void TPrimanota_application::fill_sheet(TMask& m) const
|
||||||
{
|
{
|
||||||
TSheet_field& cgs = (TSheet_field&)m.field(F_SHEETCG);
|
if (_iva != nessuna_iva || !_is_saldaconto)
|
||||||
for (int r = cgs.items(); r < 16; r++) cgs.row(r);
|
{
|
||||||
|
TSheet_field& cgs = (TSheet_field&)m.field(F_SHEETCG);
|
||||||
|
for (int r = cgs.items(); r < 16; r++) cgs.row(r);
|
||||||
|
}
|
||||||
|
|
||||||
if (_iva != nessuna_iva)
|
if (_iva != nessuna_iva)
|
||||||
{
|
{
|
||||||
TSheet_field& ivas = (TSheet_field&)m.field(F_SHEETIVA);
|
TSheet_field& ivas = (TSheet_field&)m.field(F_SHEETIVA);
|
||||||
for (r = ivas.items(); r < 16; r++) ivas.row(r);
|
for (int r = ivas.items(); r < 16; r++) ivas.row(r);
|
||||||
ivas.enable_column(2, _iva == iva_acquisti); // Tipo detrazione
|
ivas.enable_column(2, _iva == iva_acquisti); // Tipo detrazione
|
||||||
ivas.enable_column(4, !m.insert_mode()); // Tipo costo ricavo
|
ivas.enable_column(4, !m.insert_mode()); // Tipo costo ricavo
|
||||||
}
|
}
|
||||||
|
15
cg/cg2100.h
15
cg/cg2100.h
@ -37,9 +37,6 @@
|
|||||||
#define F_CODPAG 122
|
#define F_CODPAG 122
|
||||||
#define F_ANNORIF 123
|
#define F_ANNORIF 123
|
||||||
#define F_NUMRIF 124
|
#define F_NUMRIF 124
|
||||||
#define F_VALUTA 126
|
|
||||||
#define F_CAMBIO 127
|
|
||||||
#define F_VISVAL 128
|
|
||||||
#define F_PROVVISORIO 129
|
#define F_PROVVISORIO 129
|
||||||
#define F_TIPOMOV 130
|
#define F_TIPOMOV 130
|
||||||
#define F_OCCASEDIT 131
|
#define F_OCCASEDIT 131
|
||||||
@ -104,14 +101,12 @@
|
|||||||
#define I_CONTO4 233
|
#define I_CONTO4 233
|
||||||
#define I_SOTTOCONTO4 234
|
#define I_SOTTOCONTO4 234
|
||||||
|
|
||||||
// importi saldaconto
|
// Saldaconto
|
||||||
#define S_TOTDOC 401
|
#define S_TOTDOC 401
|
||||||
#define S_SPESE 402
|
#define S_TOTDOCVAL 402
|
||||||
#define S_ABBATT 403
|
#define S_VALUTA 403
|
||||||
#define S_ABBPASS 404
|
#define S_DATACAMBIO 404
|
||||||
#define S_RITPROF 405
|
#define S_CAMBIO 405
|
||||||
#define S_ALSPESE 406
|
|
||||||
#define S_DIFFCAMB 407
|
|
||||||
|
|
||||||
// copie 2a pag.
|
// copie 2a pag.
|
||||||
#define K_CODDITTA 501
|
#define K_CODDITTA 501
|
||||||
|
119
cg/cg2100b.uml
119
cg/cg2100b.uml
@ -16,7 +16,7 @@ END
|
|||||||
NUMBER F_CODDITTA 5
|
NUMBER F_CODDITTA 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 3 1 "Ditta "
|
PROMPT 3 1 "Ditta "
|
||||||
FLAGS "FRD"
|
FLAGS "DFR"
|
||||||
USE LF_NDITTE KEY 1
|
USE LF_NDITTE KEY 1
|
||||||
INPUT CODDITTA F_CODDITTA
|
INPUT CODDITTA F_CODDITTA
|
||||||
OUTPUT K_CODDITTA CODDITTA
|
OUTPUT K_CODDITTA CODDITTA
|
||||||
@ -174,109 +174,71 @@ BEGIN
|
|||||||
COPY OUTPUT F_DESCAGG
|
COPY OUTPUT F_DESCAGG
|
||||||
END
|
END
|
||||||
|
|
||||||
STRING F_VALUTA 3
|
|
||||||
BEGIN
|
|
||||||
PROMPT 1 9 "Valuta "
|
|
||||||
HELP "Codice della valuta per movimento"
|
|
||||||
FIELD LF_MOV->CODVAL
|
|
||||||
FLAGS "U"
|
|
||||||
GROUP 3
|
|
||||||
USE %VAL
|
|
||||||
INPUT CODTAB F_VALUTA
|
|
||||||
DISPLAY "Codice" CODTAB
|
|
||||||
DISPLAY "Nome@50" S0
|
|
||||||
DISPLAY "Cambio@15" R10
|
|
||||||
DISPLAY "Ultimo aggiornamento" D0
|
|
||||||
OUTPUT F_VALUTA CODTAB
|
|
||||||
OUTPUT F_CAMBIO R10
|
|
||||||
CHECKTYPE NORMAL
|
|
||||||
END
|
|
||||||
|
|
||||||
NUMBER F_CAMBIO 15 5
|
|
||||||
BEGIN
|
|
||||||
PROMPT 20 9 "Cambio "
|
|
||||||
HELP "Cambio della valuta"
|
|
||||||
FIELD LF_MOV->CAMBIO
|
|
||||||
FLAGS "RU"
|
|
||||||
GROUP 3
|
|
||||||
PICTURE ".5"
|
|
||||||
END
|
|
||||||
|
|
||||||
BOOLEAN F_VISVAL
|
|
||||||
BEGIN
|
|
||||||
PROMPT 47 9 "Visualizza importi in valuta"
|
|
||||||
HELP "Indicare se gli importi sono visualizzati in valuta (non in Lit)"
|
|
||||||
GROUP 3
|
|
||||||
END
|
|
||||||
|
|
||||||
GROUPBOX DLG_NULL 78 8
|
GROUPBOX DLG_NULL 78 8
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 10 "Voci di spesa per saldaconto"
|
PROMPT 1 10 "Voci per saldaconto"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_TOTDOC 15 0
|
NUMBER S_TOTDOC 15 0
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 11 "Totale documento "
|
PROMPT 2 11 "Totale documento "
|
||||||
HELP ""
|
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
PICTURE "."
|
PICTURE "."
|
||||||
GROUP 5
|
GROUP 5
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_SPESE 15 0
|
NUMBER S_TOTDOCVAL 15 2
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 12 "Spese e rimborsi "
|
PROMPT 42 11 "Totale in valuta "
|
||||||
HELP ""
|
HELP ""
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
PICTURE "."
|
PICTURE ".2"
|
||||||
GROUP 5
|
GROUP 3
|
||||||
END
|
|
||||||
|
|
||||||
NUMBER S_ALSPESE 15 0
|
|
||||||
BEGIN
|
|
||||||
PROMPT 39 12 "Altre spese "
|
|
||||||
HELP ""
|
|
||||||
FLAGS "R"
|
|
||||||
PICTURE "."
|
|
||||||
GROUP 5
|
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
NUMBER S_ABBATT 15 0
|
STRING S_VALUTA 3
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 14 "Abbuoni attivi "
|
PROMPT 2 13 "Valuta "
|
||||||
HELP ""
|
HELP "Codice della valuta per movimento"
|
||||||
FLAGS "R"
|
FIELD LF_MOV->CODVAL
|
||||||
PICTURE "."
|
FLAGS "U"
|
||||||
GROUP 5
|
GROUP 3
|
||||||
|
USE %VAL
|
||||||
|
INPUT CODTAB S_VALUTA
|
||||||
|
DISPLAY "Codice" CODTAB
|
||||||
|
DISPLAY "Nome@50" S0
|
||||||
|
DISPLAY "Ultimo cambio@15" R10
|
||||||
|
DISPLAY "Ultimo aggiornamento" D0
|
||||||
|
OUTPUT S_VALUTA CODTAB
|
||||||
|
OUTPUT S_CAMBIO R10
|
||||||
|
CHECKTYPE NORMAL
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_ABBPASS 15 0
|
DATE S_DATACAMBIO
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 39 14 "Abbuoni passivi "
|
PROMPT 20 13 "Data cambio "
|
||||||
HELP ""
|
|
||||||
FLAGS "R"
|
FLAGS "R"
|
||||||
PICTURE "."
|
USE CAM
|
||||||
GROUP 5
|
INPUT CODTAB[1,3] S_VALUTA
|
||||||
|
INPUT CODTAB[4,11] S_DATACAMBIO
|
||||||
|
DISPLAY "Valuta" CODTAB[1,3]
|
||||||
|
DISPLAY "Data@10" D0
|
||||||
|
DISPLAY "Cambio@18" R10
|
||||||
|
OUTPUT S_VALUTA CODTAB[1,3]
|
||||||
|
OUTPUT S_DATACAMBIO D0
|
||||||
|
OUTPUT S_CAMBIO R10
|
||||||
|
GROUP 3
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER S_RITPROF 15 0
|
NUMBER S_CAMBIO 15 5
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 2 16 "Ritenuta prof. "
|
PROMPT 50 13 "Cambio "
|
||||||
HELP ""
|
HELP "Cambio della valuta"
|
||||||
FLAGS "R"
|
FIELD LF_MOV->CAMBIO
|
||||||
PICTURE "."
|
FLAGS "RU"
|
||||||
GROUP 5
|
GROUP 3
|
||||||
END
|
PICTURE ".5"
|
||||||
|
|
||||||
|
|
||||||
NUMBER S_DIFFCAMB 15 0
|
|
||||||
BEGIN
|
|
||||||
PROMPT 39 16 "Diff. cambio "
|
|
||||||
HELP ""
|
|
||||||
FLAGS "R"
|
|
||||||
PICTURE "."
|
|
||||||
GROUP 5
|
|
||||||
END
|
END
|
||||||
|
|
||||||
ENDPAGE
|
ENDPAGE
|
||||||
@ -312,7 +274,6 @@ BEGIN
|
|||||||
FLAGS "D"
|
FLAGS "D"
|
||||||
END
|
END
|
||||||
|
|
||||||
|
|
||||||
DATE K_DATACOMP
|
DATE K_DATACOMP
|
||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 1 4 "Data di competenza "
|
PROMPT 1 4 "Data di competenza "
|
||||||
|
154
cg/cg2102.cpp
154
cg/cg2102.cpp
@ -344,18 +344,16 @@ void TPrimanota_application::disable_cgs_cells(int n, char tipo)
|
|||||||
int last = 0;
|
int last = 0;
|
||||||
switch(tipo)
|
switch(tipo)
|
||||||
{
|
{
|
||||||
|
case 'A': // Abbuoni attivi
|
||||||
|
case 'C': // Differenza cambio
|
||||||
case 'D': // IVA Detraibile
|
case 'D': // IVA Detraibile
|
||||||
case 'F': // Ritenute Fiscali
|
case 'F': // Ritenute Fiscali
|
||||||
case 'N':
|
case 'N': // IVA Non detraibile
|
||||||
case 'G': // vedi enum TipoConto per i prossimi 6
|
case 'P': // Abbuoni passsivi
|
||||||
case 'A':
|
case 'R': // Ritenute professionali
|
||||||
case 'P':
|
|
||||||
case 'R':
|
|
||||||
case 'L':
|
|
||||||
case 'C':
|
|
||||||
case 'S': // Ritenute Sociali
|
case 'S': // Ritenute Sociali
|
||||||
case 'T': // Totale documento
|
case 'T': // Totale documento
|
||||||
last = 3; // IVA Non detraibile
|
last = 3;
|
||||||
break;
|
break;
|
||||||
case 'I':
|
case 'I':
|
||||||
last = 7; // Imponibile
|
last = 7; // Imponibile
|
||||||
@ -380,8 +378,8 @@ void TPrimanota_application::disable_cgs_cells(int n, char tipo)
|
|||||||
|
|
||||||
void TPrimanota_application::reset_sheet_row(TSheet_field& s, int n)
|
void TPrimanota_application::reset_sheet_row(TSheet_field& s, int n)
|
||||||
{
|
{
|
||||||
s.row(s.items()); // Append a new line
|
s.row(s.items()); // Append a new line
|
||||||
s.destroy(n); // Remove line n
|
s.destroy(n); // Remove line n
|
||||||
}
|
}
|
||||||
|
|
||||||
int TPrimanota_application::set_cgs_row(int n, const TImporto& imp,
|
int TPrimanota_application::set_cgs_row(int n, const TImporto& imp,
|
||||||
@ -1646,17 +1644,17 @@ bool TPrimanota_application::clifo_handler(TMask_field& f, KEY key)
|
|||||||
{
|
{
|
||||||
app().add_cgs_tot(m);
|
app().add_cgs_tot(m);
|
||||||
|
|
||||||
if (m.field(F_VISVAL).active())
|
if (m.field(S_VALUTA).active())
|
||||||
{
|
{
|
||||||
const TString16 valuta(clifo.get("CODVAL"));
|
const TString16 valuta(clifo.get("CODVAL"));
|
||||||
if (valuta.not_empty() && valuta != m.get(F_VALUTA))
|
if (valuta.not_empty() && valuta != m.get(S_VALUTA))
|
||||||
{
|
{
|
||||||
TTable val("%val");
|
TTable val("%val");
|
||||||
val.put("CODTAB", valuta);
|
val.put("CODTAB", valuta);
|
||||||
if (val.read() == NOERR)
|
if (val.read() == NOERR)
|
||||||
{
|
{
|
||||||
m.set(F_VALUTA, valuta);
|
m.set(S_VALUTA, valuta);
|
||||||
m.set(F_CAMBIO, val.get("R0"), TRUE);
|
m.set(S_CAMBIO, val.get("R10"), TRUE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1790,65 +1788,6 @@ void TPrimanota_application::add_cgs_rit(bool fiscali)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void TPrimanota_application::add_cgs_row_noniva(TipoConto t)
|
|
||||||
{
|
|
||||||
// aggiunge riga IVA relativa al tipo conto passato
|
|
||||||
// determina numero riga e legge importo
|
|
||||||
// schiaffa e aggiorna
|
|
||||||
|
|
||||||
real imp = 0.0;
|
|
||||||
int row = -1;
|
|
||||||
|
|
||||||
switch (t)
|
|
||||||
{
|
|
||||||
case asp:
|
|
||||||
t = spr; // accorpiamo con le spese per ora
|
|
||||||
case spr:
|
|
||||||
imp = real(curr_mask().get(S_SPESE));
|
|
||||||
imp += real(curr_mask().get(S_ALSPESE));
|
|
||||||
row = 10;
|
|
||||||
break;
|
|
||||||
case aba:
|
|
||||||
imp = real(curr_mask().get(S_ABBATT));
|
|
||||||
row = 9;
|
|
||||||
break;
|
|
||||||
case abp:
|
|
||||||
imp = real(curr_mask().get(S_ABBPASS));
|
|
||||||
row = 8;
|
|
||||||
break;
|
|
||||||
case rpf:
|
|
||||||
imp = real(curr_mask().get(S_RITPROF));
|
|
||||||
row = 11;
|
|
||||||
break;
|
|
||||||
case dfc:
|
|
||||||
imp = real(curr_mask().get(S_DIFFCAMB));
|
|
||||||
// row 0 (sconosciuto) for now
|
|
||||||
row = 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
char tipo = (char)t;
|
|
||||||
|
|
||||||
if (row != -1)
|
|
||||||
{
|
|
||||||
int pos = type2pos(tipo);
|
|
||||||
if (pos < 0)
|
|
||||||
{
|
|
||||||
TBill conto; if (row != 0) causale().bill(row, conto);
|
|
||||||
const TString80 desc(row == 0 ? "" : causale().desc_agg(row));
|
|
||||||
set_cgs_row(-1, real2imp(imp, tipo), conto, desc, tipo);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (imp.is_zero())
|
|
||||||
reset_cgs_row(pos);
|
|
||||||
else
|
|
||||||
set_cgs_imp(pos, real2imp(imp, tipo));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Handler of the F_PROTIVA
|
// Handler of the F_PROTIVA
|
||||||
bool TPrimanota_application::protiva_handler(TMask_field& f, KEY key)
|
bool TPrimanota_application::protiva_handler(TMask_field& f, KEY key)
|
||||||
{
|
{
|
||||||
@ -1884,75 +1823,6 @@ bool TPrimanota_application::ritsoc_handler(TMask_field& f, KEY key)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TPrimanota_application::speserimb_handler(TMask_field& f, KEY k)
|
|
||||||
{
|
|
||||||
if (k == K_TAB && f.focusdirty())
|
|
||||||
app().add_cgs_row_noniva(spr);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TPrimanota_application::altrespese_handler(TMask_field& f, KEY k)
|
|
||||||
{
|
|
||||||
if (k == K_TAB && f.focusdirty())
|
|
||||||
app().add_cgs_row_noniva(asp);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TPrimanota_application::abbatt_handler(TMask_field& f, KEY k)
|
|
||||||
{
|
|
||||||
if (k == K_TAB && f.focusdirty())
|
|
||||||
app().add_cgs_row_noniva(aba);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TPrimanota_application::abbpass_handler(TMask_field& f, KEY k)
|
|
||||||
{
|
|
||||||
if (k == K_TAB && f.focusdirty())
|
|
||||||
app().add_cgs_row_noniva(abp);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TPrimanota_application::ritprof_handler(TMask_field& f, KEY k)
|
|
||||||
{
|
|
||||||
if (k == K_TAB && f.focusdirty())
|
|
||||||
app().add_cgs_row_noniva(rpf);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TPrimanota_application::diffcamb_handler(TMask_field& f, KEY k)
|
|
||||||
{
|
|
||||||
if (k == K_TAB && f.focusdirty())
|
|
||||||
app().add_cgs_row_noniva(dfc);
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool TPrimanota_application::cambio_handler(TMask_field& f, KEY key)
|
|
||||||
{
|
|
||||||
if (key == K_TAB && f.focusdirty())
|
|
||||||
{
|
|
||||||
if (f.get().empty())
|
|
||||||
f.set(f.mask().exchange().string());
|
|
||||||
else
|
|
||||||
f.mask().field(F_VISVAL).on_hit();
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Handler of F_VISVAL
|
|
||||||
// Certified 99%
|
|
||||||
bool TPrimanota_application::visval_handler(TMask_field& f, KEY key)
|
|
||||||
{
|
|
||||||
if (key == K_SPACE)
|
|
||||||
{
|
|
||||||
TMask& m = f.mask();
|
|
||||||
const bool on = f.get().not_empty();
|
|
||||||
const real e(f.mask().get(F_CAMBIO));
|
|
||||||
m.set_exchange(on, e);
|
|
||||||
}
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Handler of F_CORRLIRE
|
// Handler of F_CORRLIRE
|
||||||
// Certified 99%
|
// Certified 99%
|
||||||
bool TPrimanota_application::corrlire_handler(TMask_field& f, KEY key)
|
bool TPrimanota_application::corrlire_handler(TMask_field& f, KEY key)
|
||||||
|
@ -87,8 +87,6 @@ class TPrimanota_application : public TRelation_application
|
|||||||
static bool ritfis_handler(TMask_field& f, KEY key);
|
static bool ritfis_handler(TMask_field& f, KEY key);
|
||||||
static bool ritsoc_handler(TMask_field& f, KEY key);
|
static bool ritsoc_handler(TMask_field& f, KEY key);
|
||||||
static bool main_codiva_handler(TMask_field& f, KEY key);
|
static bool main_codiva_handler(TMask_field& f, KEY key);
|
||||||
static bool cambio_handler(TMask_field& f, KEY key);
|
|
||||||
static bool visval_handler(TMask_field& f, KEY key);
|
|
||||||
static bool corrlire_handler(TMask_field& f, KEY key);
|
static bool corrlire_handler(TMask_field& f, KEY key);
|
||||||
static bool corrvaluta_handler(TMask_field& f, KEY key);
|
static bool corrvaluta_handler(TMask_field& f, KEY key);
|
||||||
static bool occas_code_handler(TMask_field& f, KEY key);
|
static bool occas_code_handler(TMask_field& f, KEY key);
|
||||||
@ -198,7 +196,6 @@ protected:
|
|||||||
void add_cgs_tot(TMask& m);
|
void add_cgs_tot(TMask& m);
|
||||||
|
|
||||||
void add_cgs_rit(bool fisc);
|
void add_cgs_rit(bool fisc);
|
||||||
void add_cgs_row_noniva(TipoConto t);
|
|
||||||
void generazione_righe_cg(int r);
|
void generazione_righe_cg(int r);
|
||||||
|
|
||||||
void reset_cgs_row(int n) { reset_sheet_row(cgs(), n); }
|
void reset_cgs_row(int n) { reset_sheet_row(cgs(), n); }
|
||||||
|
@ -22,8 +22,8 @@ enum TipoIVA
|
|||||||
enum TipoConto
|
enum TipoConto
|
||||||
{
|
{
|
||||||
spr = 'G', // spese e rimborsi
|
spr = 'G', // spese e rimborsi
|
||||||
aba = 'A', // abbattimenti attivi
|
aba = 'A', // abbuoni attivi
|
||||||
abp = 'P', // abbattimenti passivi
|
abp = 'P', // abbuoni passivi
|
||||||
rpf = 'R', // ritenute professionali
|
rpf = 'R', // ritenute professionali
|
||||||
asp = 'L', // altre spese
|
asp = 'L', // altre spese
|
||||||
dfc = 'C', // differenza cambio
|
dfc = 'C', // differenza cambio
|
||||||
|
@ -23,12 +23,32 @@ protected: // TApplication
|
|||||||
virtual bool menu(MENU_TAG);
|
virtual bool menu(MENU_TAG);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
void azzera_lim(int year, int month) const;
|
||||||
|
|
||||||
bool reg_restore(const TString& reg, int year, int month, int day, bool giornale);
|
bool reg_restore(const TString& reg, int year, int month, int day, bool giornale);
|
||||||
bool inl_restore(const TString& lbu, int year, int month);
|
bool inl_restore(const TString& lbu, int year, int month);
|
||||||
|
|
||||||
TRipristina_stampa() : _op(restore_reg) {}
|
TRipristina_stampa() : _op(restore_reg) {}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Azzera flag di stampato della liquidazione mensile dal mese dato in poi
|
||||||
|
void TRipristina_stampa::azzera_lim(int year, int month) const
|
||||||
|
{
|
||||||
|
TTable lim("LIM"); // Azzera i flag di stampa liquidazione
|
||||||
|
lim.put("CODTAB", format("%04d%02d", year, month));
|
||||||
|
for (int err = lim.read(_isgteq); err == NOERR; err = lim.next())
|
||||||
|
{
|
||||||
|
if (atoi(lim.get("CODTAB").left(4)) != year) break;
|
||||||
|
const bool stampato = lim.get_bool("B1");
|
||||||
|
if (stampato)
|
||||||
|
{
|
||||||
|
lim.zero("B1");
|
||||||
|
lim.rewrite();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool TRipristina_stampa::reg_restore(const TString& regist,
|
bool TRipristina_stampa::reg_restore(const TString& regist,
|
||||||
int year, int month, int day,
|
int year, int month, int day,
|
||||||
bool giornale)
|
bool giornale)
|
||||||
@ -118,19 +138,7 @@ bool TRipristina_stampa::reg_restore(const TString& regist,
|
|||||||
reg.put("I4", (long)mese); // Ultimo mese di stampa liquidazione
|
reg.put("I4", (long)mese); // Ultimo mese di stampa liquidazione
|
||||||
if (reg.get_int("I8") >= mese)
|
if (reg.get_int("I8") >= mese)
|
||||||
reg.zero("I8"); // Mese di ultima stampa credito precedente
|
reg.zero("I8"); // Mese di ultima stampa credito precedente
|
||||||
|
azzera_lim(year, mese+1);
|
||||||
TTable lim("LIM"); // Azzera i flag di stampa liquidazione
|
|
||||||
lim.put("CODTAB", format("%04d%02d", year, mese+1));
|
|
||||||
for (int err = lim.read(_isgteq); err == NOERR; err = lim.next())
|
|
||||||
{
|
|
||||||
if (atoi(lim.get("CODTAB").left(4)) != year) break;
|
|
||||||
const bool stampato = lim.get_bool("B1");
|
|
||||||
if (stampato)
|
|
||||||
{
|
|
||||||
lim.zero("B1");
|
|
||||||
lim.rewrite();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -140,6 +148,7 @@ bool TRipristina_stampa::reg_restore(const TString& regist,
|
|||||||
{
|
{
|
||||||
reg.zero("I4");
|
reg.zero("I4");
|
||||||
reg.zero("I8");
|
reg.zero("I8");
|
||||||
|
azzera_lim(year, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user