diff --git a/ba/bacnv.cpp b/ba/bacnv.cpp index 84bcc35b2..f2a5c2d62 100755 --- a/ba/bacnv.cpp +++ b/ba/bacnv.cpp @@ -23,7 +23,7 @@ #include #include -#define usage "Errore - uso : bacnv [1|2|3|4|5|6|7|8|9] ditta" +#define usage "Errore - uso : bacnv [1|2|3|4|5|6|7|8|9|10] ditta" /////////////////////////////////////////////////////////////////////////////////////////////////////// // Applicazione di conversione archivi XBase, valida per tutti e 4 i tipi di DLL @@ -169,6 +169,8 @@ public: void rebuild_indexes(); void rebuild_dir_indexes(); void convert_codreg() const; + void convert_lia_pim() const; + void build_ver_table() const; TConversione_archivi() : _oldditta(0), _codditta(0), _error(0) {} }; @@ -267,6 +269,11 @@ bool TConversione_archivi::menu(MENU_TAG) case 9: if (_codditta == 0) convert_codreg(); + break; + case 10: + convert_lia_pim(); + if (_codditta == 0) + build_ver_table(); break; default: break; @@ -961,10 +968,70 @@ void TConversione_archivi::convert_codreg() const TSystemisamfile tabcom(LF_TABCOM); tabcom.load(format("%sstd/nreg00.txt", __ptprf)); - } + } } +void TConversione_archivi::convert_lia_pim() const +{ +// converte le Tokenstring contenute in S1 e S2 di PIM e %LIA, sostituendo | con ! + TString80 s1,s2; + if (_codditta == 0) + { + TProgind p(10, "Conversione tabella LIA", FALSE, FALSE, 10); + TTable lia("%LIA"); + for (lia.first(); lia.good(); lia.next()) + { + s1 = lia.get("S1"); + if (s1.not_empty()) + if (s1.replace('|','!') > 0) + { + lia.put("S1",s1); + lia.rewrite(); + } + } + } + else + { + TProgind p(10, "Conversione tabella PIM", FALSE, FALSE, 10); + TTable pim("PIM"); + for (pim.first(); pim.good(); pim.next()) + { + s1 = pim.get("S1"); + s2 = pim.get("S2"); + if (s1.not_empty() || s2.not_empty()) + if ((s1.replace('|','!')+s2.replace('|','!')) > 0) + { + pim.put("S1",s1); + pim.put("S2",s2); + pim.rewrite(); + } + } + } +} + +void TConversione_archivi::build_ver_table() const +// Costruisce la tabella %VER con i valori in vigore da Gennaio 1993 +{ + TProgind p(10, "Creazione tabella VER", FALSE, FALSE, 10); + TTable ver("%VER"); + + ver.zero(); + // Come chiave si l'inizio del periodo di validita' + ver.put("CODTAB","199301"); + // Percentuali interessi su versamento IVA per trimestri + // prima erano memorizzati in prassis.ini, nei parametri studio. + ver.put("R0","1.5"); ver.put("R1","1.5"); + ver.put("R2","1.5"); ver.put("R3","1.5"); ver.put("R4","1.5"); + // Importi limite versamenti. Prima erano defines all'interno + // del programma di liquidazione + ver.put("R5","50500"); ver.put("R7","200000"); + // Percentuale calcolo acconti Base anno precedente + ver.put("R11","88");ver.put("R12","88"); + + if (ver.write() != NOERR) ver.rewrite(); +} + /////////////////////////////////////////////////////////// // Programma di conversione archivi speciale /////////////////////////////////////////////////////////// @@ -973,7 +1040,7 @@ int main(int argc,char** argv) { const int r = (argc > 1) ? atoi(argv[1]) : 0; - if (r < 0 || r > 9) + if (r < 0 || r > 10) { error_box(usage); return 100;