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()) if (sm.is_running())
{ {
// TBC controllare se sono i dati giusti in tt // TBC controllare se sono i dati giusti in tt
sm.field(102).set(tt.get(1)); sm.field(S_RISULTATO).set(tt.get(cid2index(S_RISULTATO)));
sm.field(103).set(tt.get(2)); sm.field(S_DEBCRED1 ).set(tt.get(cid2index(S_DEBCRED1)));
sm.field(104).set(tt.get(3)); sm.field(S_RIMBORSO).set(tt.get(cid2index(S_RIMBORSO)));
sm.field(105).set(tt.get(4)); sm.field(S_RETTIFICHE).set(tt.get(cid2index(S_RETTIFICHE)));
sm.field(106).set(tt.get(5)); sm.field(S_DEBCRED2).set(tt.get(cid2index(S_DEBCRED2)));
} }
sh.row(sel) = tt; 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)) if (app().look_del(month,1))
{ {
TToken_string& tv = sv.row(sel == (sh.items() - 1) ? sel -1 : sel); const int nrow = sel == (sh.items() - 1) ? sel - 1 : sel;
tv.add(app().del()->get("D0"),1);
tv.add(app().del()->get("S7"),2); sv.set_row_cell(S_DATA, app().del()->get("D0"), nrow);
tv.add(app().del()->get("S8"),3); sv.set_row_cell(S_ABI, app().del()->get("S7"), nrow);
tv.add(app().del()->get("S9"),4); sv.set_row_cell(S_CAB, app().del()->get("S8"),nrow);
tv.add(app().del()->get("R0"),5); sv.set_row_cell(S_CONC, app().del()->get("S9"),nrow);
sv.force_update(sel == (sh.items() - 1) ? sel -1 : sel); sv.set_row_cell(S_VERSAMENTO, app().del()->get("R0"), nrow);
sv.force_update(nrow);
} }
return true; 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())) 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) if (!enable)
f.mask().set(110, ""); f.mask().set(S_DATAAUT, "");
} }
return true; return true;
} }
@ -1657,19 +1658,25 @@ void Visliq_app::read_general(TMask& m)
const real r1 = _lim->get_real("R1"); const real r1 = _lim->get_real("R1");
const real r5 = _lim->get_real("R5"); const real r5 = _lim->get_real("R5");
const int row = sh.set_row_cell(S_MESE, itoname(i)); 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_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_RIMBORSO, r1, row);
sh.set_row_cell(S_RETTIFICHE, abs(r5), row); 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_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 crf24 = _lim->get_real("R16");
const real autf24 = _lim->get_real("R20"); const real autf24 = _lim->get_real("R20");
bool enable_date = r1 != ZERO; bool enable_date = r1 != ZERO;
sh.set_row_cell(S_CREDIVA, criva, row); 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_CREDF24PRE,crf24, row);
sh.set_row_cell(S_CREDF24, autf24 , row); sh.set_row_cell(S_CREDF24, autf24 , row);
enable_date |= autf24 != ZERO; enable_date |= autf24 != ZERO;
@ -1698,11 +1705,6 @@ void Visliq_app::read_general(TMask& m)
} }
else else
sh.set_row_cell(S_CREDRES, ZERO, row); 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.set_row_cell(S_DESCR, _lim->get("S3"), row);
// sh.row(row) = (*tt); // 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(); bool vfrommask = sv.selected() == (i == 12 ? row + 1 : row) && svm.is_running();
TToken_string& tt_lo = (TToken_string&)_liq_rows[row]; 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 // risolve menata del dettaglio si'/no
if (lfrommask) if (lfrommask)
for (int i = 1; i <= 13; i++) 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) // saltare una riga se dicembre (riga 11 == acconto)
TToken_string& tt_vo = (TToken_string&)_vers_rows[i == 12 ? row + 1 : row]; 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) if (vfrommask)
{ {
for (int i = 1; i <= 5; i++) 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 // 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 nrett(sh.get_real_row_cell(row, S_RETTIFICHE));
real orimb(tt_lo.get(cid2index(S_RIMBORSO))); real orimb(tt_lo.get(cid2index(S_RIMBORSO)));
real nrimb(sh.get_real_row_cell(row, 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 crf24(sh.get_real_row_cell(row, S_CREDF24PRE));
real oautf24(tt_lo.get(cid2index(S_CREDF24))); real oautf24(tt_lo.get(cid2index(S_CREDF24)));
real autf24(sh.get_real_row_cell(row, 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 overs(tt_vo.get(cid2index(S_VERSAMENTO)));
real nvers(sv.get_real_row_cell(row, S_VERSAMENTO)); real nvers(sv.get_real_row_cell(row, S_VERSAMENTO));
TDate odate(tt_vo.get(cid2index(S_DATAAUT))); TDate odate(tt_vo.get(cid2index(S_DATA)));
TDate ndate(sv.get_date_row_cell(row, S_DATAAUT)); TDate ndate(sv.get_date_row_cell(row, S_DATA));
TString8 oabi(tt_vo.get(cid2index(S_ABI))); TString8 oabi(tt_vo.get(cid2index(S_ABI)));
TString8 nabi(sv.get_str_row_cell(row, S_ABI)); TString8 nabi(sv.get_str_row_cell(row, S_ABI));
TString8 ocab(tt_vo.get(cid2index(S_CAB))); TString8 ocab(tt_vo.get(cid2index(S_CAB)));
@ -2047,16 +2048,16 @@ void Visliq_app::write_general(TMask& m)
round_imposta(intr); round_imposta(intr);
_lim->put("R14",intr); _lim->put("R14",intr);
} }
if (gestione_manuale)
_lim->put("R15", crcode);
_lim->put("R16", crf24); _lim->put("R16", crf24);
_lim->put("R20", autf24); _lim->put("R20", autf24);
_lim->put("D1", dautf24); _lim->put("D1", dautf24);
if (compensabile) 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 += autf24;
cr_res -= crf24; cr_res -= crf24;
cr_res -= criva; 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); sh.set_back_and_fore_color(COLOR_LTYELLOW, COLOR_DKRED, row, 7);
else else
sh.set_back_and_fore_color(NORMAL_BACK_COLOR, NORMAL_COLOR, row, 7); 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->put("S3", descr);
_lim->rewrite(); _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 iva_acq = _lam->get_real("R1"); // IVA vendite
const real ris = iva_ven - iva_acq; const real ris = iva_ven - iva_acq;
tt_ln.add(abs(ris).string(), 1); sh.set_row_cell(S_RISULTATO, abs(ris), row);
tt_ln.add(ris == 0 ? "" : (ris > 0 ? "D" : "C"), 2); 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 r5 = (_lim->get_real("R5"));
real r5abs = abs(_lim->get_real("R5"));
tt_ln.add(r5abs.string(),4); sh.set_row_cell(S_RETTIFICHE, abs(r5), row);
tt_ln.add(sr5 == 0 ? "" : (sr5 > 0 ? "D" : "C"),5); sh.set_row_cell(S_DEBCRED2, r5 == ZERO ? "" : (r5 > ZERO? "D" : "C"), row);
if ( cr_res < ZERO) sh.set_row_cell(S_CREDRES, cr_res < ZERO ? ZERO : cr_res, row);
tt_ln.add("",10);
else
tt_ln.add(cr_res.string(), 10);
real r0 = _lim->get_real("R0"); real r0 = _lim->get_real("R0");
tt_ln.add(abs(r0).string(), 11); sh.set_row_cell(S_IVA, abs(r0), row);
tt_ln.add(r0 == ZERO ? "" : (r0 > ZERO ? "D" : "C"), 12); sh.set_row_cell(S_DEBCRED3, r0 == ZERO ? "" : (r0 > ZERO ? "D" : "C"), row);
} }
_from_one = false; _from_one = false;
} // for mese liq. (riga sheet) } // for mese liq. (riga sheet)