Patch level : 12.0 806

Files correlati     : cg5.exe
Commento            :

- Disabilitato il campo credito utilizzato in IVA se il periodo è a credito
- Risolta Issue #40
This commit is contained in:
AlexBonazzi 2019-05-31 23:58:58 +02:00
parent d6cdd63e29
commit 4ce6c37ba6

View File

@ -423,11 +423,11 @@ bool Visliq_app::sel_mese_sh1 (TMask_field& f, KEY k)
if (sm.is_running())
{
// TBC controllare se sono i dati giusti in tt
sm.field(102).set(tt.get(1));
sm.field(103).set(tt.get(2));
sm.field(104).set(tt.get(3));
sm.field(105).set(tt.get(4));
sm.field(106).set(tt.get(5));
sm.field(S_RISULTATO).set(tt.get(cid2index(S_RISULTATO)));
sm.field(S_DEBCRED1 ).set(tt.get(cid2index(S_DEBCRED1)));
sm.field(S_RIMBORSO).set(tt.get(cid2index(S_RIMBORSO)));
sm.field(S_RETTIFICHE).set(tt.get(cid2index(S_RETTIFICHE)));
sm.field(S_DEBCRED2).set(tt.get(cid2index(S_DEBCRED2)));
}
sh.row(sel) = tt;
@ -436,13 +436,14 @@ bool Visliq_app::sel_mese_sh1 (TMask_field& f, KEY k)
if (app().look_del(month,1))
{
TToken_string& tv = sv.row(sel == (sh.items() - 1) ? sel -1 : sel);
tv.add(app().del()->get("D0"),1);
tv.add(app().del()->get("S7"),2);
tv.add(app().del()->get("S8"),3);
tv.add(app().del()->get("S9"),4);
tv.add(app().del()->get("R0"),5);
sv.force_update(sel == (sh.items() - 1) ? sel -1 : sel);
const int nrow = sel == (sh.items() - 1) ? sel - 1 : sel;
sv.set_row_cell(S_DATA, app().del()->get("D0"), nrow);
sv.set_row_cell(S_ABI, app().del()->get("S7"), nrow);
sv.set_row_cell(S_CAB, app().del()->get("S8"),nrow);
sv.set_row_cell(S_CONC, app().del()->get("S9"),nrow);
sv.set_row_cell(S_VERSAMENTO, app().del()->get("R0"), nrow);
sv.force_update(nrow);
}
return true;
@ -452,11 +453,11 @@ bool Visliq_app::enable_date(TMask_field& f, KEY k)
{
if (k == K_TAB && (f.focusdirty()|| !f.mask().is_running()))
{
const bool enable = f.mask().get(104).full() || f.mask().get(109).full();
const bool enable = f.mask().get(S_RIMBORSO).full() || f.mask().get(S_CREDF24).full();
f.mask().enable(110, enable);
f.mask().enable(S_DATAAUT, enable);
if (!enable)
f.mask().set(110, "");
f.mask().set(S_DATAAUT, "");
}
return true;
}
@ -1657,19 +1658,25 @@ void Visliq_app::read_general(TMask& m)
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));
const TString debcred1 = ris == ZERO ? "" : (ris > ZERO ? "D" : "C");
real r0 = _lim->get_real("R0");
const TString debcred3 = r0 == ZERO ? "" : (r0 > ZERO ? "D" : "C");
sh.set_row_cell(S_IVA, abs(r0), row);
sh.set_row_cell(S_DEBCRED3, debcred3, row);
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_DEBCRED1, debcred1, 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 criva = _lim->get_real("R15");
const real criva = debcred1 == "C" ? ZERO : _lim->get_real("R15");
const real crf24 = _lim->get_real("R16");
const real autf24 = _lim->get_real("R20");
bool enable_date = r1 != ZERO;
sh.set_row_cell(S_CREDIVA, criva, row);
sh.enable_cell(row, S_CREDIVA, debcred3 == "D");
sh.set_row_cell(S_CREDF24PRE,crf24, row);
sh.set_row_cell(S_CREDF24, autf24 , row);
enable_date |= autf24 != ZERO;
@ -1698,11 +1705,6 @@ void Visliq_app::read_general(TMask& m)
}
else
sh.set_row_cell(S_CREDRES, ZERO, row);
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);
}
@ -1819,12 +1821,12 @@ void Visliq_app::write_general(TMask& m)
bool vfrommask = sv.selected() == (i == 12 ? row + 1 : row) && svm.is_running();
TToken_string& tt_lo = (TToken_string&)_liq_rows[row];
TToken_string& tt_ln = sh.row(row);
// TToken_string& tt_ln = sh.row(row);
// risolve menata del dettaglio si'/no
if (lfrommask)
for (int i = 1; i <= 13; i++)
tt_ln.add(shm.get(101+i),i);
sh.set_row_cell(101 + i, shm.get(101+i), row);
// saltare una riga se dicembre (riga 11 == acconto)
TToken_string& tt_vo = (TToken_string&)_vers_rows[i == 12 ? row + 1 : row];
@ -1833,7 +1835,7 @@ void Visliq_app::write_general(TMask& m)
if (vfrommask)
{
for (int i = 1; i <= 5; i++)
tt_vn.add(svm.get(101+i),i);
sh.set_row_cell(101 + i, svm.get(101+i), row);
}
// traduci contenuto righe in real pila
@ -1841,7 +1843,6 @@ void Visliq_app::write_general(TMask& m)
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));
@ -1852,8 +1853,8 @@ void Visliq_app::write_general(TMask& m)
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));
TDate odate(tt_vo.get(cid2index(S_DATA)));
TDate ndate(sv.get_date_row_cell(row, S_DATA));
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)));
@ -2047,16 +2048,16 @@ void Visliq_app::write_general(TMask& m)
round_imposta(intr);
_lim->put("R14",intr);
}
if (gestione_manuale)
_lim->put("R15", crcode);
_lim->put("R16", crf24);
_lim->put("R20", autf24);
_lim->put("D1", dautf24);
if (compensabile)
{
const real criva(tt_ln.get(6));
if (row == 3)
int i = 1;
const real criva(sh.get_real_row_cell(row, S_CREDIVA));
cr_res += autf24;
cr_res -= crf24;
cr_res -= criva;
@ -2064,7 +2065,9 @@ void Visliq_app::write_general(TMask& m)
sh.set_back_and_fore_color(COLOR_LTYELLOW, COLOR_DKRED, row, 7);
else
sh.set_back_and_fore_color(NORMAL_BACK_COLOR, NORMAL_COLOR, row, 7);
}
if (gestione_manuale)
_lim->put("R15", criva);
}
_lim->put("S3", descr);
_lim->rewrite();
@ -2099,25 +2102,21 @@ void Visliq_app::write_general(TMask& m)
const real iva_acq = _lam->get_real("R1"); // IVA vendite
const real ris = iva_ven - iva_acq;
tt_ln.add(abs(ris).string(), 1);
tt_ln.add(ris == 0 ? "" : (ris > 0 ? "D" : "C"), 2);
sh.set_row_cell(S_RISULTATO, abs(ris), row);
sh.set_row_cell(S_DEBCRED1, ris == ZERO ? "" : (ris > ZERO ? "D" : "C"), row);
tt_ln.add((_lim->get_real("R1")).string(),3);
sh.set_row_cell( S_RIMBORSO, _lim->get_real("R1"), row);
int sr5 = (_lim->get_real("R5")).sign();
real r5abs = abs(_lim->get_real("R5"));
real r5 = (_lim->get_real("R5"));
tt_ln.add(r5abs.string(),4);
tt_ln.add(sr5 == 0 ? "" : (sr5 > 0 ? "D" : "C"),5);
if ( cr_res < ZERO)
tt_ln.add("",10);
else
tt_ln.add(cr_res.string(), 10);
sh.set_row_cell(S_RETTIFICHE, abs(r5), row);
sh.set_row_cell(S_DEBCRED2, r5 == ZERO ? "" : (r5 > ZERO? "D" : "C"), row);
sh.set_row_cell(S_CREDRES, cr_res < ZERO ? ZERO : cr_res, row);
real r0 = _lim->get_real("R0");
tt_ln.add(abs(r0).string(), 11);
tt_ln.add(r0 == ZERO ? "" : (r0 > ZERO ? "D" : "C"), 12);
sh.set_row_cell(S_IVA, abs(r0), row);
sh.set_row_cell(S_DEBCRED3, r0 == ZERO ? "" : (r0 > ZERO ? "D" : "C"), row);
}
_from_one = false;
} // for mese liq. (riga sheet)