Patch level : 12.0 800

Files correlati     : cg5.exe
Commento            :

Spostata la colonna iva a credito o debito nella seconda colonna nella visualizzazione liquidazione
This commit is contained in:
AlexBonazzi 2019-05-27 18:06:37 +02:00
parent 2cd2de17dd
commit 6974e2e1fe
3 changed files with 192 additions and 191 deletions

View File

@ -559,13 +559,13 @@ bool Visliq_app::calc_int(TMask_field& f, KEY k)
round_imposta(intr);
vers = vers_netto + intr;
f.mask().set(106, vers);
f.mask().set(107, intr);
f.mask().set(S_VERSAMENTO, vers);
f.mask().set(S_INTERESSI, intr);
TToken_string& row = sv.row(sel);
row.add(vers, 5);
row.add(intr, 6);
sv.set_row_cell(row, S_VERSAMENTO, vers);
sv.set_row_cell(row, S_INTERESSI, intr);
sv.force_update(sel);
}
}
@ -638,12 +638,12 @@ bool Visliq_app::vis_all()
_mask->set_handler(DLG_PRINT, print_handler);
sh.sheet_mask().set_handler(100, sel_mese_sh1);
sh.sheet_mask().set_handler(104, enable_date);
sh.sheet_mask().set_handler(109, enable_date);
sh.sheet_mask().set_handler(110, check_date);
sh.sheet_mask().set_handler(S_RIMBORSO, enable_date);
sh.sheet_mask().set_handler(S_CREDF24, enable_date);
sh.sheet_mask().set_handler(S_DATAAUT, check_date);
sv.sheet_mask().set_handler(100, sel_mese_sh2);
sv.sheet_mask().set_handler(106, calc_int);
sv.sheet_mask().set_handler(S_VERSAMENTO, calc_int);
const bool new_print_2000 = true; // _year >= 2000;
const bool compensabile = _lia->get("S9") == "CM";
@ -652,16 +652,16 @@ bool Visliq_app::vis_all()
if (compensabile)
{
const bool gestione_manuale = _lia->get_bool("B6");
sh.enable_column(107, gestione_manuale);
sh.enable_column(S_CREDIVA, gestione_manuale);
for (int id = 108; shm.id2pos(id) > 0; id++)
for (int id = S_CREDF24PRE; shm.id2pos(id) > 0; id++)
{
if ((id > 107 && id <= 110) || id == 114)
if ((id > S_CREDIVA && id <= S_DATAAUT) || id == S_DESCR)
sh.enable_column(id, true);
}
}
else
sh.enable_column(110);
sh.enable_column(S_DATAAUT);
// fill the mask in
read_general(*_mask);
@ -1477,24 +1477,25 @@ void Visliq_app::recalc_next_liq(int start_month, TSheet_field* sl, TSheet_field
if (sl != NULL)
{
TToken_string& t = sl->row(row);
t.add(itoname(i),0);
sl->set_row_cell(t, S_MESE, itoname(i));
const real iva_ven = _lam->get_real("R0"); // IVA acquisti
const real iva_acq = _lam->get_real("R1"); // IVA vendite
const real ris = iva_ven - iva_acq;
t.add(abs(ris).string(), 1);
sl->set_row_cell(t, S_RISULTATO, abs(ris).string());
const real r1 = _lim->get_real("R1");
bool enable_date = !r1.is_zero();
const real r5 = _lim->get_real("R5");
t.add(ris == ZERO ? "" : (ris > ZERO ? "D" : "C"), 2);
t.add(r1, 3);
t.add(abs(r5), 4);
sl->set_row_cell(t, S_DEBCRED1, ris == ZERO ? "" : (ris > ZERO ? "D" : "C"));
sl->set_row_cell(t, S_RIMBORSO, r1);
sl->set_row_cell(t, S_RETTIFICHE, abs(r5));
if (!r5.is_zero())
t.add(r5 >ZERO ? "D" : "C", 5);
sl->set_row_cell(t, S_DEBCRED2, r5 >ZERO ? "D" : "C");
const real criva = _lim->get_real("R15");
const real crf24 = _lim->get_real("R16");
@ -1502,11 +1503,11 @@ void Visliq_app::recalc_next_liq(int start_month, TSheet_field* sl, TSheet_field
TDate dautf24 = _lim->get_date("D1");
enable_date |= !autf24.is_zero();
t.add(criva, 6);
t.add(crf24, 7);
t.add(autf24, 8);
sl->set_row_cell(t, S_CREDIVA, criva);
sl->set_row_cell(t, S_CREDF24PRE, crf24);
sl->set_row_cell(t, S_CREDF24, autf24);
if (enable_date)
t.add(dautf24, 9);
sl->set_row_cell(t, S_DATAAUT, dautf24);
if (compensabile)
{
cr_res += autf24;
@ -1514,33 +1515,32 @@ void Visliq_app::recalc_next_liq(int start_month, TSheet_field* sl, TSheet_field
cr_res -= criva;
if (cr_res < ZERO)
{
sl->set_back_and_fore_color(COLOR_LTYELLOW, COLOR_DKRED, row, 7);
t.add("", 10);
sl->set_back_and_fore_color(COLOR_LTYELLOW, COLOR_DKRED, row, sl->cid2index(S_CREDF24PRE));
sl->set_row_cell(t, S_CREDRES, "");
}
else
{
sl->set_back_and_fore_color(NORMAL_BACK_COLOR, NORMAL_COLOR, row, 7);
t.add(cr_res, 10);
sl->set_back_and_fore_color(NORMAL_BACK_COLOR, NORMAL_COLOR, row, sl->cid2index(S_CREDF24PRE));
sl->set_row_cell(t, S_CREDRES, cr_res);
}
}
else
t.add("", 10);
sl->set_row_cell(t, S_CREDRES, "");
real r0 = _lim->get_real("R0");
if (compensabile)
r0 += autf24;
t.add(abs(r0).string(), 11);
t.add(r0 == ZERO ? "" : (r0 > ZERO ? "D" : "C"), 12);
sl->set_row_cell(t, S_IVA, abs(r0).string());
sl->set_row_cell(t, S_DEBCRED3, r0 == ZERO ? "" : (r0 > ZERO ? "D" : "C"));
t.add(_lim->get("S3"), 13);
for (int kk = 3; kk < 6 ; kk++)
sl->enable_cell(row, kk);
sl->enable_cell(row, 7);
sl->enable_cell(row, 8);
sl->enable_cell(row, 9);
sl->enable_cell(row, 9, enable_date);
sl->enable_cell(row, 14);
sl->enable_cell(row, S_CREDF24PRE);
sl->enable_cell(row, S_CREDF24);
sl->enable_cell(row, S_DATAAUT, enable_date);
sl->enable_cell(row, S_DESCR);
}
}
sl->force_update();
@ -1644,79 +1644,68 @@ void Visliq_app::read_general(TMask& m)
const int row = (i/step) - 1;
if (!look_lim(i))
{
if (sh.items() < row)
sh.row(row) = *(new TToken_string("||||||"));
else
sh.row(row) = "||||||";
TToken_string & t = sh.row(row);
t.cut(0);
sh.disable_cell(row, -1);
continue;
}
TToken_string* tt = NULL;
if (sh.items() < row)
tt = new TToken_string(80);
else
tt = &(sh.row(row));
else
{
const real iva_ven = _lam->get_real("R0"); // IVA acquisti
const real iva_acq = _lam->get_real("R1"); // IVA vendite
const real ris = iva_ven - iva_acq;
const real r1 = _lim->get_real("R1");
const real r5 = _lim->get_real("R5");
const int row = sh.set_row_cell(S_MESE, itoname(i));
sh.set_row_cell(S_RISULTATO, abs(ris), row);
sh.set_row_cell(S_DEBCRED1, ris == ZERO ? "" : (ris > ZERO ? "D" : "C"), row);
sh.set_row_cell(S_RIMBORSO, r1, row);
sh.set_row_cell(S_RETTIFICHE, abs(r5), row);
sh.set_row_cell(S_DEBCRED2, r5 == ZERO ? "" : (r5 > ZERO ? "D" : "C"), row);
const real iva_ven = _lam->get_real("R0"); // IVA acquisti
const real iva_acq = _lam->get_real("R1"); // IVA vendite
const real ris = iva_ven -iva_acq;
const real r1 = _lim->get_real("R1");
const real r5abs = abs(_lim->get_real("R5"));
const real criva = _lim->get_real("R15");
const real crf24 = _lim->get_real("R16");
const real autf24 = _lim->get_real("R20");
bool enable_date = r1 != ZERO;
tt->add(itoname(i),0);
tt->add(abs(ris).string(),1);
const int sris = ris.sign();
const int sr5 = (_lim->get_real("R5")).sign();
tt->add(sris == 0 ? "" : (sris > 0 ? "D" : "C"),2);
tt->add(r1.string(),3);
tt->add(r5abs.string(),4);
bool enable_date = !r1.is_zero();
tt->add(sr5 == 0 ? "" : (sr5 > 0 ? "D" : "C"),5);
const real criva = _lim->get_real("R15");
tt->add(criva.string(), 6);
const real crf24 = _lim->get_real("R16");
tt->add(crf24.string(),7);
const real autf24 = _lim->get_real("R20");
tt->add(autf24.string(),8);
enable_date |= !autf24.is_zero();
TDate dautf24 = _lim->get_date("D1");
if (enable_date)
tt->add(dautf24.string(),9);
sh.enable_cell(row, 9, enable_date);
if (compensabile)
{
cr_res += autf24;
cr_res -= crf24;
cr_res -= criva;
if (cr_res < ZERO)
sh.set_row_cell(S_CREDIVA, criva, row);
sh.set_row_cell(S_CREDF24PRE,crf24, row);
sh.set_row_cell(S_CREDF24, autf24 , row);
enable_date |= autf24 != ZERO;
if (enable_date)
{
sh.set_back_and_fore_color(COLOR_LTYELLOW, COLOR_DKRED, row, 7);
tt->add("", 10);
const TDate dautf24 = _lim->get_date("D1");
sh.set_row_cell(S_DATAAUT, dautf24, row);
}
sh.enable_cell(row, sh.cid2index(S_DATAAUT), enable_date);
if (compensabile)
{
cr_res += autf24;
cr_res -= crf24;
cr_res -= criva;
if (cr_res < ZERO)
{
sh.set_back_and_fore_color(COLOR_LTYELLOW, COLOR_DKRED, row, sh.cid2index(S_CREDF24PRE));
sh.set_row_cell(S_CREDRES, ZERO, row);
}
else
{
sh.set_back_and_fore_color(NORMAL_BACK_COLOR, NORMAL_COLOR, row, sh.cid2index(S_CREDF24PRE));
sh.set_row_cell(S_CREDRES, cr_res , row);
}
}
else
{
sh.set_back_and_fore_color(NORMAL_BACK_COLOR, NORMAL_COLOR, row, 7);
tt->add(cr_res.string(), 10);
}
}
else
tt->add("", 10);
real r0 = _lim->get_real("R0");
sh.set_row_cell(S_CREDRES, ZERO, row);
//if (compensabile)
// r0 += autf24;
tt->add(abs(r0).string(), 11);
tt->add(r0 == ZERO ? "" : (r0 > ZERO ? "D" : "C"), 12);
tt->add(_lim->get("S3"), 13);
sh.row(row) = (*tt);
real r0 = _lim->get_real("R0");
sh.set_row_cell(S_IVA, abs(r0).string(), row);
sh.set_row_cell(S_DEBCRED3, r0 == ZERO ? "" : (r0 > ZERO ? "D" : "C"), row);
sh.set_row_cell(S_DESCR, _lim->get("S3"), row);
// sh.row(row) = (*tt);
}
}
sh.force_update();
@ -1743,10 +1732,11 @@ void Visliq_app::read_general(TMask& m)
if (m >= 12)
m = tipod == 7 ? 12 : 13;
// supercauto
if (m <= 0) continue;
if (m <= 0)
continue;
versamenti[m - 1] += _del->get_real("R0");
interessi[m - 1] += _del->get_real("R1");
interessi[m - 1] += _del->get_real("R1");
date[m-1] = _del->get_date("D0");
TToken_string& b = banche[m-1];
b.add(_del->get("S7"),0);
@ -1759,33 +1749,26 @@ void Visliq_app::read_general(TMask& m)
sv.destroy();
for (int i = 1; i <= 13; i++)
{
if (!is_month_ok(i) && i != 13)
continue;
if (!is_month_ok(i) && i != 13)
continue;
nomemese = itoname(i == 13 ? 12 : i);
if (nomemese == "4 Trimestre")
nomemese = TR("4 Tr.");
if (i == 12) nomemese << TR(" acconto");
if (i == 13) nomemese << TR(" saldo");
nomemese = itoname(i == 13 ? 12 : i);
if (nomemese == "4 Trimestre")
nomemese = TR("4 Tr.");
if (i == 12) nomemese << TR(" acconto");
if (i == 13) nomemese << TR(" saldo");
TToken_string tt;
tt.add(nomemese,0); // mese
tt.add(date[i-1].string(),1); // data vers.
tt.add(banche[i-1].get(0),2); // azienda
tt.add(banche[i-1].get(1),3); // dipendenza
tt.add(banche[i-1].get(2),4); // concessionaria
tt.add(versamenti[i - 1].string(), 5);// versamenti
tt.add(interessi[i - 1].string(), 6);// interessi
const int row = sv.set_row_cell(S_MESE, nomemese); // mese
sv.set_row_cell(S_DATA, date[i - 1], row); // data vers.
sv.set_row_cell(S_ABI, banche[i - 1].get(0), row); // azienda
sv.set_row_cell(S_CAB, banche[i - 1].get(1), row); // dipendenza
sv.set_row_cell(S_CONC, banche[i - 1].get(2), row); // concessionaria
sv.set_row_cell(S_VERSAMENTO, versamenti[i - 1], row);// versamenti
sv.set_row_cell(S_INTERESSI, interessi[i - 1], row);// interessi
sv.row(-1) = tt;
if (i == 12)
sv.enable_cell(sv.items() - 1, -1, false);
if (i == 12)
sv.disable_cell(sv.items() - 1, -1);
}
// sh.enable_column(0, false);
// sv.enable_column(0, false);
sh.force_update();
sv.force_update();
// save initial rows
@ -1840,10 +1823,8 @@ void Visliq_app::write_general(TMask& m)
// risolve menata del dettaglio si'/no
if (lfrommask)
{
for (int i = 1; i <= 13; i++)
tt_ln.add(shm.get(101+i),i);
}
tt_ln.add(shm.get(101+i),i);
// saltare una riga se dicembre (riga 11 == acconto)
TToken_string& tt_vo = (TToken_string&)_vers_rows[i == 12 ? row + 1 : row];
@ -1856,47 +1837,49 @@ void Visliq_app::write_general(TMask& m)
}
// traduci contenuto righe in real pila
real orett(tt_lo.get(4));
real nrett(tt_ln.get(4));
real orimb(tt_lo.get(3));
real nrimb(tt_ln.get(3));
real overs(tt_vo.get(5));
real nvers(tt_vn.get(5));
real crcode(tt_ln.get(6));
real crf24(tt_ln.get(7));
real oautf24(tt_lo.get(8));
real autf24(tt_ln.get(8));
TDate dautf24(tt_ln.get(9));
TDate odate(tt_vo.get(1));
TDate ndate(tt_vn.get(1));
TString odbcr(tt_lo.get(5));
TString ndbcr(tt_ln.get(5));
TString8 oabi (tt_vo.get(2));
TString8 nabi (tt_vn.get(2));
TString8 ocab (tt_vo.get(3));
TString8 ncab (tt_vn.get(3));
TString ocon (tt_vo.get(4));
TString ncon (tt_vn.get(4));
TString descr(tt_ln.get(13));
real orett(tt_lo.get(cid2index(S_RETTIFICHE)));
real nrett(sh.get_real_row_cell(row, S_RETTIFICHE));
real orimb(tt_lo.get(cid2index(S_RIMBORSO)));
real nrimb(sh.get_real_row_cell(row, S_RIMBORSO));
real crcode(sh.get_real_row_cell(row, S_CREDIVA));
real crf24(sh.get_real_row_cell(row, S_CREDF24PRE));
real oautf24(tt_lo.get(cid2index(S_CREDF24)));
real autf24(sh.get_real_row_cell(row, S_CREDF24));
TDate dautf24(sh.get_date_row_cell(row, S_DATAAUT));
TString odbcr(tt_lo.get(cid2index(S_DEBCRED2)));
TString ndbcr(sh.get_str_row_cell(row, S_DEBCRED2));
TString descr(sh.get_str_row_cell(row, S_DESCR));
real overs(tt_vo.get(cid2index(S_VERSAMENTO)));
real nvers(sv.get_real_row_cell(row, S_VERSAMENTO));
TDate odate(tt_vo.get(cid2index(S_DATAAUT)));
TDate ndate(sv.get_date_row_cell(row, S_DATAAUT));
TString8 oabi(tt_vo.get(cid2index(S_ABI)));
TString8 nabi(sv.get_str_row_cell(row, S_ABI));
TString8 ocab(tt_vo.get(cid2index(S_CAB)));
TString8 ncab(sv.get_str_row_cell(row, S_CAB));
TString ocon(tt_vo.get(cid2index(S_CONC)));
TString ncon(sv.get_str_row_cell(row, S_CONC));
if (odbcr == "C") orett = -orett;
if (ndbcr == "C") nrett = -nrett;
// acconto (si considererà solo a dicembre)
TToken_string& vo = (TToken_string&)_vers_rows[_freqviva == "M" ? 11 : 3];
TToken_string& vn = sv.row(_freqviva == "M" ? 11 : 3);
real oacct (vo.get(5));
real nacct (vn.get(5));
TDate aodate(vo.get(1));
TDate andate(vn.get(1));
TString8 aoabi (vo.get(2));
TString8 anabi (vn.get(2));
TString8 aocab (vo.get(3));
TString8 ancab (vn.get(3));
TString aocon (vo.get(4));
TString ancon (vn.get(4));
was_lim = look_lim(i);
TToken_string& vo = (TToken_string&)_vers_rows[_freqviva == "M" ? 11 : 3];
const int row_acc = _freqviva == "M" ? 11 : 3;
real oacct(tt_vo.get(cid2index(S_VERSAMENTO)));
real nacct(sv.get_real_row_cell(row_acc, S_VERSAMENTO));
TDate aodate(tt_vo.get(cid2index(S_DATA)));
TDate andate(sv.get_date_row_cell(row_acc, S_DATA));
TString8 aoabi(tt_vo.get(cid2index(S_ABI)));
TString8 anabi(sv.get_str_row_cell(row_acc, S_ABI));
TString8 aocab(tt_vo.get(cid2index(S_CAB)));
TString8 ancab(sv.get_str_row_cell(row_acc, S_CAB));
TString aocon(tt_vo.get(cid2index(S_CONC)));
TString ancon(sv.get_str_row_cell(row_acc, S_CONC));
was_lim = look_lim(i);
if (!was_lim)
carry = false; // blocca riporto crediti e debiti
@ -2109,7 +2092,7 @@ void Visliq_app::write_general(TMask& m)
}
// Rimetti a posto righe sheet se serve
if (was_lim)
if (was_lim) // qui
{
const real iva_ven = _lam->get_real("R0"); // IVA acquisti

View File

@ -35,3 +35,24 @@
#define F_CODDITTA2 201
#define F_RAGSOC2 202
#define S_MESE 101
#define S_IVA 102
#define S_DEBCRED3 103
#define S_RISULTATO 104
#define S_DEBCRED1 105
#define S_RIMBORSO 106
#define S_RETTIFICHE 107
#define S_DEBCRED2 108
#define S_CREDIVA 109
#define S_CREDF24PRE 110
#define S_CREDF24 111
#define S_DATAAUT 112
#define S_CREDRES 113
#define S_DESCR 114
#define S_DATA 102
#define S_ABI 103
#define S_CAB 104
#define S_CONC 105
#define S_VERSAMENTO 106
#define S_INTERESSI 107

View File

@ -63,6 +63,8 @@ SPREADSHEET F_VISLIQ1 -2 -1
BEGIN
PROMPT 0 7 "Liquidazione"
ITEM "Mese@10"
ITEM "IVA dovuta o\na credito@15"
ITEM "D/C@3"
ITEM "Risultato@15"
ITEM "D/C@3"
ITEM "IVA rimborso@15"
@ -73,8 +75,6 @@ BEGIN
ITEM "Credito anno in corso\nautorizzato F24@20"
ITEM "Data autorizzazione@20"
ITEM "Credito IVA\nresiduo@15"
ITEM "IVA dovuta o\na credito@15"
ITEM "D/C@3"
ITEM "Descrizione@50"
END
@ -122,20 +122,20 @@ ENDPAGE
PAGE "Prospetto mensile" -1 -1 75 22
STRING 101 20
STRING S_MESE 20
BEGIN
PROMPT 1 1 "Mese "
FLAGS "D"
END
CURRENCY 102 15
CURRENCY S_RISULTATO 15
BEGIN
PROMPT 1 2 "Risultato "
FLAGS "D"
END
LIST 103 1 10
LIST S_DEBCRED1 1 10
BEGIN
PROMPT 57 2 ""
ITEM " | "
@ -144,20 +144,20 @@ BEGIN
FLAGS "DU"
END
CURRENCY 104 15
CURRENCY S_RIMBORSO 15
BEGIN
PROMPT 1 3 "IVA rimborso "
PICTURE "."
GROUP 11
END
CURRENCY 105 15
CURRENCY S_RETTIFICHE 15
BEGIN
PROMPT 1 4 "IVA rettifiche "
GROUP 11
END
LIST 106 1 10
LIST S_DEBCRED2 1 10
BEGIN
PROMPT 57 4 ""
ITEM " | "
@ -167,28 +167,28 @@ BEGIN
GROUP 11
END
CURRENCY 107 15
CURRENCY S_CREDIVA 15
BEGIN
PROMPT 1 5 "Credito utilizzato IVA "
FLAGS "D"
GROUP 12
END
CURRENCY 108 15
CURRENCY S_CREDF24PRE 15
BEGIN
PROMPT 1 6 "Credito utilizzato F24 anno precedente "
GROUP 12
FLAGS "D"
END
CURRENCY 109 15
CURRENCY S_CREDF24 15
BEGIN
PROMPT 1 7 "Credito autorizzato F24 anno in corso "
GROUP 12
FLAGS "D"
END
DATE 110
DATE S_DATAAUT
BEGIN
PROMPT 1 8 "Data di autorizzazione "
GROUP 12
@ -197,21 +197,21 @@ BEGIN
FLAGS "D"
END
CURRENCY 111 15
CURRENCY S_CREDRES 15
BEGIN
PROMPT 1 9 "Credito IVA residuo "
FLAGS "D"
GROUP 12
END
CURRENCY 112 15
CURRENCY S_IVA 15
BEGIN
PROMPT 1 10 "IVA dovuta o credito "
FLAGS "D"
GROUP 12
END
LIST 113 1 10
LIST S_DEBCRED3 1 10
BEGIN
PROMPT 57 10 ""
ITEM " | "
@ -221,7 +221,7 @@ BEGIN
GROUP 11
END
STRING 114 50 35
STRING S_DESCR 50 35
BEGIN
PROMPT 1 11 "Descr. "
GROUP 12
@ -244,18 +244,18 @@ ENDPAGE
PAGE "Prospetto versamenti" -1 -1 50 12
STRING 101 20
STRING S_MESE 20
BEGIN
PROMPT 1 1 "Mese "
FLAGS "D"
END
DATE 102
DATE S_DATA
BEGIN
PROMPT 1 2 "Data "
END
NUMBER 103 5
NUMBER S_ABI 5
BEGIN
PROMPT 1 3 "Codice ABI "
HELP "Codice ABI banca di appoggio"
@ -272,7 +272,7 @@ BEGIN
END
NUMBER 104 5
NUMBER S_CAB 5
BEGIN
PROMPT 1 4 "Codice CAB "
HELP "Codice CAB banca di appoggio"
@ -292,7 +292,7 @@ BEGIN
END
NUMBER 105 3
NUMBER S_CONC 3
BEGIN
PROMPT 1 5 "Concessione "
FLAGS "RZ"
@ -306,20 +306,17 @@ BEGIN
HELP "Codice Concessione del Comune di residenza fiscale"
END
CURRENCY 106 15
CURRENCY S_VERSAMENTO 15
BEGIN
PROMPT 1 6 "Versamenti "
END
CURRENCY 107 15
CURRENCY S_INTERESSI 15
BEGIN
PROMPT 1 6 "Interessi "
FLAGS "RD"
END
BUTTON 100 10 2
BEGIN
PROMPT -11 -1 "Dettaglio"