Aggiunta stampa del cazzo dopo estrazione deleghe
git-svn-id: svn://10.65.10.50/trunk@1020 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
6a0a823591
commit
d78ec66ffa
@ -340,7 +340,7 @@ bool TLiquidazione_app::set_print(int n)
|
||||
to.put(MOV_DATAREG, t);
|
||||
_cur->setregion(from, to);
|
||||
extract_deleghe();
|
||||
return FALSE;
|
||||
return _isprint;
|
||||
}
|
||||
else warning_box("Nessuna ditta selezionata!");
|
||||
}
|
||||
|
10
cg/cg4300.h
10
cg/cg4300.h
@ -78,8 +78,8 @@ enum tbc { precedente = 1, incorso = 2};
|
||||
#define RIMBORSO 12 // prospetto rimborso infraannuale
|
||||
#define ACCONTO 13 // riga prospetto acconti
|
||||
#define ACCHEAD 14 // header prospetto acconti
|
||||
#define RISDITTA 15 // riga tabulato deleghe
|
||||
#define DELHEAD 16 // header tabulato deleghe
|
||||
#define DELDEB 15 // righe tabulato deleghe ditte a debito
|
||||
#define DELCRED 16 // header tabulato deleghe ditte a credito
|
||||
|
||||
// ...............................................................
|
||||
// support structs
|
||||
@ -139,7 +139,7 @@ public:
|
||||
_r9, _r10,_r11;
|
||||
TArray _arr;
|
||||
|
||||
_DescrItem(word f) : _f0(0), _f1(0), _f2(0), _arr(4)
|
||||
_DescrItem(word f) : _f0(0), _f1(0), _f2(0)
|
||||
{ _flags = f; }
|
||||
virtual ~_DescrItem()
|
||||
{ }
|
||||
@ -454,7 +454,9 @@ public:
|
||||
// Funzioni accessorie: estrazione deleghe
|
||||
bool set_deleghe();
|
||||
bool extract_deleghe();
|
||||
bool extract_delega(int m);
|
||||
bool extract_delega(int m, TArray& desc);
|
||||
// stampa
|
||||
void set_deltab(_DescrItem& d, bool iscred);
|
||||
|
||||
// Funzioni accessorie: calcolo acconto dicembre
|
||||
bool set_acconto();
|
||||
|
@ -1,3 +1,4 @@
|
||||
#define FLD_CGB_YEAR 101
|
||||
#define FLD_CGB_MONTH 102
|
||||
#define BUT_CGB_ALL 103
|
||||
#define CHK_CGB_PRINT 104
|
||||
|
@ -17,6 +17,11 @@ BEGIN
|
||||
ITEM "13|Annuale"
|
||||
END
|
||||
|
||||
BOOLEAN CHK_CGB_PRINT
|
||||
BEGIN
|
||||
PROMPT 2 3 "Stampa tabulato"
|
||||
END
|
||||
|
||||
GROUPBOX DLG_NULL 41 4
|
||||
BEGIN
|
||||
PROMPT 2 4 "Scelta ditte"
|
||||
|
@ -48,6 +48,8 @@ void TLiquidazione_app::set_page(int file, int cnt)
|
||||
case THE_END: set_grand(d); break;
|
||||
case ACCONTO: set_acconto_p(d); break;
|
||||
case ACCHEAD: set_acchead_p(d); break;
|
||||
case DELDEB: set_deltab(d, FALSE); break;
|
||||
case DELCRED: set_deltab(d, TRUE); break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -1503,3 +1505,79 @@ void TLiquidazione_app::set_acchead_p(_DescrItem& d)
|
||||
set_header(4,"@1gDitta@8gDenominazione@85gACCONTO calcolato");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ---------------------------------------------------------------------
|
||||
// Tabulato deleghe
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
void TLiquidazione_app::set_deltab(_DescrItem& d, bool iscred)
|
||||
{
|
||||
reset_header();
|
||||
int rw = 1;
|
||||
static bool credpr;
|
||||
|
||||
if (iscred)
|
||||
{
|
||||
// set header
|
||||
set_header(1,"ELENCO DITTE A CREDITO@30g%s %s@109gData @<@125gPag. @#",
|
||||
d._f0 == 13 ? "Annuale " : itom(d._f0), (const char*)_year);
|
||||
set_header(2,sep);
|
||||
set_header(3,"@40gF@60gImporto a");
|
||||
set_header(4,"Cod.@8gDenominazione@40gR@62gcredito");
|
||||
set_header(5,sep);
|
||||
set_header(6,"");
|
||||
|
||||
// set rows
|
||||
for (int i = 0; i < d._arr.items(); i++)
|
||||
{
|
||||
TToken_string& tt = (TToken_string&)(d._arr)[i];
|
||||
TString cod(tt.get(0));
|
||||
TString rgs(tt.get(1));
|
||||
TString frq(tt.get(2));
|
||||
real tp (tt.get(3));
|
||||
real in (tt.get(4));
|
||||
tp -= in;
|
||||
tp = -tp;
|
||||
set_row(rw++, "%-5s@8g%-30s@40g%1s@54g%r", (const char*)cod, (const char*)rgs,
|
||||
(const char*)frq, &tp);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// set header
|
||||
set_header(1,"ELENCO DITTE A DEBITO@30g%s %s@109gData @<@125gPag. @#",
|
||||
d._f0 == 13 ? "Annuale " : itom(d._f0), (const char*)_year);
|
||||
set_header(2,sep);
|
||||
set_header(3,"@40gF@60gImporto da@73gCodice@83gCod.");
|
||||
set_header(4,"Cod.@8gDenominazione@40gR Numero telefonico@63gversare Banca Dip. Con.");
|
||||
set_header(5,sep);
|
||||
set_header(6,"");
|
||||
|
||||
|
||||
// set rows
|
||||
for (int i = 0; i < d._arr.items(); i++)
|
||||
{
|
||||
TToken_string& tt = (TToken_string&)(d._arr)[i];
|
||||
TString cod(tt.get(0));
|
||||
TString rgs(tt.get(1));
|
||||
TString frq(tt.get(2));
|
||||
real tp (tt.get(3));
|
||||
real in (tt.get(4));
|
||||
TString abi(tt.get(5));
|
||||
TString cab(tt.get(6));
|
||||
TString con(tt.get(7));
|
||||
TString tel(tt.get(8));
|
||||
if (!tel.blank())
|
||||
tel << '/';
|
||||
tel << tt.get(9);
|
||||
tp += in;
|
||||
|
||||
set_row(rw++, "%-5s@8g%-30s@40g%1s %s @55g%r %5s %5s %3s",
|
||||
(const char*)cod, (const char*)rgs, (const char*)frq,
|
||||
(const char*)tel, &tp, (const char*)abi,
|
||||
(const char*)cab, (const char*)con);
|
||||
}
|
||||
}
|
||||
set_auto_ff(TRUE);
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ bool TLiquidazione_app::set_deleghe()
|
||||
|
||||
m.field(FLD_CGB_YEAR).set(_year);
|
||||
m.field(FLD_CGB_YEAR).set_handler(ch_year_handler);
|
||||
m.field(CHK_CGB_PRINT).set(_isprint ? "X" : "");
|
||||
|
||||
int k = 0;
|
||||
long j;
|
||||
@ -29,7 +30,9 @@ bool TLiquidazione_app::set_deleghe()
|
||||
break;
|
||||
|
||||
k = m.run();
|
||||
|
||||
|
||||
_isprint = m.get_bool(CHK_CGB_PRINT);
|
||||
|
||||
switch (k)
|
||||
{
|
||||
case DLG_SELECT:
|
||||
@ -61,10 +64,8 @@ bool TLiquidazione_app::set_deleghe()
|
||||
}
|
||||
|
||||
bool TLiquidazione_app::extract_deleghe()
|
||||
{
|
||||
bool onemade = FALSE;
|
||||
|
||||
char buf[256];
|
||||
{
|
||||
char buf[256]; TArray desc;
|
||||
_prind = new TProgind(_calcall ? _n_ditte : _selected.ones(),
|
||||
" Estrazione deleghe \n"
|
||||
" preparazione archivi \n "
|
||||
@ -104,15 +105,7 @@ bool TLiquidazione_app::extract_deleghe()
|
||||
_isriepilogo = _month == 13;
|
||||
_isendliq = _isannual || _isriepilogo;
|
||||
|
||||
// if (onemade == FALSE && _isprint)
|
||||
// {
|
||||
// _DescrItem* d = new _DescrItem(DELHEAD);
|
||||
// condire qui
|
||||
// _descr_arr.add(d);
|
||||
// }
|
||||
|
||||
extract_delega(_month);
|
||||
onemade = TRUE;
|
||||
extract_delega(_month, desc);
|
||||
}
|
||||
_prind->addstatus(1);
|
||||
}
|
||||
@ -120,37 +113,80 @@ bool TLiquidazione_app::extract_deleghe()
|
||||
TApplication::set_firm(__firm);
|
||||
delete _prind;
|
||||
|
||||
if (_isprint)
|
||||
{
|
||||
_DescrItem* ddeb = NULL;
|
||||
_DescrItem* dcrd = NULL;
|
||||
|
||||
// scorri desc e prepara descritems
|
||||
for (int i = 0; i < desc.items(); i++)
|
||||
{
|
||||
TToken_string& tt = (TToken_string&)desc[i];
|
||||
|
||||
real tp(tt.get(3));
|
||||
if (tp.sign() > 0)
|
||||
{
|
||||
if (ddeb == NULL)
|
||||
{
|
||||
ddeb = new _DescrItem(DELDEB);
|
||||
ddeb->_f0 = _month;
|
||||
}
|
||||
ddeb->_arr.add(tt);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (dcrd == NULL)
|
||||
{
|
||||
dcrd = new _DescrItem(DELCRED);
|
||||
dcrd->_f0 = _month;
|
||||
}
|
||||
dcrd->_arr.add(tt);
|
||||
}
|
||||
}
|
||||
if (dcrd != NULL) _descr_arr.add(dcrd);
|
||||
if (ddeb != NULL) _descr_arr.add(ddeb);
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
bool TLiquidazione_app::extract_delega(int month)
|
||||
bool TLiquidazione_app::extract_delega(int month, TArray& desc)
|
||||
{
|
||||
TToken_string* tt = NULL;
|
||||
|
||||
if (look_lim(month))
|
||||
{
|
||||
real topay = result_liq(month);
|
||||
real intr = _lim->get_real("R14");
|
||||
|
||||
if (!topay.is_zero())
|
||||
{
|
||||
tt = new TToken_string(80);
|
||||
tt->add(_nditte->curr().get("CODDITTA"));
|
||||
tt->add(_nditte->curr().get("RAGSOC"));
|
||||
tt->add(_freqviva);
|
||||
tt->add(topay.string());
|
||||
tt->add(intr.string());
|
||||
}
|
||||
|
||||
// per questa volta lasciamo perdere la describe_delega
|
||||
// if (_isprint)
|
||||
// {
|
||||
// _DescrItem* d = new _DescrItem(RISDITTA);
|
||||
// d->_r0 = topay;
|
||||
// d->_r1 = intr;
|
||||
// d->_s0 = _nditte->curr().get("CODDITTA");
|
||||
// d->_s1 = _nditte->curr().get("RAGSOC");
|
||||
// _descr_arr.add(d);
|
||||
// }
|
||||
|
||||
if (topay.sign() <= 0)
|
||||
return TRUE;
|
||||
if (topay.sign() > 0)
|
||||
{
|
||||
look_del(month, _isannual ? 2 : 1, TRUE);
|
||||
_del->put("R0",topay);
|
||||
_del->put("R1",intr);
|
||||
_del->rewrite();
|
||||
|
||||
tt->add(_del->get("S7"));
|
||||
tt->add(_del->get("S8"));
|
||||
tt->add(_del->get("S9"));
|
||||
tt->add(_nditte->curr().get("PTEL"));
|
||||
tt->add(_nditte->curr().get("TEL"));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (tt != NULL)
|
||||
desc.add(tt);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user