From 6f878ccd487a2508af3c5ce5fafcd01581c57995 Mon Sep 17 00:00:00 2001 From: guy Date: Thu, 5 Aug 2010 15:44:23 +0000 Subject: [PATCH] Patch level : Files correlati : Ricompilazione Demo : [ ] Commento : git-svn-id: svn://10.65.10.50/branches/R_10_00@20767 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- tc/tc1.cpp | 3 +-- tc/tc1100.cpp | 43 +++++++++++++++++++++++++++++-------------- tc/tczuiva.uml | 47 ++++++++++++++++++++++++++++++++++++----------- 3 files changed, 66 insertions(+), 27 deletions(-) diff --git a/tc/tc1.cpp b/tc/tc1.cpp index 544d3edc0..744ceb179 100755 --- a/tc/tc1.cpp +++ b/tc/tc1.cpp @@ -11,8 +11,7 @@ int main(int argc, char** argv) case 6: tc1700(argc,argv); break; // riclassificazione tabelle case 2: tc1300(argc,argv); break; // Configurazione Ditta case 1: tc1200(argc,argv); break; // Tabelle - case 0: tc1100(argc,argv); break; // trasferimento zucchetti - default: tc1100(argc,argv); break; + default: tc1100(argc,argv); break; // trasferimento zucchetti } exit(0); return 0; diff --git a/tc/tc1100.cpp b/tc/tc1100.cpp index c5deca78c..f15ec70aa 100755 --- a/tc/tc1100.cpp +++ b/tc/tc1100.cpp @@ -29,8 +29,9 @@ class TRiclassifica_cache : public TCache TLocalisamfile _multirel; protected: virtual TObject* key2obj(const char* key); + public: - const char * sdecode(const char* tab, const TString& cod); + const char* sdecode(const char* tab, const TString& cod); long decode(const char* tab, const TString& cod); TRiclassifica_cache() : _multirel(LF_MULTIREL) {} }; @@ -45,7 +46,7 @@ TObject* TRiclassifica_cache::key2obj(const char* key) _multirel.put(MULTI_FIRST, cod); int err = _multirel.read(_isgteq); if (err == NOERR && _multirel.get(MULTI_FIRST) == cod) - return new TString(_multirel.get(MULTI_DATA)); + return new TString16(_multirel.get(MULTI_DATA)); return NULL; } @@ -108,7 +109,7 @@ bool TInvio_mask::on_field_event(TOperable_field& o, TField_event e, long jolly) default: break; } - return TRUE; + return true; } class TInvio : public TSkeleton_application @@ -313,17 +314,29 @@ void TInvio_file::validate(TCursor& cur,TRecord_text &rec, TToken_string &s, TSt else if (code == "_IVA" || code == "_NORMA") { if (app().triva()) - valore = app().tabelle().sdecode("ZUIVA", str); - if (code == "_NORMA") - { - if (valore.blank()) - valore = str.mid(2); - else - valore = cache().get("&ZIV", str, "S7"); - } - else - if (valore.blank()) - valore = str.left(2); + { + // Il codice Campo 206 diventa il codice "20Z1" (codice+norma) oppure "20" (solo codice con eventuale norma associata) + valore = app().tabelle().sdecode("ZUIVA", str); + if (code == "_NORMA") + { + if (valore.len() > 2) // Se e' piu' lungo di 2 la norma Zucchetti sono gli ultimi due + valore.ltrim(2); + else // Altrimenti cerco la Norma fissata sulla tabella IVA Zucchetti + { + const TString& codziv = valore.full() ? valore.left(2) : str.left(2); + valore = cache().get("&ZIV", codziv, "S7"); + } + } + else + valore.cut(2); + } + if (valore.blank()) + { + if (code == "_IVA") + valore = str.left(2); + else + valore = str.mid(2); + } } else if (code == "_BANCA") { @@ -848,6 +861,8 @@ void TInvio::invio_zucchetti() _trasfile = new TInvio_file(filename); _trasfile->open(filename,'w'); _log = new TLog_report("Trasferimento Zucchetti"); + _log->kill_duplicates(); + _trcau = ini_get_bool(CONFIG_DITTA, "tc", "ZUTRCAU"); _triva = ini_get_bool(CONFIG_DITTA, "tc", "ZUTRIVA"); _trcon = ini_get_bool(CONFIG_DITTA, "tc", "ZUTRCON"); diff --git a/tc/tczuiva.uml b/tc/tczuiva.uml index 73dc1ecef..574a73fd4 100755 --- a/tc/tczuiva.uml +++ b/tc/tczuiva.uml @@ -8,7 +8,7 @@ PAGE "Codici IVA" 0 2 0 0 GROUPBOX DLG_NULL 78 3 BEGIN - PROMPT 1 1 "Codice IVA Campo" + PROMPT 1 1 "@bCodice IVA Campo" END LIST F_COD 5 @@ -29,11 +29,13 @@ BEGIN INPUT FIRST F_CODTAB DISPLAY "Codice" FIRST DISPLAY "Descrizione@60" %IVA->S0 - DISPLAY "Codice IVA Zucchetti" DATA + DISPLAY "Codice IVA\nZucchetti@10" DATA[1,2] + DISPLAY "Codice Norma\nZucchetti@10" DATA[3,4] OUTPUT F_CODTAB FIRST OUTPUT F_CODTAB1 FIRST OUTPUT F_DESC %IVA->S0 - OUTPUT F_COD_CORR DATA + OUTPUT F_COD_CORR DATA[1,2] + OUTPUT F_CODTAB11 DATA[3,4] CHECKTYPE REQUIRED FIELD FIRST VALIDATE ZEROFILL_FUNC 2 @@ -78,33 +80,56 @@ BEGIN GROUP 3 END +GROUPBOX DLG_NULL 78 4 +BEGIN + PROMPT 1 4 "@bCodice IVA Zucchetti" +END + STRING F_COD_CORR 2 BEGIN - PROMPT 2 4 "Codice IVA Zucchetti " - FIELD DATA + PROMPT 2 5 "Codice " + FIELD DATA[1,2] FLAGS "UZ" USE &ZIV INPUT CODTAB F_COD_CORR - DISPLAY "Cod." CODTAB + DISPLAY "Codice" CODTAB DISPLAY "Descrizione@50" S0 - DISPLAY "Codice Norma" S7 + DISPLAY "Norma" S7 OUTPUT F_COD_CORR CODTAB OUTPUT F_DESC_CORR S0 + OUTPUT F_CODTAB11 S7 VALIDATE FIXLEN_FUNC 2 CHECKTYPE REQUIRED END STRING F_DESC_CORR 50 BEGIN - PROMPT 2 25 "" - USE &ZIV + PROMPT 25 5 "" + USE &ZIV KEY 2 INPUT S0 F_DESC_CORR DISPLAY "Descrizione@50" S0 - DISPLAY "Cod." CODTAB - DISPLAY "Codice Norma" S7 + DISPLAY "Codice" CODTAB + DISPLAY "Norma" S7 COPY OUTPUT F_COD_CORR END +STRING F_CODTAB11 2 +BEGIN + PROMPT 50 6 "Norma " + FLAGS "HG" + MESSAGE EMPTY ENABLE,F_COD_CORR1 + MESSAGE DISABLE,F_COD_CORR1|COPY,F_COD_CORR1 +END + +STRING F_COD_CORR1 2 +BEGIN + PROMPT 2 6 "Norma " + FIELD DATA[3,4] + FLAGS "UZ" + VALIDATE FIXLEN_FUNC 2 + CHECKTYPE REQUIRED +END + ENDPAGE ENDMASK