diff --git a/tc/tc9300.cpp b/tc/tc9300.cpp index 6b42e30ba..f300c8ba0 100755 --- a/tc/tc9300.cpp +++ b/tc/tc9300.cpp @@ -769,6 +769,7 @@ protected: bool scod2rc(const TString& cod); const long cod2ricl(const char* tab, const TString& cod); const char* get_tipo_anag(const TRecordset& input) const; + const char* get_tipo_anag2(const TRecordset& input) const; public: TConfig& config() {return *_configfile;}; @@ -866,7 +867,7 @@ const char* TInvioSispac::get_tipo_anag(const TRecordset& input) const const char pi = input.get(CLI_PAIV).as_string()[0]; if (isalpha(cf)) - var = isdigit(pi) ? "D" : "F"; + var = isdigit(pi) ? "D" : "P"; else { if (isdigit(cf)) @@ -878,6 +879,13 @@ const char* TInvioSispac::get_tipo_anag(const TRecordset& input) const return var; } +const char* TInvioSispac::get_tipo_anag2(const TRecordset& input) const +{ + const char ta = *get_tipo_anag(input); + return ta == 'F' ? "2" : ""; +} + + void TInvioSispac::sispac_cli() { TClisisp_set recset; @@ -1034,11 +1042,11 @@ void TInvioSispac::sispac_reverse_movim(long numreg, TMovim_set & recset, long f continue; recset.new_rec(); var = cofi; - recset.set("COFI", var); + recset.set(CLI_COFI, var); var = paiv; - recset.set("PAIV", var); + recset.set(CLI_PAIV, var); var = ragsoc; - recset.set("RAGSOC", var); + recset.set(CLI_RAGSOC, var); var = esiva; recset.set("ESIVA", var); var = annoes; @@ -1110,26 +1118,15 @@ void TInvioSispac::sispac_reverse_movim(long numreg, TMovim_set & recset, long f var = importo.string(13, 0, '0'); recset.set("IMPORTO", var); const bool dare = input.get(RMV_SEZIONE).as_string() == "D"; - const char * s = dare ? "A" : "D"; - - recset.set("SGNCONTIMP", s); - const TDate datadoc(input.get(SLF_MOV "." MOV_DATADOC).as_date()); + var = dare ? "A" : "D"; + recset.set("SGNCONTIMP", var); + + const TDate datadoc(input.get(SLF_MOV "." MOV_DATADOC).as_date()); var = datadoc.string(brief, '\0', full, full, amg_date); recset.set("DATADOC", var); recset.set("NUMDOC", input.get(SLF_MOV "." MOV_NUMDOC).as_int()); - const long codcf = input.get(SLF_MOV "." MOV_CODCF).as_int(); - - var = ""; - if (codcf > 0L) - { - key = "C" ; key << "|" << codcf; - const TRectype & clifo = cache().get(LF_CLIFO, key); - const int cflen = clifo.get(CLI_COFI).len(); - - if (cflen > 11) - var = "2"; - } + var = get_tipo_anag2(recset); recset.set("TIPOANAG", var); recset.set("FINEREC", "\r\n"); } @@ -1165,11 +1162,11 @@ void TInvioSispac::sispac_reverse_giro(long numreg, TMovim_set & recset, long fi recset.new_rec(); var = cofi; - recset.set("COFI", var); + recset.set(CLI_COFI, var); var = paiv; - recset.set("PAIV", var); + recset.set(CLI_PAIV, var); var = ragsoc; - recset.set("RAGSOC", var); + recset.set(CLI_RAGSOC, var); var = esiva; recset.set("ESIVA", var); var = annoes; @@ -1253,20 +1250,10 @@ void TInvioSispac::sispac_reverse_giro(long numreg, TMovim_set & recset, long fi recset.set("DATADOC", var); recset.set("NUMDOC", input.get(SLF_MOV "." MOV_NUMDOC).as_int()); - const long codcf = input.get(SLF_MOV "." MOV_CODCF).as_int(); - - var = ""; - if (codcf > 0L) - { - key = "F" ; key << "|" << codcf; - const TRectype & clifo = cache().get(LF_CLIFO, key); - const int cflen = clifo.get(CLI_COFI).len(); - - if (cflen > 11) - var = "2"; - } + var = get_tipo_anag2(recset); recset.set("TIPOANAG", var); - recset.set("FINEREC", "\r\n"); + + recset.set("FINEREC", "\r\n"); } } @@ -1411,11 +1398,11 @@ void TInvioSispac::sispac_movim() } recset.new_rec(); var = cofi; - recset.set("COFI", var); + recset.set(CLI_COFI, var); var = paiv; - recset.set("PAIV", var); + recset.set(CLI_PAIV, var); var = ragsoc; - recset.set("RAGSOC", var); + recset.set(CLI_RAGSOC, var); var = esiva; recset.set("ESIVA", var); var = annoes; @@ -1523,19 +1510,7 @@ void TInvioSispac::sispac_movim() recset.set("DATADOC", var); recset.set("NUMDOC", input.get(SLF_MOV "." MOV_NUMDOC).as_int()); - const long codcf = input.get(SLF_MOV "." MOV_CODCF).as_int(); - - var = ""; - if (codcf > 0L) - { - key = tipomov == "A" ? "F" : "C" ; key << "|" << codcf; - const TRectype & clifo = cache().get(LF_CLIFO, key); - const int cflen = clifo.get(CLI_COFI).len(); - - if (cflen > 11) - var = "2"; - } - + var = get_tipo_anag2(recset); recset.set("TIPOANAG", var); recset.set("FINEREC", "\r\n");