Patch level : 10.0 704
Files correlati : cg2.exe Ricompilazione Demo : [ ] Commento : Dump Saldaconto git-svn-id: svn://10.65.10.50/trunk@20321 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
01e4cf8912
commit
193e2e33db
140
cg/cg2100.cpp
140
cg/cg2100.cpp
@ -1852,68 +1852,130 @@ bool TPrimanota_application::save(bool check_dirty)
|
||||
return TRelation_application::save(check_dirty);
|
||||
}
|
||||
|
||||
void TPrimanota_application::dump_rec(TConfig & ini, const TRectype & rec, int row)
|
||||
{
|
||||
if (row > 0)
|
||||
ini.set_paragraph(format("%d,%d", rec.num(), row));
|
||||
else
|
||||
ini.set_paragraph(format("%d", rec.num()));
|
||||
for (int f = rec.items()-1; f >= 0; f--)
|
||||
{
|
||||
const char* name = rec.fieldname(f);
|
||||
ini.set(name, rec.get(name));
|
||||
}
|
||||
}
|
||||
|
||||
void TPrimanota_application::dump_fatt(TConfig& ini, TPartita & game, int rigafatt)
|
||||
{
|
||||
if (rigafatt > 0)
|
||||
{
|
||||
const TRiga_partite& riga = game.riga(rigafatt);
|
||||
int r;
|
||||
|
||||
for (r = 1; r <= riga.rate(); r++)
|
||||
{
|
||||
TRiga_scadenze& rec = riga.rata(r);
|
||||
|
||||
rec.fill_array();
|
||||
const int lastrow = rec.last();
|
||||
|
||||
dump_rec(ini, rec, r);
|
||||
for (int rp = rec.first(); rp <= lastrow; rp = rec.succ(rp))
|
||||
{
|
||||
const TRectype & recpag = rec.row(rp);
|
||||
|
||||
dump_rec(ini, recpag, rp);
|
||||
}
|
||||
}
|
||||
for ( ; ; r++)
|
||||
{
|
||||
if (ini.set_paragraph(format("%d,%d", LF_SCADENZE, r+1)))
|
||||
ini.remove_all();
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void TPrimanota_application::mask2ini(const TMask& msk, TConfig& ini)
|
||||
{
|
||||
TRelation_application::mask2ini(msk, ini);
|
||||
|
||||
int i, f;
|
||||
int i;
|
||||
for (i = 0; i < _rel->cg_items(); i++)
|
||||
{
|
||||
ini.set_paragraph(format("%d,%d", LF_RMOV, i+1));
|
||||
|
||||
const TRectype& rec = _rel->cg(i);
|
||||
for (f = rec.items()-1; f >= 0; f--)
|
||||
{
|
||||
const char* name = rec.fieldname(f);
|
||||
ini.set(name, rec.get(name));
|
||||
}
|
||||
|
||||
dump_rec(ini, rec, i + 1);
|
||||
}
|
||||
for ( ; ini.set_paragraph(format("%d,%d", LF_RMOV, i+1)); i++)
|
||||
ini.remove_all();
|
||||
|
||||
for (i = 0; i < _rel->iva_items(); i++)
|
||||
{
|
||||
ini.set_paragraph(format("%d,%d", LF_RMOVIVA, i+1));
|
||||
const TRectype& rec = _rel->iva(i);
|
||||
for (f = rec.items()-1; f >= 0; f--)
|
||||
{
|
||||
const char* name = rec.fieldname(f);
|
||||
ini.set(name, rec.get(name));
|
||||
}
|
||||
|
||||
dump_rec(ini, rec, i + 1);
|
||||
}
|
||||
for ( ; ini.set_paragraph(format("%d,%d", LF_RMOVIVA, i+1)); i++)
|
||||
ini.remove_all();
|
||||
|
||||
if (is_fattura())
|
||||
TPartite_array p;
|
||||
const long numreg = _rel->lfile().get_long(MOV_NUMREG);
|
||||
|
||||
p.add_numreg(numreg);
|
||||
if (is_fattura())
|
||||
{
|
||||
const long numreg = _rel->lfile().get_long(MOV_NUMREG);
|
||||
TPartita* game = partite().first();
|
||||
if (game)
|
||||
TPartita* game = p.first();
|
||||
|
||||
if (game)
|
||||
{
|
||||
const int rigafatt = game->prima_fattura(numreg);
|
||||
if (rigafatt > 0)
|
||||
{
|
||||
const TRiga_partite& riga = game->riga(rigafatt);
|
||||
for (int r = 1; r <= riga.rate(); r++)
|
||||
{
|
||||
ini.set_paragraph(format("%d,%d", LF_SCADENZE, r));
|
||||
const TRectype& rec = riga.rata(r);
|
||||
for (f = rec.items()-1; f >= 0; f--)
|
||||
{
|
||||
const char* name = rec.fieldname(i);
|
||||
ini.set(name, rec.get(name));
|
||||
}
|
||||
}
|
||||
for ( ; ; i++)
|
||||
{
|
||||
if (ini.set_paragraph(format("%d,%d", LF_SCADENZE, i+1)))
|
||||
ini.remove_all();
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
dump_fatt(ini, *game, rigafatt);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
TBit_array dumped;
|
||||
|
||||
for (TPartita* game = p.first(); game != NULL; game = p.next())
|
||||
{
|
||||
const int rigapag = game->primo_pagamento(numreg);
|
||||
|
||||
if (rigapag > 0)
|
||||
{
|
||||
TRiga_partite & riga = game->riga(rigapag);
|
||||
TCursor pag(new TRelation(LF_PAGSCA));
|
||||
TRectype filter(pag.curr());
|
||||
|
||||
filter.put(PAGSCA_TIPOC, riga.get(PART_TIPOCF));
|
||||
filter.put(PAGSCA_GRUPPO, riga.get(PART_GRUPPO));
|
||||
filter.put(PAGSCA_CONTO, riga.get(PART_CONTO));
|
||||
filter.put(PAGSCA_SOTTOCONTO, riga.get(PART_SOTTOCONTO));
|
||||
filter.put(PAGSCA_ANNO, riga.get(PART_ANNO));
|
||||
filter.put(PAGSCA_NUMPART, riga.get(PART_NUMPART));
|
||||
pag.setregion(filter, filter);
|
||||
const int items = pag.items();
|
||||
|
||||
for (pag = 0L; pag.pos() < items; ++pag)
|
||||
{
|
||||
const TRectype & recpag = pag.curr();
|
||||
|
||||
if (rigapag == recpag.get_int(PAGSCA_NRIGP))
|
||||
{
|
||||
const int rigafatt = recpag.get_int(PAGSCA_NRIGA);
|
||||
|
||||
if (rigafatt >= 0 && !dumped[rigafatt])
|
||||
{
|
||||
dump_fatt(ini, *game, rigafatt);
|
||||
dumped.set(rigafatt);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool TPrimanota_application::link_cesp(const TMask& msk, const char* action)
|
||||
|
@ -164,6 +164,8 @@ protected: // TApplication
|
||||
virtual void on_firm_change();
|
||||
virtual void on_config_change();
|
||||
virtual void print();
|
||||
void dump_rec(TConfig & ini, const TRectype & rec, int row = 0);
|
||||
void dump_fatt(TConfig& ini, TPartita & game, int rigafatt);
|
||||
virtual void ini2mask(TConfig& ini, TMask& msk, bool query);
|
||||
virtual void mask2ini(const TMask& msk, TConfig& ini);
|
||||
virtual bool save(bool check_dirty);
|
||||
|
@ -26,7 +26,6 @@ class TTree_rectype : public TRectype
|
||||
{
|
||||
protected:
|
||||
TRecord_array _recarr;
|
||||
int fill_array();
|
||||
|
||||
protected: // TRectype
|
||||
virtual TObject* dup() const;
|
||||
@ -41,6 +40,7 @@ protected: // TRectype
|
||||
TRecord_array& rows_array() { return _recarr; }
|
||||
|
||||
public:
|
||||
int fill_array();
|
||||
const TRectype& row(int r) const { return _recarr.row(r); }
|
||||
TRectype& row(int r) { return _recarr.row(r, true); }
|
||||
TRectype& new_row(int r = 0);
|
||||
|
Loading…
x
Reference in New Issue
Block a user