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:
villa 1995-02-21 10:20:37 +00:00
parent 6a0a823591
commit d78ec66ffa
6 changed files with 156 additions and 34 deletions

View File

@ -340,7 +340,7 @@ bool TLiquidazione_app::set_print(int n)
to.put(MOV_DATAREG, t); to.put(MOV_DATAREG, t);
_cur->setregion(from, to); _cur->setregion(from, to);
extract_deleghe(); extract_deleghe();
return FALSE; return _isprint;
} }
else warning_box("Nessuna ditta selezionata!"); else warning_box("Nessuna ditta selezionata!");
} }

View File

@ -78,8 +78,8 @@ enum tbc { precedente = 1, incorso = 2};
#define RIMBORSO 12 // prospetto rimborso infraannuale #define RIMBORSO 12 // prospetto rimborso infraannuale
#define ACCONTO 13 // riga prospetto acconti #define ACCONTO 13 // riga prospetto acconti
#define ACCHEAD 14 // header prospetto acconti #define ACCHEAD 14 // header prospetto acconti
#define RISDITTA 15 // riga tabulato deleghe #define DELDEB 15 // righe tabulato deleghe ditte a debito
#define DELHEAD 16 // header tabulato deleghe #define DELCRED 16 // header tabulato deleghe ditte a credito
// ............................................................... // ...............................................................
// support structs // support structs
@ -139,7 +139,7 @@ public:
_r9, _r10,_r11; _r9, _r10,_r11;
TArray _arr; TArray _arr;
_DescrItem(word f) : _f0(0), _f1(0), _f2(0), _arr(4) _DescrItem(word f) : _f0(0), _f1(0), _f2(0)
{ _flags = f; } { _flags = f; }
virtual ~_DescrItem() virtual ~_DescrItem()
{ } { }
@ -454,7 +454,9 @@ public:
// Funzioni accessorie: estrazione deleghe // Funzioni accessorie: estrazione deleghe
bool set_deleghe(); bool set_deleghe();
bool extract_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 // Funzioni accessorie: calcolo acconto dicembre
bool set_acconto(); bool set_acconto();

View File

@ -1,3 +1,4 @@
#define FLD_CGB_YEAR 101 #define FLD_CGB_YEAR 101
#define FLD_CGB_MONTH 102 #define FLD_CGB_MONTH 102
#define BUT_CGB_ALL 103 #define BUT_CGB_ALL 103
#define CHK_CGB_PRINT 104

View File

@ -17,6 +17,11 @@ BEGIN
ITEM "13|Annuale" ITEM "13|Annuale"
END END
BOOLEAN CHK_CGB_PRINT
BEGIN
PROMPT 2 3 "Stampa tabulato"
END
GROUPBOX DLG_NULL 41 4 GROUPBOX DLG_NULL 41 4
BEGIN BEGIN
PROMPT 2 4 "Scelta ditte" PROMPT 2 4 "Scelta ditte"

View File

@ -48,6 +48,8 @@ void TLiquidazione_app::set_page(int file, int cnt)
case THE_END: set_grand(d); break; case THE_END: set_grand(d); break;
case ACCONTO: set_acconto_p(d); break; case ACCONTO: set_acconto_p(d); break;
case ACCHEAD: set_acchead_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"); 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);
}

View File

@ -18,6 +18,7 @@ bool TLiquidazione_app::set_deleghe()
m.field(FLD_CGB_YEAR).set(_year); m.field(FLD_CGB_YEAR).set(_year);
m.field(FLD_CGB_YEAR).set_handler(ch_year_handler); m.field(FLD_CGB_YEAR).set_handler(ch_year_handler);
m.field(CHK_CGB_PRINT).set(_isprint ? "X" : "");
int k = 0; int k = 0;
long j; long j;
@ -29,7 +30,9 @@ bool TLiquidazione_app::set_deleghe()
break; break;
k = m.run(); k = m.run();
_isprint = m.get_bool(CHK_CGB_PRINT);
switch (k) switch (k)
{ {
case DLG_SELECT: case DLG_SELECT:
@ -61,10 +64,8 @@ bool TLiquidazione_app::set_deleghe()
} }
bool TLiquidazione_app::extract_deleghe() bool TLiquidazione_app::extract_deleghe()
{ {
bool onemade = FALSE; char buf[256]; TArray desc;
char buf[256];
_prind = new TProgind(_calcall ? _n_ditte : _selected.ones(), _prind = new TProgind(_calcall ? _n_ditte : _selected.ones(),
" Estrazione deleghe \n" " Estrazione deleghe \n"
" preparazione archivi \n " " preparazione archivi \n "
@ -104,15 +105,7 @@ bool TLiquidazione_app::extract_deleghe()
_isriepilogo = _month == 13; _isriepilogo = _month == 13;
_isendliq = _isannual || _isriepilogo; _isendliq = _isannual || _isriepilogo;
// if (onemade == FALSE && _isprint) extract_delega(_month, desc);
// {
// _DescrItem* d = new _DescrItem(DELHEAD);
// condire qui
// _descr_arr.add(d);
// }
extract_delega(_month);
onemade = TRUE;
} }
_prind->addstatus(1); _prind->addstatus(1);
} }
@ -120,37 +113,80 @@ bool TLiquidazione_app::extract_deleghe()
TApplication::set_firm(__firm); TApplication::set_firm(__firm);
delete _prind; 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; 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)) if (look_lim(month))
{ {
real topay = result_liq(month); real topay = result_liq(month);
real intr = _lim->get_real("R14"); 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) if (topay.sign() > 0)
{ {
look_del(month, _isannual ? 2 : 1, TRUE); look_del(month, _isannual ? 2 : 1, TRUE);
_del->put("R0",topay); _del->put("R0",topay);
_del->put("R1",intr); _del->put("R1",intr);
_del->rewrite(); _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; return TRUE;
} }