From 6761fd473e1160189dbf12efd7a6e0e1d5d988c6 Mon Sep 17 00:00:00 2001 From: alex Date: Wed, 26 May 2010 10:01:30 +0000 Subject: [PATCH] Patch level : 10.0 750 Files correlati : tc1.exe Ricompilazione Demo : [ ] Commento Aggiunta le macro_CONTOC e _SEZIONEC per trasferire i conti di felice dania. In Zucchetti il sottoconto e' univoco e fatto di conto piu' sottoconto. La macro simula questo fatto visto che non e' stato codificato cosi' (il commercialista ha conto+ sottoconto) Questa macro non va usata per altri clienti, visto che se si vuole usare il pdc di zucchetti bisogna codificarlo conto piu' sottoconto, altrimenti si deve riclassificare. git-svn-id: svn://10.65.10.50/trunk@20502 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- tc/tc1100.cpp | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/tc/tc1100.cpp b/tc/tc1100.cpp index 76cc93986..b508667b4 100755 --- a/tc/tc1100.cpp +++ b/tc/tc1100.cpp @@ -68,7 +68,7 @@ protected: virtual void validate(TCursor& cur,TRecord_text &rec, TToken_string &val, TString& str); public: - const TString& bill2ricl(const char t, int gr, int co, long so); + const TString& bill2ricl(const char t, int gr, int co, long so, bool completo); TInvio_file(const TString& file_name); virtual ~TInvio_file() { } }; @@ -202,14 +202,19 @@ void TInvio::log(int sev, const char* msg) } -const TString& TInvio_file::bill2ricl(const char t, int gr, int co, long so) +const TString& TInvio_file::bill2ricl(const char t, int gr, int co, long so, bool completo) { TString & codricl = get_tmp_string(); if (gr > 0&& co >0 && so > 0) { if (!app().trcon()) - codricl.format("%d",so); + { + if (completo && t <= ' ') + codricl.format("%02d%03d", co, so); + else + codricl.format("%05d",so); + } else { TToken_string cod("ZUCONTI"); @@ -263,11 +268,12 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt int mese = data.month(); valore.format("%ld", mese); } - else if (code == "_SEZIONE") + else if (code.starts_with("_SEZIONE")) { const TRectype & rmov = cur.curr(LF_RMOV); const char sezione = s.get()[0]; const char sezriga = rmov.get_char(RMV_SEZIONE); + const bool completo = code.starts_with("_SEZIONEC"); valore = str; if (sezione != sezriga) @@ -278,7 +284,7 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt const int co = rmov.get_int(RMV_CONTO); const long so = rmov.get_long(RMV_SOTTOCONTO); const char t = rmov.get_char(RMV_TIPOC); - valore = bill2ricl(t, gr, co, so); + valore = bill2ricl(t, gr, co, so, completo); } } else if (code == "_CAUSALE") @@ -435,12 +441,13 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt const bool sospeso = cur.curr(LF_CLIFO).get_bool(CLI_SOSPESO); valore = (sospeso == true) ? "S" : " "; } - else if (code == "_CONTO") + else if (code.starts_with("_CONTO")) { const int ln = s.get_int(); const TRectype & rec = cur.curr(ln); char t = ' '; const TString& tiponame = s.get(); + const bool completo = code.starts_with("_CONTOC"); if (tiponame.full()) t = rec.get_char(tiponame); @@ -451,7 +458,7 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt const int co = rec.get_int(CLI_CONTORIC); const long so = rec.get_long(CLI_SOTTOCRIC); - valore = bill2ricl(t, gr, co, so); + valore = bill2ricl(t, gr, co, so, completo); } else { @@ -459,7 +466,7 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt const int co = rec.get_int("CONTO"); const long so = rec.get_long("SOTTOCONTO"); - valore = bill2ricl(t, gr, co, so); + valore = bill2ricl(t, gr, co, so, completo); } } @@ -515,7 +522,7 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt const int co = rmov.get_int(RMV_CONTO); const long so = rmov.get_long(RMV_SOTTOCONTO); - const TString codcf = bill2ricl(t, gr, co, so); + const TString codcf = bill2ricl(t, gr, co, so, false); add_field(rec, fldcodcf, codcf); } }