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
This commit is contained in:
alex 2010-05-26 10:01:30 +00:00
parent c5eb4ca419
commit 6761fd473e

View File

@ -68,7 +68,7 @@ protected:
virtual void validate(TCursor& cur,TRecord_text &rec, TToken_string &val, TString& str); virtual void validate(TCursor& cur,TRecord_text &rec, TToken_string &val, TString& str);
public: 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); TInvio_file(const TString& file_name);
virtual ~TInvio_file() { } 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(); TString & codricl = get_tmp_string();
if (gr > 0&& co >0 && so > 0) if (gr > 0&& co >0 && so > 0)
{ {
if (!app().trcon()) if (!app().trcon())
codricl.format("%d",so); {
if (completo && t <= ' ')
codricl.format("%02d%03d", co, so);
else
codricl.format("%05d",so);
}
else else
{ {
TToken_string cod("ZUCONTI"); 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(); int mese = data.month();
valore.format("%ld", mese); valore.format("%ld", mese);
} }
else if (code == "_SEZIONE") else if (code.starts_with("_SEZIONE"))
{ {
const TRectype & rmov = cur.curr(LF_RMOV); const TRectype & rmov = cur.curr(LF_RMOV);
const char sezione = s.get()[0]; const char sezione = s.get()[0];
const char sezriga = rmov.get_char(RMV_SEZIONE); const char sezriga = rmov.get_char(RMV_SEZIONE);
const bool completo = code.starts_with("_SEZIONEC");
valore = str; valore = str;
if (sezione != sezriga) 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 int co = rmov.get_int(RMV_CONTO);
const long so = rmov.get_long(RMV_SOTTOCONTO); const long so = rmov.get_long(RMV_SOTTOCONTO);
const char t = rmov.get_char(RMV_TIPOC); 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") 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); const bool sospeso = cur.curr(LF_CLIFO).get_bool(CLI_SOSPESO);
valore = (sospeso == true) ? "S" : " "; valore = (sospeso == true) ? "S" : " ";
} }
else if (code == "_CONTO") else if (code.starts_with("_CONTO"))
{ {
const int ln = s.get_int(); const int ln = s.get_int();
const TRectype & rec = cur.curr(ln); const TRectype & rec = cur.curr(ln);
char t = ' '; char t = ' ';
const TString& tiponame = s.get(); const TString& tiponame = s.get();
const bool completo = code.starts_with("_CONTOC");
if (tiponame.full()) if (tiponame.full())
t = rec.get_char(tiponame); 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 int co = rec.get_int(CLI_CONTORIC);
const long so = rec.get_long(CLI_SOTTOCRIC); const long so = rec.get_long(CLI_SOTTOCRIC);
valore = bill2ricl(t, gr, co, so); valore = bill2ricl(t, gr, co, so, completo);
} }
else 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 int co = rec.get_int("CONTO");
const long so = rec.get_long("SOTTOCONTO"); 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 int co = rmov.get_int(RMV_CONTO);
const long so = rmov.get_long(RMV_SOTTOCONTO); 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); add_field(rec, fldcodcf, codcf);
} }
} }