From c0e5b2982399f0a9bb425eec1c3fe552bd128a64 Mon Sep 17 00:00:00 2001 From: luca Date: Thu, 6 Aug 2009 09:13:29 +0000 Subject: [PATCH] Patch level :10.0 410 Files correlati : Ricompilazione Demo : [ ] Commento : fatto funzionare il daconto aconto nella stampa bilancio analitico (stampa probabilmente usata 2 volte nella storia e solo da HK) git-svn-id: svn://10.65.10.50/trunk@19192 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ca/ca3300.cpp | 45 ++++++++++++++++++++++++++++++++++++--------- ca/ca3300.uml | 4 +--- 2 files changed, 37 insertions(+), 12 deletions(-) diff --git a/ca/ca3300.cpp b/ca/ca3300.cpp index 52204666c..d9541abda 100755 --- a/ca/ca3300.cpp +++ b/ca/ca3300.cpp @@ -500,6 +500,7 @@ class TRecordset_sezioni_contrapposte : public TRecordset TDate _da_data, _a_data; word _tipimov; bool _movimentati, _nonnulli; + TString _daconto, _aconto; TArray _attivita, _passivita, _costi, _ricavi; // Elenco di saldi contrapposti TRecnotype _pos; @@ -528,7 +529,8 @@ public: virtual const TVariant& get(const char* field) const; void set_filter(char piano, const char* costo, const char* commessa, const char* fase, - const TDate& dal, const TDate& al, word tipimov, bool movimentati, bool nonnulli); + const TDate& dal, const TDate& al, word tipimov, bool movimentati, bool nonnulli, + const TString& daconto, const TString& aconto); char tipo_piano() const { return _tipo_piano; } TRecordset_sezioni_contrapposte(char tipo_piano) : _tipo_piano(tipo_piano) { } }; @@ -550,10 +552,9 @@ bool TRecordset_sezioni_contrapposte::move_to(TRecnotype pos) return _pos < items(); } -void TRecordset_sezioni_contrapposte::set_filter(char piano, const char* costo, - const char* commessa, const char* fase, - const TDate& dal, const TDate& al, - word tipimov, bool movimentati, bool nonnulli) +void TRecordset_sezioni_contrapposte::set_filter(char piano, const char* costo, const char* commessa, const char* fase, + const TDate& dal, const TDate& al, word tipimov, bool movimentati, + bool nonnulli, const TString& daconto, const TString& aconto) { _tipo_piano = piano; @@ -561,13 +562,16 @@ void TRecordset_sezioni_contrapposte::set_filter(char piano, const char* costo, _a_data = al; _tipimov = tipimov; - _movimentati = false; // movimentati; - _nonnulli = false; // nonnulli; + _movimentati = movimentati; + _nonnulli = nonnulli; _filter.reset(); _filter.set_costo(costo); _filter.set_commessa(commessa); _filter.set_fase(fase); + + _daconto = daconto; + _aconto = aconto; } TArray& TRecordset_sezioni_contrapposte::conti(int indbil) @@ -685,7 +689,20 @@ void TRecordset_sezioni_contrapposte::requery() // Crea recordset del piano dei conti appropriato TString query = "USE PCON"; if (_tipo_piano == 'A') - query << "ANA"; + { + query << "ANA"; + if (_daconto.full()) + query << "\nFROM CODCONTO=" << _daconto; + if (_aconto.full()) + query << "\nTO CODCONTO=" << _aconto; + } + else //piano 'C' (cazzuto) + { + if (_daconto.full()) + query << "\nFROM GRUPPO=" << _daconto.left(3) << " CONTO=" << _daconto.mid(3,3) << " SOTTOCONTO=" << _daconto.mid(6,6); + if (_aconto.full()) + query << "\nTO GRUPPO=" << _aconto.left(3) << " CONTO=" << _aconto.mid(3,3) << " SOTTOCONTO=" << _aconto.mid(6,6); + } TISAM_recordset pconana(query); TProgind pi(pconana.items(), TR("Elaborazione conti"), true, true); @@ -931,8 +948,18 @@ void TReport_bilancio_sezioni_contrapposte::set_filter(const TMask& m, int row) const TString80 commessa = curr.get(RMOVANA_CODCMS); const TString16 fase = curr.get(RMOVANA_CODFASE); + //c'e' un range di conti da considerare? + const short dlg_da = tipo == 'C' ? F_PDC1_INI : F_PAN1_INI; + const short dlg_al = tipo == 'C' ? F_PDC1_FIN : F_PAN1_FIN; + TString daconto, aconto; + for (int i = 0; i < 4 && m.id2pos(dlg_da+i) > 0; i++) + { + daconto << m.get(dlg_da+i); + aconto << m.get(dlg_al+i); + } + TRecordset_sezioni_contrapposte* recset = new TRecordset_sezioni_contrapposte(tipo); - recset->set_filter(tipo, costo, commessa, fase, dal, al, tipimov, movimentati, nonnulli); + recset->set_filter(tipo, costo, commessa, fase, dal, al, tipimov, movimentati, nonnulli, daconto, aconto); TAnal_report::set_recordset(recset); }; diff --git a/ca/ca3300.uml b/ca/ca3300.uml index e3826b33a..c4ec7807c 100755 --- a/ca/ca3300.uml +++ b/ca/ca3300.uml @@ -73,9 +73,7 @@ RADIOBUTTON F_BILANCIO 1 28 BEGIN PROMPT 2 4 "@bBilancio" ITEM "C|A sezioni contrapposte" - MESSAGE CLEAR,4@|ENABLE,3@ ITEM "V|Di verifica" - MESSAGE ENABLE,4@|CLEAR,3@ END LIST F_TIPOSTAMPA 11 @@ -116,7 +114,7 @@ BEGIN ITEM "1|Movimentati" ITEM "2|Con saldo non nullo" ITEM "3|Tutti" - GROUP 4 + GROUP 4 END SPREADSHEET F_RIGHE -1 -1