diff --git a/cg/cg2100p.uml b/cg/cg2100p.uml index 7aaa57f49..a48945716 100755 --- a/cg/cg2100p.uml +++ b/cg/cg2100p.uml @@ -140,7 +140,7 @@ BEGIN ITEM "Descrizione@20" ITEM "Importo@16" ITEM "Importo Valuta@16" - ITEM "Num. op. " + ITEM "Num. op." ITEM "Data op.@10" ITEM "Num. doc." ITEM "Prot. IVA" @@ -239,7 +239,7 @@ BEGIN PROMPT 41 2 "Data documento " END -NUMBER 108 5 +NUMBER 108 7 BEGIN PROMPT 1 3 "Numero operaz. " END diff --git a/cg/cgsaldac.cpp b/cg/cgsaldac.cpp index 0c5036b8e..b4891015c 100755 --- a/cg/cgsaldac.cpp +++ b/cg/cgsaldac.cpp @@ -1077,6 +1077,23 @@ TImporto TRiga_partite::calcola_pagato_al(bool valuta,const TDate& al, const TDa return pagato; } +/////////////////////////////////////////////////////////// +// TRiga_partite_array +/////////////////////////////////////////////////////////// + +// Filtra le righe saldo per non creare array di 9999 elementi nulli! +int TRiga_partite_array::add_row(TRectype* row) +{ + if (row == NULL) + return -1; + if (row->get_int(PART_NRIGA) >= TPartita::UNASSIGNED) + { + delete row; + return -1; + } + return TRecord_array::add_row(row); +} + /////////////////////////////////////////////////////////// // TPartita /////////////////////////////////////////////////////////// @@ -1086,11 +1103,11 @@ char TPartita::_for_align = ' '; bool TPartita::_diffcam_always = false; TPartita::TPartita(const TBill& clifo, int anno, const char* num) - : _part(LF_PARTITE, PART_NRIGA), _unassigned(LF_PAGSCA, PAGSCA_NRIGP), _align(' ') + : _unassigned(LF_PAGSCA, PAGSCA_NRIGP), _align(' ') { read(clifo, anno, num); } TPartita::TPartita(const TRectype& r) - : _part(LF_PARTITE, PART_NRIGA), _unassigned(LF_PAGSCA, PAGSCA_NRIGP), _align(' ') + : _unassigned(LF_PAGSCA, PAGSCA_NRIGP), _align(' ') { TBill clifo; clifo.get(r); if (clifo.gruppo() == 0 && r.num() == LF_PARTITE) diff --git a/cg/cgsaldac.h b/cg/cgsaldac.h index 58be03d84..a2d41e456 100755 --- a/cg/cgsaldac.h +++ b/cg/cgsaldac.h @@ -212,13 +212,21 @@ public: class TPartite_array; +class TRiga_partite_array : public TRecord_array +{ +protected: + virtual int add_row(TRectype* row); // Filtra le righe saldo! +public: + TRiga_partite_array() : TRecord_array(LF_PARTITE, PART_NRIGA) {} +}; + class TPartita : public TSortable { TBill _conto; int _anno; TString16 _num; - TRecord_array _part; + TRiga_partite_array _part; TRecord_array _unassigned; char _align; // current _num alignment