Visualizzazione deleghe in dettaglio mese visualizz.

git-svn-id: svn://10.65.10.50/trunk@969 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
villa 1995-02-06 11:50:20 +00:00
parent 598132948d
commit 78e18e7b30
5 changed files with 195 additions and 20 deletions

@ -482,7 +482,8 @@ real TLiquidazione_app::versamenti_IVA(int month, const char* types, bool intr)
{
int tp = typ.get_int(i);
if (look_del(month,tp))
if (_del->get_bool("B0")) // solo se stampata
if (_del->get_bool("B0") || _is_visliq) // solo se stampata, a meno
// che non sia per visliq
{
ret += _del->get_real("R0");
if (intr) ret += _del->get_real("R1");

@ -587,7 +587,6 @@ void TLiquidazione_app::describe_liq(int month, const char* codatts,
d->_r5 = _lim->get_real("R5");
d->_r6 = _lim->get_real("R6");
d->_r7 = _lim->get_real("R11");
d->_r8 = _lim->get_real("R8");
d->_r9 = _lim->get_real("R9");
d->_r10 = _lim->get_real("R7"); // totale conguaglio prorata
d->_s0 = _lim->get("S2");
@ -596,6 +595,18 @@ void TLiquidazione_app::describe_liq(int month, const char* codatts,
d->_s3 = _lim->get("S5");
d->_r11 = (const char*)_lim->get("R10"); // tasso di interesse
if (_is_visliq)
{
// tutti i versamenti, sempre e comunque
d->_r8 = versamenti_IVA(_month, "1", TRUE);
// nessuno li ha scritti in LIM
d->_r0 -= d->_r8;
}
else
// rispettiamo tutte le casistiche per i versamenti
d->_r8 = _lim->get_real("R8");
// aggiunge eventuale satellite per rimborso infraannuale
if (di != NULL) d->_arr.add(di);
@ -1017,18 +1028,25 @@ void TLiquidazione_app::set_grand(_DescrItem& d)
set_row(rw++,"%s@11gRettifiche IVA a credito@58g%r",
_is_visliq ? "$[r]" : "", &rett_cred);
// versamenti effettuati
if (!versamenti.is_zero())
{
set_row(rw++,"@11gVersamenti effettuati@58g%r", &versamenti);
if (_is_visliq)
{
// stampa ad uso visualizzazione liquidazione IVA
set_row(rw++,"@11g$[r]Versamenti effettuati@58g%r", &versamenti);
}
else
{
// versamenti effettuati
if (!versamenti.is_zero())
{
set_row(rw++,"@11gVersamenti effettuati@58g%r", &versamenti);
}
// versamenti integrativi
if (!vers_int.is_zero())
{
set_row(rw++,"@11gVersamenti integrativi@58g%r", &vers_int);
}
}
// versamenti integrativi
if (!vers_int.is_zero())
{
set_row(rw++,"@11gVersamenti integrativi@58g%r", &vers_int);
}
if (conguaglio.sign() < 0)
{
real cg = conguaglio;

@ -221,7 +221,9 @@ const char* Visliq_app::link_handler(TMask& m,
else if (st.find("debito") != -1 || st.find("credito") != -1)
{ group = -2; firstfoc = F_RETTIFICA; }
else if (st.find("acconto") != -1)
{ group = -3; firstfoc = F_ACCONTO; }
{ group = -3; firstfoc = F_ACCONTO; }
else if (st.find("Versamenti") != -1)
{ group = -4; firstfoc = F_DELDATE; }
m.show(group);
m.enable(group);
@ -340,10 +342,10 @@ bool Visliq_app::sel_mese_sh2 (TMask_field& f, KEY k)
void Visliq_app::update_sheet_row(TToken_string& t)
{
t.add(abs(_lim->get_real("R0")).string(),2);
t.add((_lim->get_real("R0")).sign() > 0 ? "D" : "C", 3);
t.add((_lim->get_real("R0")).sign() >= 0 ? "D" : "C", 3);
t.add((_lim->get_real("R1")).string(),4);
t.add(abs(_lim->get_real("R5")).string(),5);
t.add((_lim->get_real("R5")).sign() > 0 ? "D" : "C", 6);
t.add((_lim->get_real("R5")).sign() >= 0 ? "D" : "C", 6);
}
bool Visliq_app::vis_liq()
@ -705,6 +707,7 @@ bool Visliq_app::vis_one(int m)
long ll, ll2, lvers = -1; int x;
int isdebt = risultato.sign();
long lrivr = vsw->search("Versamenti effettuati",x,line,TRUE);
long lrisd = vsw->search("RISULTATO", x, line, TRUE); // RISULTATO a debito
long lrisc = vsw->search("RISULTATO", x, lrisd+1l, TRUE); // credito
if (risultato.sign())
@ -716,10 +719,31 @@ bool Visliq_app::vis_one(int m)
real risc(real::ita2eng(brw.get_text(lrisc,58,15)));
real risd(real::ita2eng(brw.get_text(lrisd,75,15)));
real vers = 0.0;
TDate date(TODAY);
TString cab(5), abi(5), con(5);
bool is_delega = FALSE;
if (is_delega = look_del(m,1))
{
vers = _del->get_real("R0") + _del->get_real("R1");
date = _del->get_date("D0");
abi = _del->get("S7");
cab = _del->get("S8");
con = _del->get("S9");
}
msk.field(F_DELDATE).set(date.string());
msk.field(F_DELIMP).set(vers.string());
msk.field(F_DELABI).set(abi);
msk.field(F_DELCAB).set(cab);
msk.field(F_DELCON).set(con);
if (lrisd == -1l || lrisc == -1l) return FALSE;
if (lvers == -1l) lvers = lrisc+1l;
bool write_lia = FALSE, write_lim = FALSE;
bool write_lia = FALSE, write_lim = FALSE, write_del = FALSE;
end_wait();
for(;;)
@ -731,6 +755,7 @@ bool Visliq_app::vis_one(int m)
real n_acconto (msk.get(F_ACCONTO));
real n_rimborso (msk.get(F_RIMBORSO));
real n_rettifica(msk.get(F_RETTIFICA));
real n_delimp(msk.get(F_DELIMP));
TString n_desc1 (msk.get(F_DESCR1));
TString n_desc2 (msk.get(F_DESCR2));
@ -823,13 +848,81 @@ bool Visliq_app::vis_one(int m)
_lim->put("S0", n_desc1);
write_lim = TRUE;
}
if (msk.field(F_DESCR1).dirty())
if (msk.field(F_DESCR2).dirty())
{
_lim->put("S1", n_desc2);
write_lim = TRUE;
}
}
// delegations
if (msk.field(F_DELDATE).dirty())
{
if (!is_delega)
{
look_del(m,1,TRUE);
is_delega = TRUE;
}
_del->put("D0",msk.get(F_DELDATE));
write_del = TRUE;
}
if (msk.field(F_DELIMP).dirty())
{
if (!is_delega)
{
look_del(m,1,TRUE);
is_delega = TRUE;
}
if (lrivr != -1)
vsw->replace(lrivr, n_delimp.string("###.###.###.###"), 58);
risultato += vers;
risultato -= n_delimp;
risc -= vers;
risc += n_delimp;
vsw->replace(lrisc, risc.string("###.###.###.###"), 58);
set_risultato(vsw, lvers, risultato);
_del->put("R0", n_delimp);
_del->put("R1", "");
write_del = TRUE;
}
if (msk.field(F_DELABI).dirty())
{
if (!is_delega)
{
look_del(m,1,TRUE);
is_delega = TRUE;
}
_del->put("S7",msk.get(F_DELABI));
write_del = TRUE;
}
if (msk.field(F_DELCAB).dirty())
{
if (!is_delega)
{
look_del(m,1,TRUE);
is_delega = TRUE;
}
_del->put("S8",msk.get(F_DELCAB));
write_del = TRUE;
}
if (msk.field(F_DELCON).dirty())
{
if (!is_delega)
{
look_del(m,1,TRUE);
is_delega = TRUE;
}
_del->put("S9",msk.get(F_DELCON));
write_del = TRUE;
}
// end delegations
if (write_lia && k == K_SAVE)
_lia->rewrite();
_lia->rewrite();
if (write_del && k == K_SAVE)
_del->rewrite();
if ((write_lim || write_lia) && k == K_SAVE)
{

@ -14,6 +14,11 @@
#define F_DESCR2 114
#define F_DEBCRE 115
#define F_SELECT 116
#define F_DELDATE 117
#define F_DELIMP 118
#define F_DELABI 119
#define F_DELCAB 120
#define F_DELCON 121
#define F_CODDITTA2 201
#define F_RAGSOC2 202

@ -88,6 +88,64 @@ BEGIN
PICTURE "."
END
/* gruppo 4: edit delega */
DATE F_DELDATE
BEGIN
PROMPT 3 15 "Data "
GROUP 4
FLAGS "H"
END
NUMBER F_DELIMP 15 0
BEGIN
PROMPT 26 15 "Importo versato "
GROUP 4
PICTURE "."
FLAGS "HR"
END
NUMBER F_DELABI 5
BEGIN
PROMPT 3 16 "Codice ABI "
HELP "Codice ABI banca di appoggio"
FIELD S7
FLAGS "RZH"
GROUP 4
USE %BAN
INPUT CODTAB[1,5] F_DELABI
INPUT CODTAB[6,10] F_DELCAB
DISPLAY "Codice ABI" CODTAB[1,5]
DISPLAY "Codice CAB" CODTAB[6,10]
DISPLAY "Descrizione @50" S0
OUTPUT F_DELABI CODTAB[1,5]
OUTPUT F_DELCAB CODTAB[6,10]
CHECKTYPE NORMAL
END
NUMBER F_DELCAB 5
BEGIN
PROMPT 26 16 "Codice CAB "
HELP "Codice CAB banca di appoggio"
FIELD S8
FLAGS "RZH"
GROUP 4
COPY ALL F_DELABI
CHECKTYPE NORMAL
WARNING "Banca assente"
END
NUMBER F_DELCON 3
BEGIN
PROMPT 51 16 "Concessione "
HELP "Codice Concessione del Comune di residenza fiscale"
FLAGS "RZH"
GROUP 4
END
GROUPBOX DLG_NULL 80 5
BEGIN
PROMPT 1 14 ""