Merge remote-tracking branch 'origin/R_10_00' into R_10_00
This commit is contained in:
commit
9e562a7dd8
Binary file not shown.
Binary file not shown.
@ -1,3 +1,4 @@
|
||||
cg2.exe
|
||||
|
||||
Aggiunto controllo su data operazione maggiore della data di inizio fatturazione elettronica
|
||||
Modifica modaut
|
||||
|
@ -8,76 +8,76 @@ Patch = 0798
|
||||
Versione = 21511200
|
||||
|
||||
[cg99]
|
||||
Kill(0) = bastpor.rep|x
|
||||
Kill(1) = batbins.msk|x
|
||||
Kill(2) = bastcam.msk|x
|
||||
Kill(3) = bastnot.msk|x
|
||||
Kill(4) = bastesc.msk|x
|
||||
Kill(5) = bastleg.msk|x
|
||||
Kill(6) = bastpor.msk|x
|
||||
Kill(7) = batbscc.msk|x
|
||||
Kill(8) = batblia.msk|x
|
||||
Kill(9) = bastzon.rep|x
|
||||
Kill(10) = batbarb.msk|x
|
||||
Kill(11) = batblia.msk|x
|
||||
Kill(12) = batbdpn.msk|x
|
||||
Kill(13) = bastcco.msk|x
|
||||
Kill(14) = bastcam.rep|x
|
||||
Kill(15) = bastcve.msk|x
|
||||
Kill(0) = bastver.msk|x
|
||||
Kill(1) = bastleg.rep|x
|
||||
Kill(2) = bastesc.rep|x
|
||||
Kill(3) = batbcco.msk|x
|
||||
Kill(4) = bastmsp.rep|x
|
||||
Kill(5) = batbtra.msk|x
|
||||
Kill(6) = batbtit.msk|x
|
||||
Kill(7) = batblbu.msk|x
|
||||
Kill(8) = bastivd.rep|x
|
||||
Kill(9) = bastvet.msk|x
|
||||
Kill(10) = bastcve.msk|x
|
||||
Kill(11) = batbntb.msk|x
|
||||
Kill(12) = bastcam.rep|x
|
||||
Kill(13) = batbind.msk|x
|
||||
Kill(14) = batbvet.msk|x
|
||||
Kill(15) = bastscc.rep|x
|
||||
Kill(16) = batbleg.msk|x
|
||||
Kill(17) = batbvet.msk|x
|
||||
Kill(18) = batbcco.msk|x
|
||||
Kill(19) = bastver.msk|x
|
||||
Kill(20) = batbind.msk|x
|
||||
Kill(21) = batbntb.msk|x
|
||||
Kill(22) = bastivd.msk|x
|
||||
Kill(23) = bastscc.rep|x
|
||||
Kill(24) = bastmsp.rep|x
|
||||
Kill(25) = bastleg.rep|x
|
||||
Kill(26) = bastivd.rep|x
|
||||
Kill(27) = batbtit.msk|x
|
||||
Kill(28) = bastntb.rep|x
|
||||
Kill(29) = bastntb.msk|x
|
||||
Kill(30) = batbtra.msk|x
|
||||
Kill(31) = bastesc.rep|x
|
||||
Kill(32) = bastvet.msk|x
|
||||
Kill(33) = batblbu.msk|x
|
||||
Kill(34) = batbinl.msk|x
|
||||
Kill(35) = batbivd.msk|x
|
||||
Kill(36) = bastnot.rep|x
|
||||
Kill(37) = bastcfi.rep|x
|
||||
Kill(38) = bastcfi.msk|x
|
||||
Kill(39) = batbmsp.msk|x
|
||||
Kill(40) = bastreg.rep|x
|
||||
Kill(41) = bastvet.rep|x
|
||||
Kill(42) = batbnot.msk|x
|
||||
Kill(43) = bastver.rep|x
|
||||
Kill(44) = batbzon.msk|x
|
||||
Kill(45) = batbcfi.msk|x
|
||||
Kill(17) = bastivd.msk|x
|
||||
Kill(18) = batblia.msk|x
|
||||
Kill(19) = batbarb.msk|x
|
||||
Kill(20) = bastcco.msk|x
|
||||
Kill(21) = batbdpn.msk|x
|
||||
Kill(22) = batbver.msk|x
|
||||
Kill(23) = batbpor.msk|x
|
||||
Kill(24) = batbndo.msk|x
|
||||
Kill(25) = bastzon.msk|x
|
||||
Kill(26) = bastarb.rep|x
|
||||
Kill(27) = bastcco.rep|x
|
||||
Kill(28) = batbcam.msk|x
|
||||
Kill(29) = cgtbcon.msk|x
|
||||
Kill(30) = bastpdb.msk|x
|
||||
Kill(31) = batbdel.msk|x
|
||||
Kill(32) = batbesc.msk|x
|
||||
Kill(33) = batbpdb.msk|x
|
||||
Kill(34) = batbreg.msk|x
|
||||
Kill(35) = bastscc.msk|x
|
||||
Kill(36) = bastdpn.msk|x
|
||||
Kill(37) = bastndo.rep|x
|
||||
Kill(38) = batbmsp.msk|x
|
||||
Kill(39) = batbcfi.msk|x
|
||||
Kill(40) = batbcve.msk|x
|
||||
Kill(41) = bastcfi.msk|x
|
||||
Kill(42) = batbzon.msk|x
|
||||
Kill(43) = bastarb.msk|x
|
||||
Kill(44) = bastpdb.rep|x
|
||||
Kill(45) = bastndo.msk|x
|
||||
Kill(46) = bastreg.msk|x
|
||||
Kill(47) = bastpdb.rep|x
|
||||
Kill(48) = batbdel.msk|x
|
||||
Kill(49) = batbcam.msk|x
|
||||
Kill(50) = bastarb.msk|x
|
||||
Kill(51) = batbcve.msk|x
|
||||
Kill(52) = bastdpn.rep|x
|
||||
Kill(53) = bastndo.msk|x
|
||||
Kill(54) = batbesc.msk|x
|
||||
Kill(55) = cgtbcon.msk|x
|
||||
Kill(56) = bastdpn.msk|x
|
||||
Kill(57) = batbreg.msk|x
|
||||
Kill(58) = batbndo.msk|x
|
||||
Kill(59) = batbver.msk|x
|
||||
Kill(60) = batbpdb.msk|x
|
||||
Kill(61) = bastpdb.msk|x
|
||||
Kill(62) = bastndo.rep|x
|
||||
Kill(63) = bastscc.msk|x
|
||||
Kill(64) = bastzon.msk|x
|
||||
Kill(65) = batbpor.msk|x
|
||||
Kill(66) = bastcco.rep|x
|
||||
Kill(67) = bastarb.rep|x
|
||||
Kill(68) = bastcve.rep|x
|
||||
Kill(69) = bastmsp.msk|x
|
||||
Kill(47) = bastdpn.rep|x
|
||||
Kill(48) = bastntb.msk|x
|
||||
Kill(49) = batbivd.msk|x
|
||||
Kill(50) = bastvet.rep|x
|
||||
Kill(51) = bastntb.rep|x
|
||||
Kill(52) = batbinl.msk|x
|
||||
Kill(53) = bastreg.rep|x
|
||||
Kill(54) = bastcfi.rep|x
|
||||
Kill(55) = bastver.rep|x
|
||||
Kill(56) = bastnot.rep|x
|
||||
Kill(57) = batbnot.msk|x
|
||||
Kill(58) = bastmsp.msk|x
|
||||
Kill(59) = bastcve.rep|x
|
||||
Kill(60) = bastzon.rep|x
|
||||
Kill(61) = batblia.msk|x
|
||||
Kill(62) = batbins.msk|x
|
||||
Kill(63) = bastpor.rep|x
|
||||
Kill(64) = bastleg.msk|x
|
||||
Kill(65) = bastesc.msk|x
|
||||
Kill(66) = bastnot.msk|x
|
||||
Kill(67) = bastcam.msk|x
|
||||
Kill(68) = batbscc.msk|x
|
||||
Kill(69) = bastpor.msk|x
|
||||
|
||||
[cg]
|
||||
Data = 27-05-2019
|
||||
|
Binary file not shown.
4
cd/test/cg0800.txt
Normal file
4
cd/test/cg0800.txt
Normal file
@ -0,0 +1,4 @@
|
||||
cg5500b.msk
|
||||
cg5.exe
|
||||
|
||||
Spostata la colonna iva a credito o debito nella seconda colonna nella visualizzazione liquidazione
|
94
cd/test/cg0800a.ini
Normal file
94
cd/test/cg0800a.ini
Normal file
@ -0,0 +1,94 @@
|
||||
[Main]
|
||||
Demo=0
|
||||
|
||||
[cg1]
|
||||
File(53) = cg5.exe|X
|
||||
File(62) = cg5500b.msk|X
|
||||
Patch = 800
|
||||
Versione = 21511200
|
||||
|
||||
[cg99]
|
||||
Kill(0) = bastcve.msk|x
|
||||
Kill(1) = bastleg.msk|x
|
||||
Kill(2) = bastntb.msk|x
|
||||
Kill(3) = batbntb.msk|x
|
||||
Kill(4) = bastmsp.msk|x
|
||||
Kill(5) = batblia.msk|x
|
||||
Kill(6) = bastnot.msk|x
|
||||
Kill(7) = bastzon.rep|x
|
||||
Kill(8) = bastcam.msk|x
|
||||
Kill(9) = bastcfi.rep|x
|
||||
Kill(10) = batbpor.msk|x
|
||||
Kill(11) = bastcam.rep|x
|
||||
Kill(12) = bastivd.msk|x
|
||||
Kill(13) = batbind.msk|x
|
||||
Kill(14) = batbver.msk|x
|
||||
Kill(15) = bastesc.msk|x
|
||||
Kill(16) = batbleg.msk|x
|
||||
Kill(17) = bastcve.rep|x
|
||||
Kill(18) = batbdpn.msk|x
|
||||
Kill(19) = bastscc.rep|x
|
||||
Kill(20) = bastcco.msk|x
|
||||
Kill(21) = batbvet.msk|x
|
||||
Kill(22) = batbscc.msk|x
|
||||
Kill(23) = bastmsp.rep|x
|
||||
Kill(24) = bastpor.msk|x
|
||||
Kill(25) = batbtra.msk|x
|
||||
Kill(26) = bastesc.rep|x
|
||||
Kill(27) = batbcco.msk|x
|
||||
Kill(28) = bastscc.msk|x
|
||||
Kill(29) = bastarb.msk|x
|
||||
Kill(30) = bastivd.rep|x
|
||||
Kill(31) = cgtbcon.msk|x
|
||||
Kill(32) = bastndo.rep|x
|
||||
Kill(33) = bastvet.msk|x
|
||||
Kill(34) = batbzon.msk|x
|
||||
Kill(35) = bastver.msk|x
|
||||
Kill(36) = bastdpn.msk|x
|
||||
Kill(37) = bastleg.rep|x
|
||||
Kill(38) = bastndo.msk|x
|
||||
Kill(39) = bastreg.rep|x
|
||||
Kill(40) = batbcam.msk|x
|
||||
Kill(41) = batbcfi.msk|x
|
||||
Kill(42) = bastdpn.rep|x
|
||||
Kill(43) = bastcfi.msk|x
|
||||
Kill(44) = batbinl.msk|x
|
||||
Kill(45) = batbcve.msk|x
|
||||
Kill(46) = bastreg.msk|x
|
||||
Kill(47) = batbreg.msk|x
|
||||
Kill(48) = bastver.rep|x
|
||||
Kill(49) = bastpor.rep|x
|
||||
Kill(50) = batbmsp.msk|x
|
||||
Kill(51) = batbivd.msk|x
|
||||
Kill(52) = batbnot.msk|x
|
||||
Kill(53) = bastntb.rep|x
|
||||
Kill(54) = batbins.msk|x
|
||||
Kill(55) = bastvet.rep|x
|
||||
Kill(56) = bastnot.rep|x
|
||||
Kill(57) = bastpdb.rep|x
|
||||
Kill(58) = batbtit.msk|x
|
||||
Kill(59) = batblbu.msk|x
|
||||
Kill(60) = batbesc.msk|x
|
||||
Kill(61) = bastarb.rep|x
|
||||
Kill(62) = bastzon.msk|x
|
||||
Kill(63) = batbarb.msk|x
|
||||
Kill(64) = bastpdb.msk|x
|
||||
Kill(65) = batbndo.msk|x
|
||||
Kill(66) = batblia.msk|x
|
||||
Kill(67) = batbdel.msk|x
|
||||
Kill(68) = batbpdb.msk|x
|
||||
Kill(69) = bastcco.rep|x
|
||||
|
||||
[cg]
|
||||
Data = 27-05-2019
|
||||
Descrizione = Contabilita' Generale
|
||||
Dischi = 1
|
||||
Moduli = ba
|
||||
OEM =
|
||||
Patch = 800
|
||||
PostProcess = bainst -0 CG
|
||||
PreProcess =
|
||||
Prezzo(1) =
|
||||
Prezzo(2) =
|
||||
Versione = 21511200
|
||||
|
BIN
cd/test/cg0800a1.zip
Normal file
BIN
cd/test/cg0800a1.zip
Normal file
Binary file not shown.
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
@ -18,6 +18,11 @@ extern "C"
|
||||
#include <urldefid.h>
|
||||
#include <utility.h>
|
||||
|
||||
int cid2index(short cid)
|
||||
{
|
||||
return xvtil_cid2index(cid);
|
||||
}
|
||||
|
||||
class TCell_property : public TObject
|
||||
{
|
||||
COLOR _back, _fore;
|
||||
@ -3064,6 +3069,71 @@ const char* TSheet_field::cell(int r, int c) const
|
||||
return v ? v : " ";
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, const char * value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, char value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, long value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, int value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, const real& value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
int TSheet_field::set_row_cell(short id, const TDate& value, int nrow)
|
||||
{
|
||||
if (nrow < 0)
|
||||
nrow = first_empty();
|
||||
set_row_cell(row(nrow), id, value);
|
||||
#ifdef DBG
|
||||
const TToken_string & r = row(nrow);
|
||||
#endif
|
||||
return nrow;
|
||||
}
|
||||
|
||||
// Certified 100%
|
||||
// Ritorna l'indice della prima riga vuota dello sheet
|
||||
|
@ -18,6 +18,7 @@ class TRecord_array;
|
||||
class TRelation;
|
||||
#endif
|
||||
|
||||
|
||||
#define FIRST_FIELD 101
|
||||
#define K_ROWEDIT ( K_CTRL + 'I' )
|
||||
|
||||
@ -35,6 +36,7 @@ typedef bool (*SPREADSHEET_NOTIFY)(TSheet_field& s, int r, KEY k);
|
||||
// @type SHEET_USERGETPUT| Prototipo funzione utente che gestisce il caricamento/salvataggio dei dati dello sheet
|
||||
typedef void (*SHEET_USERGETPUT)(TSheet_field &fld_righe, int item);
|
||||
|
||||
int cid2index(short cid);
|
||||
// @doc EXTERNAL
|
||||
|
||||
// @class TSheet_field | Classe per la gestione dei campi di uno spreadsheet
|
||||
@ -42,113 +44,133 @@ typedef void (*SHEET_USERGETPUT)(TSheet_field &fld_righe, int item);
|
||||
// @base public | TMask_field
|
||||
class TSheet_field : public TLoadable_field
|
||||
{
|
||||
// @author:(INTERNAL) Guido
|
||||
// @author:(INTERNAL) Guido
|
||||
|
||||
// @cfriend TSpreadsheet
|
||||
friend class TSpreadsheet;
|
||||
// @cfriend TSpreadsheet
|
||||
friend class TSpreadsheet;
|
||||
|
||||
// @access:(INTERNAL) Private Member
|
||||
// @access:(INTERNAL) Private Member
|
||||
|
||||
// @cmember:(INTERNAL) Indica se aggiungere a fondo dello spreadsheet o nella riga in cui ti trovi
|
||||
bool _append;
|
||||
// @cmember:(INTERNAL) Indica se aggiungere a fondo dello spreadsheet o nella riga in cui ti trovi
|
||||
bool _append;
|
||||
|
||||
// @cmember:(INTERNAL) Separatore delle TToken_string
|
||||
char _separator;
|
||||
// @cmember:(INTERNAL) Separatore delle TToken_string
|
||||
char _separator;
|
||||
|
||||
// @cmember:(INTERNAL) Flag di autoload
|
||||
bool _enable_autoload;
|
||||
// @cmember:(INTERNAL) Campi di input sulla maschera (key field names)
|
||||
TToken_string _file_k_names;
|
||||
// @cmember:(INTERNAL) Campi di input sulla maschera (key field ids)
|
||||
TToken_string _file_k_ids;
|
||||
// @cmember:(INTERNAL) file delle righe
|
||||
TLocalisamfile * _sheetfile;
|
||||
// @cmember:(INTERNAL) record array delle righe
|
||||
TRecord_array* _linee_rec;
|
||||
// @cmember:(INTERNAL) indicatore di record array gestito esternamente
|
||||
bool _external_record;
|
||||
// @cmember:(INTERNAL) funzioni utente per get tra record (array) e array righe
|
||||
SHEET_USERGETPUT _userput;
|
||||
// @cmember:(INTERNAL) funzioni utente per put tra righe e record (array)
|
||||
SHEET_USERGETPUT _userget;
|
||||
// @cmember:(INTERNAL) Flag di autoload
|
||||
bool _enable_autoload;
|
||||
// @cmember:(INTERNAL) Campi di input sulla maschera (key field names)
|
||||
TToken_string _file_k_names;
|
||||
// @cmember:(INTERNAL) Campi di input sulla maschera (key field ids)
|
||||
TToken_string _file_k_ids;
|
||||
// @cmember:(INTERNAL) file delle righe
|
||||
TLocalisamfile * _sheetfile;
|
||||
// @cmember:(INTERNAL) record array delle righe
|
||||
TRecord_array* _linee_rec;
|
||||
// @cmember:(INTERNAL) indicatore di record array gestito esternamente
|
||||
bool _external_record;
|
||||
// @cmember:(INTERNAL) funzioni utente per get tra record (array) e array righe
|
||||
SHEET_USERGETPUT _userput;
|
||||
// @cmember:(INTERNAL) funzioni utente per put tra righe e record (array)
|
||||
SHEET_USERGETPUT _userget;
|
||||
|
||||
// @access Protected Member
|
||||
// @access Protected Member
|
||||
protected:
|
||||
// @cmember:(INTERNAL) Identificatore dell' ultima colonna dello sheet
|
||||
short _last_column_id;
|
||||
// @cmember:(INTERNAL) Identificatore dell' ultima colonna dello sheet
|
||||
short _last_column_id;
|
||||
|
||||
// @cmember Ritorna l'identificatore della classe
|
||||
virtual word class_id() const;
|
||||
|
||||
virtual bool is_kind_of(word cid) const;
|
||||
// @cmember Ritorna l'identificatore della classe
|
||||
virtual word class_id() const;
|
||||
|
||||
// @cmember Gestisce la chiamata all'handler del campo
|
||||
virtual bool on_hit();
|
||||
|
||||
// @cmember Legge la testata dello spreadsheet da <p scanner>
|
||||
virtual void parse_head(TScanner& scanner);
|
||||
// @cmember Legge gli item dello spreadsheet da <p scanner>
|
||||
virtual bool parse_item(TScanner& scanner);
|
||||
// @cmember Legge gli input (campi chiave) dello spreadsheet da <p scanner>
|
||||
void parse_input(TScanner& scanner);
|
||||
// @cmember Crea lo spreadsheet
|
||||
virtual void create(WINDOW parent);
|
||||
virtual bool is_kind_of(word cid) const;
|
||||
|
||||
// @cmember Setta il focus sul campo
|
||||
virtual void highlight() const;
|
||||
// @cmember Ricopia i campi della maschera nel record <p n>-esimo
|
||||
virtual void mask2row(int n, TToken_string & rec);
|
||||
// @cmember Ricopia i campi del record <p n>-esimo nella maschera
|
||||
virtual void row2mask(int n, TToken_string & rec, int mode = 0x3);
|
||||
// @cmember Permette di mettere il focus su una cella
|
||||
bool set_focus_cell(int riga, int colonna);
|
||||
// @cmember Gestisce la chiamata all'handler del campo
|
||||
virtual bool on_hit();
|
||||
|
||||
//Copy Costructor per impedire la duplicazione accidentale degli sheet
|
||||
TSheet_field(const TSheet_field& s): TLoadable_field(&s.mask()){CHECK(false, "Can't duplicate TSheet_field");}
|
||||
// @cmember Legge la testata dello spreadsheet da <p scanner>
|
||||
virtual void parse_head(TScanner& scanner);
|
||||
// @cmember Legge gli item dello spreadsheet da <p scanner>
|
||||
virtual bool parse_item(TScanner& scanner);
|
||||
// @cmember Legge gli input (campi chiave) dello spreadsheet da <p scanner>
|
||||
void parse_input(TScanner& scanner);
|
||||
// @cmember Crea lo spreadsheet
|
||||
virtual void create(WINDOW parent);
|
||||
|
||||
// @access Public Member
|
||||
// @cmember Setta il focus sul campo
|
||||
virtual void highlight() const;
|
||||
// @cmember Ricopia i campi della maschera nel record <p n>-esimo
|
||||
virtual void mask2row(int n, TToken_string & rec);
|
||||
// @cmember Ricopia i campi del record <p n>-esimo nella maschera
|
||||
virtual void row2mask(int n, TToken_string & rec, int mode = 0x3);
|
||||
// @cmember Permette di mettere il focus su una cella
|
||||
bool set_focus_cell(int riga, int colonna);
|
||||
//Copy Costructor per impedire la duplicazione accidentale degli sheet
|
||||
TSheet_field(const TSheet_field& s) : TLoadable_field(&s.mask()) { CHECK(false, "Can't duplicate TSheet_field"); }
|
||||
|
||||
// @access Public Member
|
||||
public:
|
||||
// @cmember Permette di mettere il focus su una cella
|
||||
bool set_focus_cell_id(long rec, short cid);
|
||||
bool set_focus_cell_id(long rec, short cid);
|
||||
|
||||
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
|
||||
virtual bool on_key(KEY k);
|
||||
// @cmember Gestisce la pressione del tasto (true se la gestione ha avuto successo)
|
||||
virtual bool on_key(KEY k);
|
||||
|
||||
// @cmember Si, sono uno spreadsheet
|
||||
virtual bool is_sheet() const { return true; }
|
||||
virtual bool empty() const { return items() == 0; }
|
||||
// @cmember Si, sono uno spreadsheet
|
||||
virtual bool is_sheet() const { return true; }
|
||||
virtual bool empty() const { return items() == 0; }
|
||||
|
||||
// @cmember Legge automaticamente la linea dal record array assegnato
|
||||
virtual bool autoload_line(int i,const TRectype & rec);
|
||||
// @cmember Salva automaticamente la linea nel record array assegnato
|
||||
virtual bool autosave_line(int i,TRectype & rec);
|
||||
// @cmember Legge automaticamente la linea dal record array assegnato
|
||||
virtual bool autoload_line(int i, const TRectype & rec);
|
||||
// @cmember Salva automaticamente la linea nel record array assegnato
|
||||
virtual bool autosave_line(int i, TRectype & rec);
|
||||
|
||||
// @cmember Legge automaticamente lo sheet dal record array assegnato
|
||||
virtual bool autoload(const TRelation& r);
|
||||
// @cmember Salva automaticamente lo sheet nel record array assegnato
|
||||
virtual bool autosave(TRelation& r) ;
|
||||
// @cmember setta la funzione utente che Legge i campi dello sheet
|
||||
void set_userget(SHEET_USERGETPUT handler);
|
||||
// @cmember setta la funzione utente che scrive i campi dello sheet
|
||||
void set_userput(SHEET_USERGETPUT handler);
|
||||
// @cmember carica le chiavi del record array dello sheet
|
||||
TRectype * putkey(const TRelation& r);
|
||||
// @cmember restituisce il record array assegnato allo sheet
|
||||
TRecord_array * record() const {return _linee_rec;}
|
||||
// @cmember Imposta un record array esterno che contiene le righe dello sheet
|
||||
void set_lines_record(TRecord_array &);
|
||||
// @cmember Ritorna se il record assegnato è gestito esternamente (read/write/remove)
|
||||
bool external_record() const {return _external_record;}
|
||||
// @cmember Gestisce i campi della chiave
|
||||
void restart_key();
|
||||
TMask_field *get_key(TString & dbfieldname);
|
||||
// @cmember Legge automaticamente lo sheet dal record array assegnato
|
||||
virtual bool autoload(const TRelation& r);
|
||||
// @cmember Salva automaticamente lo sheet nel record array assegnato
|
||||
virtual bool autosave(TRelation& r);
|
||||
// @cmember setta la funzione utente che Legge i campi dello sheet
|
||||
void set_userget(SHEET_USERGETPUT handler);
|
||||
// @cmember setta la funzione utente che scrive i campi dello sheet
|
||||
void set_userput(SHEET_USERGETPUT handler);
|
||||
// @cmember carica le chiavi del record array dello sheet
|
||||
TRectype * putkey(const TRelation& r);
|
||||
// @cmember restituisce il record array assegnato allo sheet
|
||||
TRecord_array * record() const { return _linee_rec; }
|
||||
// @cmember Imposta un record array esterno che contiene le righe dello sheet
|
||||
void set_lines_record(TRecord_array &);
|
||||
// @cmember Ritorna se il record assegnato è gestito esternamente (read/write/remove)
|
||||
bool external_record() const { return _external_record; }
|
||||
// @cmember Gestisce i campi della chiave
|
||||
void restart_key();
|
||||
TMask_field *get_key(TString & dbfieldname);
|
||||
|
||||
// @cmember Ritorna una riga dello spreadsheet
|
||||
TToken_string& row(int n);
|
||||
// @cmember Ritorna un array con tutte le righe dello spreadsheet
|
||||
TString_array& rows_array() const;
|
||||
// @cmember Ritorna l'elemento <p c>-esimo della riga <p r>
|
||||
const char* cell(int r, int c) const;
|
||||
// @cmember Ritorna una riga dello spreadsheet
|
||||
TToken_string& row(int n);
|
||||
// @cmember Ritorna un array con tutte le righe dello spreadsheet
|
||||
TString_array& rows_array() const;
|
||||
// @cmember Ritorna l'elemento <p c>-esimo della riga <p r>
|
||||
const char* cell(int r, int c) const;
|
||||
|
||||
virtual void set_row_cell(TToken_string & row, short id, const char * value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, char value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, long value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, int value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, const real& value) { row.add(value, cid2index(id)); }
|
||||
virtual void set_row_cell(TToken_string & row, short id, const TDate& value) { row.add(value, cid2index(id)); }
|
||||
|
||||
virtual int set_row_cell(short id, const char * value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, char value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, long value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, int value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, const real& value, int nrow = -1);
|
||||
virtual int set_row_cell(short id, const TDate& value, int nrow = -1);
|
||||
|
||||
virtual const char * get_str_row_cell(int nrow, short id) { return row(nrow).get(); }
|
||||
virtual char get_char_row_cell(int nrow, short id) { return row(nrow).get_char(); }
|
||||
virtual long get_long_row_cell(int nrow, short id) { return row(nrow).get_long(); }
|
||||
virtual int get_int_row_cell(int nrow, short id) { return row(nrow).get_int(); }
|
||||
virtual real get_real_row_cell(int nrow, short id) { return real(row(nrow).get()); }
|
||||
virtual TDate get_date_row_cell(int nrow, short id) { return TDate(row(nrow).get()); }
|
||||
|
||||
char separator() const { return _separator; }
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user