diff --git a/cg/Attic/cg1400.cpp b/cg/Attic/cg1400.cpp index 906e626b4..2bf5dfce5 100755 --- a/cg/Attic/cg1400.cpp +++ b/cg/Attic/cg1400.cpp @@ -21,7 +21,9 @@ class TStampa_deleghe_IVA : public TApplication int _mese, _anno, _tipo; TString16 _azienda, _dipendenza; TFilename _profilo; - bool _stampa_distinte, _aggiorna_codici, _stampa_prova; + bool _stampa_distinte, _aggiorna_codici, _definitiva; + + bool test_comrf(TLocalisamfile& anag, TLocalisamfile& com); protected: virtual bool create(); @@ -44,12 +46,12 @@ bool TStampa_deleghe_IVA::create() _nditte = new TRelation(LF_NDITTE); _nditte->add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR"); - _nditte->add(LF_COMUNI, "STATO=STATORF|COM=COMRF", 1, LF_ANAG); + _nditte->add(LF_COMUNI, "COM=COMRF", 1, LF_ANAG); _banche = new TTable("%BAN"); _ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare", - "@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipendenza|Concessione"); + "@1|Cod.@5|Ragione Sociale@50|Importo@15|ABI@5|CAB@5|Concessione"); TConfig c(CONFIG_STUDIO, "cg"); _azienda = c.get("CodABI"); @@ -70,15 +72,54 @@ bool TStampa_deleghe_IVA::destroy() } +HIDDEN bool abi_handler(TMask_field& f, KEY k) +{ + if (k == K_TAB) + { + TMask& m = f.mask(); + if (!m.get_bool(F_CONTOFIS)) + m.set(F_PROFILO, f.get()); + } + return TRUE; +} + + +HIDDEN bool profile_handler(TMask_field& f, KEY k) +{ + if (f.to_check(k)) + { + TFilename p; + p << "del" << f.get() << ".frm"; + if (!fexist(p)) + error_box("Non esiste il file di profilo %s", (const char*)p); + } + return TRUE; +} + +// Posiziona correttamente il comune di residenza fiscale se non specificato +// in anagrafica in quanto uguale a quello di residenza +bool TStampa_deleghe_IVA::test_comrf(TLocalisamfile& anag, TLocalisamfile& com) +{ + if (anag.get("COMRF").empty()) + { + com.zero("STATO"); + com.put("COM", anag.get("COMRES")); + if (com.read() != NOERR) + com.zero(); + } + return com.good(); +} + int TStampa_deleghe_IVA::select() { TMask m("cg1400a"); - TConfig c(CONFIG_STUDIO, "cg"); + m.set_handler(F_ABI, abi_handler); + m.set_handler(F_PROFILO, profile_handler); + m.set(F_ABI, _azienda); m.set(F_CAB, _dipendenza); if (m.run() != K_ENTER) return 0; - _azienda = m.get(F_ABI); _dipendenza = m.get(F_CAB); @@ -86,17 +127,16 @@ int TStampa_deleghe_IVA::select() _anno = m.get_int(F_ANNO); _tipo = m.get_int(F_TIPO); - _stampa_prova = !m.get_bool(F_DEFINITIVA); + _definitiva = m.get_bool(F_DEFINITIVA); _stampa_distinte = m.get_bool(F_DISTINTA); _aggiorna_codici = m.get_bool(F_AGGIORNA); + _profilo = "del"; if (m.get_bool(F_CONTOFIS)) _profilo = m.get(F_PROFILO); else - { - _profilo = "del"; _profilo << _azienda; - } + const TDate pd(m.get(F_DATA)); printer().setdate(pd); @@ -112,42 +152,48 @@ int TStampa_deleghe_IVA::select() _ditte->destroy(); for (_nditte->first(); _nditte->good(); _nditte->next()) { - const int co = _nditte->lfile(LF_COMUNI).get_int("UFFCONC"); - if (concessione != 0 && concessione != co) continue; + TLocalisamfile& anag = _nditte->lfile(LF_ANAG); + TLocalisamfile& com = _nditte->lfile(LF_COMUNI); // Comune residenza fiscale + test_comrf(anag, com); + + const int con = com.get_int("UFFCONC"); + if (concessione != 0 && concessione != con) continue; const long dit = _nditte->lfile().get_long("CODDITTA"); chiave.format("%05ld%04d%02d%d", dit, _anno, _mese, _tipo); deleghe.put("CODTAB", chiave); if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare { - const long az = deleghe.get_long("I0"); - const long di = deleghe.get_long("I1"); - if ((soloabi == 0 || soloabi == az) && (solocab == 0 || solocab == di)) + const long abi = deleghe.get_long("S7"); + const long cab = deleghe.get_long("S8"); + if ((soloabi == 0 || soloabi == abi) && (solocab == 0 || solocab == cab)) { d = " "; // Selezione d.add(dit); // Codice ditta d.add(_nditte->lfile().get("RAGSOC")); // Ragione sociale d.add(deleghe.get_real("R0").string(".")); // Importo - d.add(format("%05ld", az)); // Azienda - d.add(format("%05ld", di)); // Dipendenza - d.add(format("%03d", co)); // Concessione + d.add(abi ? format("%05ld", abi) : ""); // Azienda + d.add(cab ? format("%05ld", cab) : ""); // Dipendenza + d.add(con ? format("%03d", con) : ""); // Concessione _ditte->add(d); } } } - + + int res = 1; if (_ditte->items() > 0) { - const bool ok = _ditte->run() == K_ENTER; - enable_menu_item(M_FILE_PRINT, ok); + const bool ok = _ditte->run() == K_ENTER && _ditte->one_checked(); + if (!ok) res = 2; } else { warning_box("Nessuna ditta ha deleghe da stampare"); - disable_menu_item(M_FILE_PRINT); - return 2; + res = 2; } - return 1; + + enable_menu_item(M_FILE_PRINT, res == 1); + return res; } bool TStampa_deleghe_IVA::menu(MENU_TAG mt) @@ -189,8 +235,8 @@ void TStampa_deleghe_IVA::print_distinta() if (atol(_azienda)) row.put(_banche->get("S0"), 0); - row.put("DISTINTA DELEGHE DI VERSAMENTO", 60); - row.put("Data @>", 110); + row.put("@bDISTINTA DELEGHE DI VERSAMENTO", TAB_SEDE); + row.put("Data @>", 106); row.put("Pag.@#", 124); printer().setheaderline(0, row); @@ -206,10 +252,10 @@ void TStampa_deleghe_IVA::print_distinta() case 7: t << "acconti IVA : "; break; default: - t << "periodica : " << _mese << '-'; break; + t << "periodica : " << itom(_mese) << ' '; break; } t << _anno; - row.put(t, 60); + row.put(t, TAB_SEDE); printer().setheaderline(1, row); t.fill('-', 130); @@ -227,27 +273,28 @@ void TStampa_deleghe_IVA::print_distinta() real totale; + TLocalisamfile& com = _nditte->lfile(LF_COMUNI); + for (int i = 0; i < _ditte->items(); i++) if (_ditte->checked(i)) - { - const TString16 cod(_ditte->row(i).get(1)); + { + TToken_string& riga = _ditte->row(i); + const TString16 cod(riga.get(1)); _nditte->lfile().put("CODDITTA", cod); - _nditte->read(); + _nditte->read(); + test_comrf(_nditte->lfile(LF_ANAG), com); - TParagraph_string dencom(_nditte->lfile(LF_COMUNI).get("DENCOM"), 18); + TParagraph_string dencom(com.get("DENCOM"), 18); row.reset(); row.put(_nditte->lfile().get("RAGSOC"), TAB_DITTA); row.put(dencom.get(), TAB_SEDE); - row.put(_nditte->lfile(LF_COMUNI).get("PROVCOM"), TAB_PROV); + row.put(com.get("PROVCOM"), TAB_PROV); - TString imp(_ditte->row(i).get(3)); - row.put(imp, TAB_IMPORTO); + const real imp(real::ita2eng(riga.get(3))); + row.put(imp.string("###.###.###.###"), TAB_IMPORTO); printer().print(row); - - imp.strip("."); - real importo(imp); - totale += importo; + totale += imp; const char* r; while ((r = dencom.get()) != NULL) @@ -260,7 +307,7 @@ void TStampa_deleghe_IVA::print_distinta() row.reset(); printer().print(row); - row.put("@BTotale versamenti :", TAB_SEDE); + row.put("@bTotale versamenti :", TAB_SEDE); row.put(totale.string("###.###.###.###"), TAB_IMPORTO); printer().print(row); @@ -274,33 +321,39 @@ bool TStampa_deleghe_IVA::print_deleghe() TForm f(_profilo); + TCursor& cur = *f.cursor(); + TLocalisamfile& delega = cur.file(); + TLocalisamfile& anag = cur.file(LF_ANAG); + TLocalisamfile& com = cur.file(-12); // Comune residenza fiscale + TString16 chiave; + for (int i = 0; ok && i < _ditte->items(); i++) if (_ditte->checked(i)) { - const TString16 d(_ditte->row(i).get(1)); - - TRectype& delega = f.cursor()->curr(); - - TString16 chiave; - chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo); + const long d = _ditte->row(i).get_long(1); + chiave.format("%05ld%04d%02d%d", d, _anno, _mese, _tipo); delega.put("CODTAB", chiave); - f.cursor()->file().read(); - const bool cera = atoi(delega.get("S7")) != 0; + cur.read(); // Posiziona il cursore + const bool cera = delega.get_int("S7") != 0; if (!cera) { delega.put("S7", _azienda); delega.put("S8", _dipendenza); - f.cursor()->file().rewrite(); + delega.rewrite(); + cur.repos(); // Riposiziona il cursore } - f.cursor()->read(); // Posiziona il cursore + + if (!test_comrf(anag, com)) + warning_box("Manca il comune di residenza fiscale di %s", + (const char*)anag.get("RAGSOC")); ok = f.print(-1); // Stampa solo il record corrente if (!ok) break; bool scrivi = _aggiorna_codici && !cera; - if (!_stampa_prova) + if (_definitiva) { delega.put("B0", "X"); // Stampato scrivi = TRUE; @@ -312,7 +365,7 @@ bool TStampa_deleghe_IVA::print_deleghe() scrivi = TRUE; } if (scrivi) - f.cursor()->file().rewrite(); + delega.rewrite(); } printer().close(); diff --git a/cg/Attic/cg1400a.uml b/cg/Attic/cg1400a.uml index 270847f39..fd17dbddc 100755 --- a/cg/Attic/cg1400a.uml +++ b/cg/Attic/cg1400a.uml @@ -8,67 +8,67 @@ BEGIN END NUMBER F_CONCESSIONE 3 -BEGIN - PROMPT 2 2 "Concessione " - HELP "Codice concessione cui fanno capo le ditte da gestire" - USE %UCC - FLAGS "Z" - INPUT CODTAB F_CONCESSIONE - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@30" S0 - OUTPUT F_CONCESSIONE CODTAB - OUTPUT F_DESC_CONC S0 - CHECKTYPE NORMAL +BEGIN + PROMPT 2 2 "Concessione " + HELP "Codice concessione in cui hanno residenza fiscale le ditte da gestire" + USE %UCC + FLAGS "Z" + INPUT CODTAB F_CONCESSIONE + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@30" S0 + OUTPUT F_CONCESSIONE CODTAB + OUTPUT F_DESC_CONC S0 + CHECKTYPE NORMAL END STRING F_DESC_CONC 30 BEGIN - PROMPT 24 2 "Descrizione " - USE %UCC KEY 2 - INPUT S0 F_DESC_CONC - DISPLAY "Descrizione@30" S0 - DISPLAY "Codice" CODTAB - COPY OUTPUT F_CONCESSIONE - CHECKTYPE NORMAL + PROMPT 24 2 "Descrizione " + USE %UCC KEY 2 + INPUT S0 F_DESC_CONC + DISPLAY "Descrizione@30" S0 + DISPLAY "Codice" CODTAB + COPY OUTPUT F_CONCESSIONE + CHECKTYPE NORMAL END NUMBER F_SOLO_ABI 5 BEGIN - PROMPT 2 3 "Codice ABI " + PROMPT 2 3 "Codice ABI " HELP "Codice ABI della banca delle deleghe da stampare" - FLAGS "Z" - USE %BAN - INPUT CODTAB[1,5] F_SOLO_ABI - INPUT CODTAB[6,10] F_SOLO_CAB - DISPLAY "Azienda" CODTAB[1,5] - DISPLAY "Dipendenza" CODTAB[6,10] - DISPLAY "Denominazione@50" S0 - OUTPUT F_SOLO_ABI CODTAB[1,5] - OUTPUT F_SOLO_CAB CODTAB[6,10] - OUTPUT F_DESC_SOLO_BAN S0 - CHECKTYPE NORMAL + FLAGS "Z" + USE %BAN + INPUT CODTAB[1,5] F_SOLO_ABI + INPUT CODTAB[6,10] F_SOLO_CAB + DISPLAY "Azienda" CODTAB[1,5] + DISPLAY "Dipendenza" CODTAB[6,10] + DISPLAY "Denominazione@50" S0 + OUTPUT F_SOLO_ABI CODTAB[1,5] + OUTPUT F_SOLO_CAB CODTAB[6,10] + OUTPUT F_DESC_SOLO_BAN S0 + CHECKTYPE NORMAL END NUMBER F_SOLO_CAB 5 BEGIN - PROMPT 50 3 "Codice CAB " + PROMPT 50 3 "Codice CAB " HELP "Codice CAB della banca delle deleghe da stampare" - FLAGS "Z" - COPY ALL F_SOLO_ABI - CHECKTYPE NORMAL + FLAGS "Z" + COPY ALL F_SOLO_ABI + CHECKTYPE NORMAL END STRING F_DESC_SOLO_BAN 50 BEGIN - PROMPT 2 4 "Denominazione " - USE %BAN KEY 2 - INPUT S0 F_DESC_SOLO_BAN - DISPLAY "Denominazione@50" S0 - DISPLAY "Azienda" CODTAB[1,5] - DISPLAY "Dipendenza" CODTAB[6,10] - COPY OUTPUT F_SOLO_ABI - CHECKTYPE NORMAL + PROMPT 2 4 "Denominazione " + USE %BAN KEY 2 + INPUT S0 F_DESC_SOLO_BAN + DISPLAY "Denominazione@50" S0 + DISPLAY "Azienda" CODTAB[1,5] + DISPLAY "Dipendenza" CODTAB[6,10] + COPY OUTPUT F_SOLO_ABI + CHECKTYPE NORMAL END GROUPBOX DLG_NULL 70 4 @@ -78,109 +78,109 @@ END NUMBER F_ABI 5 BEGIN - PROMPT 2 7 "Codice ABI " + PROMPT 2 7 "Codice ABI " HELP "Codice ABI della banca per la presentazione della delega" - FLAGS "Z" - COPY USE F_SOLO_ABI - INPUT CODTAB[1,5] F_ABI - INPUT CODTAB[6,10] F_CAB - COPY DISPLAY F_SOLO_ABI - OUTPUT F_ABI CODTAB[1,5] - OUTPUT F_CAB CODTAB[6,10] - OUTPUT F_DESC_BAN S0 - CHECKTYPE NORMAL + FLAGS "Z" + USE %BAN SELECT CODTAB[6,10]?="?????" + INPUT CODTAB[1,5] F_ABI + INPUT CODTAB[6,10] F_CAB + COPY DISPLAY F_SOLO_ABI + OUTPUT F_ABI CODTAB[1,5] + OUTPUT F_CAB CODTAB[6,10] + OUTPUT F_DESC_BAN S0 + CHECKTYPE NORMAL END NUMBER F_CAB 5 BEGIN - PROMPT 50 7 "Codice CAB " + PROMPT 50 7 "Codice CAB " HELP "Codice CAB della banca per la presentazione della delega" - FLAGS "Z" - COPY ALL F_ABI - CHECKTYPE NORMAL + FLAGS "Z" + COPY ALL F_ABI + CHECKTYPE NORMAL + WARNING "E' richiesto un codice CAB valido" END STRING F_DESC_BAN 50 BEGIN - PROMPT 2 8 "Denominazione " - COPY USE F_DESC_SOLO_BAN - INPUT S0 F_DESC_BAN - COPY DISPLAY F_DESC_SOLO_BAN - COPY OUTPUT F_ABI - CHECKTYPE NORMAL + PROMPT 2 8 "Denominazione " + USE %BAN KEY 2 SELECT CODTAB[6,10]?="?????" + INPUT S0 F_DESC_BAN + COPY DISPLAY F_DESC_SOLO_BAN + COPY OUTPUT F_ABI + CHECKTYPE NORMAL END NUMBER F_ANNO 4 BEGIN - PROMPT 2 10 "Anno " + PROMPT 2 10 "Anno " HELP "Anno di cui si vogliono stampare le deleghe" - FLAGS "A" + FLAGS "A" END LIST F_MESE 2 11 BEGIN - PROMPT 18 10 "Mese " + PROMPT 18 10 "Mese " HELP "Mese di cui si vogliono stampare le deleghe" - FLAGS "AM" - ITEM "13|Annuale" MESSAGE "2",F_TIPO + FLAGS "AM" + ITEM "13|Annuale" MESSAGE "2",F_TIPO END LIST F_TIPO 1 24 BEGIN - PROMPT 2 11 "Tipo " + PROMPT 2 11 "Tipo " HELP "Tipo di delega da stampare" - ITEM "1|Periodica" MESSAGE ENABLE,F_MESE - ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE - ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE + ITEM "1|Periodica" MESSAGE ENABLE,F_MESE + ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE + ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE END DATA F_DATA BEGIN - PROMPT 2 12 "Data " + PROMPT 2 12 "Data " HELP "Data da stampare sulle deleghe" - FLAGS "A" -END + FLAGS "A" +END -NUMBER F_PROFILO 5 +STRING F_PROFILO 5 BEGIN - PROMPT 2 13 "Profilo " - CHECKTYPE REQUIRED + PROMPT 2 13 "Profilo " + VALIDATE ZEROFILL_FUNC 5 + CHECKTYPE REQUIRED END BOOLEAN F_AGGIORNA BEGIN - PROMPT 43 10 "Aggiorna codici banca" - HELP "Scrive i codici banca sulle deleghe che non li riportano" + PROMPT 43 10 "Aggiorna codici banca" + HELP "Scrive i codici banca sulle deleghe che non li riportano" END BOOLEAN F_DISTINTA BEGIN - PROMPT 43 11 "Stampa distinta deleghe" - HELP "Stampa un riepilogo su carta normale delle deleghe stampate" + PROMPT 43 11 "Stampa distinta deleghe" + HELP "Stampa un riepilogo su carta normale delle deleghe stampate" END BOOLEAN F_DEFINITIVA BEGIN - PROMPT 43 12 "Stampa definitiva" + PROMPT 43 12 "Stampa definitiva" END BOOLEAN F_CONTOFIS BEGIN - PROMPT 43 13 "Titolari Conto fiscale" - MESSAGE FALSE CLEAR,F_PROFILO - MESSAGE TRUE ENABLE,F_PROFILO + PROMPT 43 13 "Titolari Conto fiscale" END BUTTON DLG_SELECT 9 2 BEGIN - PROMPT -12 -1 "Selezione" - HELP "Selezione delle ditte di cui stampare le deleghe" - MESSAGE EXIT,K_ENTER + PROMPT -12 -1 "Selezione" + HELP "Selezione delle ditte di cui stampare le deleghe" + MESSAGE EXIT,K_ENTER END BUTTON DLG_QUIT 9 2 BEGIN - PROMPT -22 -1 "" + PROMPT -22 -1 "" END ENDPAGE diff --git a/cg/cg1400.cpp b/cg/cg1400.cpp index 906e626b4..2bf5dfce5 100755 --- a/cg/cg1400.cpp +++ b/cg/cg1400.cpp @@ -21,7 +21,9 @@ class TStampa_deleghe_IVA : public TApplication int _mese, _anno, _tipo; TString16 _azienda, _dipendenza; TFilename _profilo; - bool _stampa_distinte, _aggiorna_codici, _stampa_prova; + bool _stampa_distinte, _aggiorna_codici, _definitiva; + + bool test_comrf(TLocalisamfile& anag, TLocalisamfile& com); protected: virtual bool create(); @@ -44,12 +46,12 @@ bool TStampa_deleghe_IVA::create() _nditte = new TRelation(LF_NDITTE); _nditte->add(LF_ANAG, "TIPOA=TIPOA|CODANAGR=CODANAGR"); - _nditte->add(LF_COMUNI, "STATO=STATORF|COM=COMRF", 1, LF_ANAG); + _nditte->add(LF_COMUNI, "COM=COMRF", 1, LF_ANAG); _banche = new TTable("%BAN"); _ditte = new TArray_sheet(-1, -1, 0, 0, "Selezione Deleghe da stampare", - "@1|Cod.@5|Ragione Sociale@50|Importo@15|Azienda|Dipendenza|Concessione"); + "@1|Cod.@5|Ragione Sociale@50|Importo@15|ABI@5|CAB@5|Concessione"); TConfig c(CONFIG_STUDIO, "cg"); _azienda = c.get("CodABI"); @@ -70,15 +72,54 @@ bool TStampa_deleghe_IVA::destroy() } +HIDDEN bool abi_handler(TMask_field& f, KEY k) +{ + if (k == K_TAB) + { + TMask& m = f.mask(); + if (!m.get_bool(F_CONTOFIS)) + m.set(F_PROFILO, f.get()); + } + return TRUE; +} + + +HIDDEN bool profile_handler(TMask_field& f, KEY k) +{ + if (f.to_check(k)) + { + TFilename p; + p << "del" << f.get() << ".frm"; + if (!fexist(p)) + error_box("Non esiste il file di profilo %s", (const char*)p); + } + return TRUE; +} + +// Posiziona correttamente il comune di residenza fiscale se non specificato +// in anagrafica in quanto uguale a quello di residenza +bool TStampa_deleghe_IVA::test_comrf(TLocalisamfile& anag, TLocalisamfile& com) +{ + if (anag.get("COMRF").empty()) + { + com.zero("STATO"); + com.put("COM", anag.get("COMRES")); + if (com.read() != NOERR) + com.zero(); + } + return com.good(); +} + int TStampa_deleghe_IVA::select() { TMask m("cg1400a"); - TConfig c(CONFIG_STUDIO, "cg"); + m.set_handler(F_ABI, abi_handler); + m.set_handler(F_PROFILO, profile_handler); + m.set(F_ABI, _azienda); m.set(F_CAB, _dipendenza); if (m.run() != K_ENTER) return 0; - _azienda = m.get(F_ABI); _dipendenza = m.get(F_CAB); @@ -86,17 +127,16 @@ int TStampa_deleghe_IVA::select() _anno = m.get_int(F_ANNO); _tipo = m.get_int(F_TIPO); - _stampa_prova = !m.get_bool(F_DEFINITIVA); + _definitiva = m.get_bool(F_DEFINITIVA); _stampa_distinte = m.get_bool(F_DISTINTA); _aggiorna_codici = m.get_bool(F_AGGIORNA); + _profilo = "del"; if (m.get_bool(F_CONTOFIS)) _profilo = m.get(F_PROFILO); else - { - _profilo = "del"; _profilo << _azienda; - } + const TDate pd(m.get(F_DATA)); printer().setdate(pd); @@ -112,42 +152,48 @@ int TStampa_deleghe_IVA::select() _ditte->destroy(); for (_nditte->first(); _nditte->good(); _nditte->next()) { - const int co = _nditte->lfile(LF_COMUNI).get_int("UFFCONC"); - if (concessione != 0 && concessione != co) continue; + TLocalisamfile& anag = _nditte->lfile(LF_ANAG); + TLocalisamfile& com = _nditte->lfile(LF_COMUNI); // Comune residenza fiscale + test_comrf(anag, com); + + const int con = com.get_int("UFFCONC"); + if (concessione != 0 && concessione != con) continue; const long dit = _nditte->lfile().get_long("CODDITTA"); chiave.format("%05ld%04d%02d%d", dit, _anno, _mese, _tipo); deleghe.put("CODTAB", chiave); if (deleghe.read() == NOERR && deleghe.get_bool("B0") == FALSE) // Da stampare { - const long az = deleghe.get_long("I0"); - const long di = deleghe.get_long("I1"); - if ((soloabi == 0 || soloabi == az) && (solocab == 0 || solocab == di)) + const long abi = deleghe.get_long("S7"); + const long cab = deleghe.get_long("S8"); + if ((soloabi == 0 || soloabi == abi) && (solocab == 0 || solocab == cab)) { d = " "; // Selezione d.add(dit); // Codice ditta d.add(_nditte->lfile().get("RAGSOC")); // Ragione sociale d.add(deleghe.get_real("R0").string(".")); // Importo - d.add(format("%05ld", az)); // Azienda - d.add(format("%05ld", di)); // Dipendenza - d.add(format("%03d", co)); // Concessione + d.add(abi ? format("%05ld", abi) : ""); // Azienda + d.add(cab ? format("%05ld", cab) : ""); // Dipendenza + d.add(con ? format("%03d", con) : ""); // Concessione _ditte->add(d); } } } - + + int res = 1; if (_ditte->items() > 0) { - const bool ok = _ditte->run() == K_ENTER; - enable_menu_item(M_FILE_PRINT, ok); + const bool ok = _ditte->run() == K_ENTER && _ditte->one_checked(); + if (!ok) res = 2; } else { warning_box("Nessuna ditta ha deleghe da stampare"); - disable_menu_item(M_FILE_PRINT); - return 2; + res = 2; } - return 1; + + enable_menu_item(M_FILE_PRINT, res == 1); + return res; } bool TStampa_deleghe_IVA::menu(MENU_TAG mt) @@ -189,8 +235,8 @@ void TStampa_deleghe_IVA::print_distinta() if (atol(_azienda)) row.put(_banche->get("S0"), 0); - row.put("DISTINTA DELEGHE DI VERSAMENTO", 60); - row.put("Data @>", 110); + row.put("@bDISTINTA DELEGHE DI VERSAMENTO", TAB_SEDE); + row.put("Data @>", 106); row.put("Pag.@#", 124); printer().setheaderline(0, row); @@ -206,10 +252,10 @@ void TStampa_deleghe_IVA::print_distinta() case 7: t << "acconti IVA : "; break; default: - t << "periodica : " << _mese << '-'; break; + t << "periodica : " << itom(_mese) << ' '; break; } t << _anno; - row.put(t, 60); + row.put(t, TAB_SEDE); printer().setheaderline(1, row); t.fill('-', 130); @@ -227,27 +273,28 @@ void TStampa_deleghe_IVA::print_distinta() real totale; + TLocalisamfile& com = _nditte->lfile(LF_COMUNI); + for (int i = 0; i < _ditte->items(); i++) if (_ditte->checked(i)) - { - const TString16 cod(_ditte->row(i).get(1)); + { + TToken_string& riga = _ditte->row(i); + const TString16 cod(riga.get(1)); _nditte->lfile().put("CODDITTA", cod); - _nditte->read(); + _nditte->read(); + test_comrf(_nditte->lfile(LF_ANAG), com); - TParagraph_string dencom(_nditte->lfile(LF_COMUNI).get("DENCOM"), 18); + TParagraph_string dencom(com.get("DENCOM"), 18); row.reset(); row.put(_nditte->lfile().get("RAGSOC"), TAB_DITTA); row.put(dencom.get(), TAB_SEDE); - row.put(_nditte->lfile(LF_COMUNI).get("PROVCOM"), TAB_PROV); + row.put(com.get("PROVCOM"), TAB_PROV); - TString imp(_ditte->row(i).get(3)); - row.put(imp, TAB_IMPORTO); + const real imp(real::ita2eng(riga.get(3))); + row.put(imp.string("###.###.###.###"), TAB_IMPORTO); printer().print(row); - - imp.strip("."); - real importo(imp); - totale += importo; + totale += imp; const char* r; while ((r = dencom.get()) != NULL) @@ -260,7 +307,7 @@ void TStampa_deleghe_IVA::print_distinta() row.reset(); printer().print(row); - row.put("@BTotale versamenti :", TAB_SEDE); + row.put("@bTotale versamenti :", TAB_SEDE); row.put(totale.string("###.###.###.###"), TAB_IMPORTO); printer().print(row); @@ -274,33 +321,39 @@ bool TStampa_deleghe_IVA::print_deleghe() TForm f(_profilo); + TCursor& cur = *f.cursor(); + TLocalisamfile& delega = cur.file(); + TLocalisamfile& anag = cur.file(LF_ANAG); + TLocalisamfile& com = cur.file(-12); // Comune residenza fiscale + TString16 chiave; + for (int i = 0; ok && i < _ditte->items(); i++) if (_ditte->checked(i)) { - const TString16 d(_ditte->row(i).get(1)); - - TRectype& delega = f.cursor()->curr(); - - TString16 chiave; - chiave = d; chiave << format("%04d%02d%d", _anno, _mese, _tipo); + const long d = _ditte->row(i).get_long(1); + chiave.format("%05ld%04d%02d%d", d, _anno, _mese, _tipo); delega.put("CODTAB", chiave); - f.cursor()->file().read(); - const bool cera = atoi(delega.get("S7")) != 0; + cur.read(); // Posiziona il cursore + const bool cera = delega.get_int("S7") != 0; if (!cera) { delega.put("S7", _azienda); delega.put("S8", _dipendenza); - f.cursor()->file().rewrite(); + delega.rewrite(); + cur.repos(); // Riposiziona il cursore } - f.cursor()->read(); // Posiziona il cursore + + if (!test_comrf(anag, com)) + warning_box("Manca il comune di residenza fiscale di %s", + (const char*)anag.get("RAGSOC")); ok = f.print(-1); // Stampa solo il record corrente if (!ok) break; bool scrivi = _aggiorna_codici && !cera; - if (!_stampa_prova) + if (_definitiva) { delega.put("B0", "X"); // Stampato scrivi = TRUE; @@ -312,7 +365,7 @@ bool TStampa_deleghe_IVA::print_deleghe() scrivi = TRUE; } if (scrivi) - f.cursor()->file().rewrite(); + delega.rewrite(); } printer().close(); diff --git a/cg/cg1400a.uml b/cg/cg1400a.uml index 270847f39..fd17dbddc 100755 --- a/cg/cg1400a.uml +++ b/cg/cg1400a.uml @@ -8,67 +8,67 @@ BEGIN END NUMBER F_CONCESSIONE 3 -BEGIN - PROMPT 2 2 "Concessione " - HELP "Codice concessione cui fanno capo le ditte da gestire" - USE %UCC - FLAGS "Z" - INPUT CODTAB F_CONCESSIONE - DISPLAY "Codice" CODTAB - DISPLAY "Descrizione@30" S0 - OUTPUT F_CONCESSIONE CODTAB - OUTPUT F_DESC_CONC S0 - CHECKTYPE NORMAL +BEGIN + PROMPT 2 2 "Concessione " + HELP "Codice concessione in cui hanno residenza fiscale le ditte da gestire" + USE %UCC + FLAGS "Z" + INPUT CODTAB F_CONCESSIONE + DISPLAY "Codice" CODTAB + DISPLAY "Descrizione@30" S0 + OUTPUT F_CONCESSIONE CODTAB + OUTPUT F_DESC_CONC S0 + CHECKTYPE NORMAL END STRING F_DESC_CONC 30 BEGIN - PROMPT 24 2 "Descrizione " - USE %UCC KEY 2 - INPUT S0 F_DESC_CONC - DISPLAY "Descrizione@30" S0 - DISPLAY "Codice" CODTAB - COPY OUTPUT F_CONCESSIONE - CHECKTYPE NORMAL + PROMPT 24 2 "Descrizione " + USE %UCC KEY 2 + INPUT S0 F_DESC_CONC + DISPLAY "Descrizione@30" S0 + DISPLAY "Codice" CODTAB + COPY OUTPUT F_CONCESSIONE + CHECKTYPE NORMAL END NUMBER F_SOLO_ABI 5 BEGIN - PROMPT 2 3 "Codice ABI " + PROMPT 2 3 "Codice ABI " HELP "Codice ABI della banca delle deleghe da stampare" - FLAGS "Z" - USE %BAN - INPUT CODTAB[1,5] F_SOLO_ABI - INPUT CODTAB[6,10] F_SOLO_CAB - DISPLAY "Azienda" CODTAB[1,5] - DISPLAY "Dipendenza" CODTAB[6,10] - DISPLAY "Denominazione@50" S0 - OUTPUT F_SOLO_ABI CODTAB[1,5] - OUTPUT F_SOLO_CAB CODTAB[6,10] - OUTPUT F_DESC_SOLO_BAN S0 - CHECKTYPE NORMAL + FLAGS "Z" + USE %BAN + INPUT CODTAB[1,5] F_SOLO_ABI + INPUT CODTAB[6,10] F_SOLO_CAB + DISPLAY "Azienda" CODTAB[1,5] + DISPLAY "Dipendenza" CODTAB[6,10] + DISPLAY "Denominazione@50" S0 + OUTPUT F_SOLO_ABI CODTAB[1,5] + OUTPUT F_SOLO_CAB CODTAB[6,10] + OUTPUT F_DESC_SOLO_BAN S0 + CHECKTYPE NORMAL END NUMBER F_SOLO_CAB 5 BEGIN - PROMPT 50 3 "Codice CAB " + PROMPT 50 3 "Codice CAB " HELP "Codice CAB della banca delle deleghe da stampare" - FLAGS "Z" - COPY ALL F_SOLO_ABI - CHECKTYPE NORMAL + FLAGS "Z" + COPY ALL F_SOLO_ABI + CHECKTYPE NORMAL END STRING F_DESC_SOLO_BAN 50 BEGIN - PROMPT 2 4 "Denominazione " - USE %BAN KEY 2 - INPUT S0 F_DESC_SOLO_BAN - DISPLAY "Denominazione@50" S0 - DISPLAY "Azienda" CODTAB[1,5] - DISPLAY "Dipendenza" CODTAB[6,10] - COPY OUTPUT F_SOLO_ABI - CHECKTYPE NORMAL + PROMPT 2 4 "Denominazione " + USE %BAN KEY 2 + INPUT S0 F_DESC_SOLO_BAN + DISPLAY "Denominazione@50" S0 + DISPLAY "Azienda" CODTAB[1,5] + DISPLAY "Dipendenza" CODTAB[6,10] + COPY OUTPUT F_SOLO_ABI + CHECKTYPE NORMAL END GROUPBOX DLG_NULL 70 4 @@ -78,109 +78,109 @@ END NUMBER F_ABI 5 BEGIN - PROMPT 2 7 "Codice ABI " + PROMPT 2 7 "Codice ABI " HELP "Codice ABI della banca per la presentazione della delega" - FLAGS "Z" - COPY USE F_SOLO_ABI - INPUT CODTAB[1,5] F_ABI - INPUT CODTAB[6,10] F_CAB - COPY DISPLAY F_SOLO_ABI - OUTPUT F_ABI CODTAB[1,5] - OUTPUT F_CAB CODTAB[6,10] - OUTPUT F_DESC_BAN S0 - CHECKTYPE NORMAL + FLAGS "Z" + USE %BAN SELECT CODTAB[6,10]?="?????" + INPUT CODTAB[1,5] F_ABI + INPUT CODTAB[6,10] F_CAB + COPY DISPLAY F_SOLO_ABI + OUTPUT F_ABI CODTAB[1,5] + OUTPUT F_CAB CODTAB[6,10] + OUTPUT F_DESC_BAN S0 + CHECKTYPE NORMAL END NUMBER F_CAB 5 BEGIN - PROMPT 50 7 "Codice CAB " + PROMPT 50 7 "Codice CAB " HELP "Codice CAB della banca per la presentazione della delega" - FLAGS "Z" - COPY ALL F_ABI - CHECKTYPE NORMAL + FLAGS "Z" + COPY ALL F_ABI + CHECKTYPE NORMAL + WARNING "E' richiesto un codice CAB valido" END STRING F_DESC_BAN 50 BEGIN - PROMPT 2 8 "Denominazione " - COPY USE F_DESC_SOLO_BAN - INPUT S0 F_DESC_BAN - COPY DISPLAY F_DESC_SOLO_BAN - COPY OUTPUT F_ABI - CHECKTYPE NORMAL + PROMPT 2 8 "Denominazione " + USE %BAN KEY 2 SELECT CODTAB[6,10]?="?????" + INPUT S0 F_DESC_BAN + COPY DISPLAY F_DESC_SOLO_BAN + COPY OUTPUT F_ABI + CHECKTYPE NORMAL END NUMBER F_ANNO 4 BEGIN - PROMPT 2 10 "Anno " + PROMPT 2 10 "Anno " HELP "Anno di cui si vogliono stampare le deleghe" - FLAGS "A" + FLAGS "A" END LIST F_MESE 2 11 BEGIN - PROMPT 18 10 "Mese " + PROMPT 18 10 "Mese " HELP "Mese di cui si vogliono stampare le deleghe" - FLAGS "AM" - ITEM "13|Annuale" MESSAGE "2",F_TIPO + FLAGS "AM" + ITEM "13|Annuale" MESSAGE "2",F_TIPO END LIST F_TIPO 1 24 BEGIN - PROMPT 2 11 "Tipo " + PROMPT 2 11 "Tipo " HELP "Tipo di delega da stampare" - ITEM "1|Periodica" MESSAGE ENABLE,F_MESE - ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE - ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE + ITEM "1|Periodica" MESSAGE ENABLE,F_MESE + ITEM "2|Annuale" MESSAGE "13",F_MESE|DISABLE,F_MESE + ITEM "7|Acconti IVA" MESSAGE "12",F_MESE|DISABLE,F_MESE END DATA F_DATA BEGIN - PROMPT 2 12 "Data " + PROMPT 2 12 "Data " HELP "Data da stampare sulle deleghe" - FLAGS "A" -END + FLAGS "A" +END -NUMBER F_PROFILO 5 +STRING F_PROFILO 5 BEGIN - PROMPT 2 13 "Profilo " - CHECKTYPE REQUIRED + PROMPT 2 13 "Profilo " + VALIDATE ZEROFILL_FUNC 5 + CHECKTYPE REQUIRED END BOOLEAN F_AGGIORNA BEGIN - PROMPT 43 10 "Aggiorna codici banca" - HELP "Scrive i codici banca sulle deleghe che non li riportano" + PROMPT 43 10 "Aggiorna codici banca" + HELP "Scrive i codici banca sulle deleghe che non li riportano" END BOOLEAN F_DISTINTA BEGIN - PROMPT 43 11 "Stampa distinta deleghe" - HELP "Stampa un riepilogo su carta normale delle deleghe stampate" + PROMPT 43 11 "Stampa distinta deleghe" + HELP "Stampa un riepilogo su carta normale delle deleghe stampate" END BOOLEAN F_DEFINITIVA BEGIN - PROMPT 43 12 "Stampa definitiva" + PROMPT 43 12 "Stampa definitiva" END BOOLEAN F_CONTOFIS BEGIN - PROMPT 43 13 "Titolari Conto fiscale" - MESSAGE FALSE CLEAR,F_PROFILO - MESSAGE TRUE ENABLE,F_PROFILO + PROMPT 43 13 "Titolari Conto fiscale" END BUTTON DLG_SELECT 9 2 BEGIN - PROMPT -12 -1 "Selezione" - HELP "Selezione delle ditte di cui stampare le deleghe" - MESSAGE EXIT,K_ENTER + PROMPT -12 -1 "Selezione" + HELP "Selezione delle ditte di cui stampare le deleghe" + MESSAGE EXIT,K_ENTER END BUTTON DLG_QUIT 9 2 BEGIN - PROMPT -22 -1 "" + PROMPT -22 -1 "" END ENDPAGE diff --git a/cg/cg2100.cpp b/cg/cg2100.cpp index 0eee4e00b..e15314513 100755 --- a/cg/cg2100.cpp +++ b/cg/cg2100.cpp @@ -40,87 +40,90 @@ TMask* TPrimanota_application::load_mask(int n) switch (n) { case 0: - { - m->set_handler(F_NUMREG, num_handler); - m->set_handler(F_CODCAUS, caus_query_handler); - m->set_handler(F_DATAREG, datareg_handler); - m->set_handler(F_DATACOMP, datacomp_handler); + if (m) + { + m->set_handler(F_NUMREG, num_handler); + m->set_handler(F_CODCAUS, caus_query_handler); + m->set_handler(F_DATAREG, datareg_handler); + m->set_handler(F_DATACOMP, datacomp_handler); - TConfig c(CONFIG_STUDIO, "cg"); + TConfig c(CONFIG_STUDIO, "cg"); - // Scelta primo campo col focus - _firstfocus = c.get_bool("PoCuDr") ? F_DATAREG : F_CODCAUS; - m->first_focus(_firstfocus); - - // Registra e inserisci immediatamente un nuovo movimento - _savenew = !c.get_bool("Cg21SN"); - } - break; - case 2: -{ - m->set_handler(F_DATADOC, doc_handler); - m->set_handler(F_NUMDOC, doc_handler); - m->set_handler(F_DATA74TER, data74ter_handler); - m->set_handler(F_PROTIVA, protiva_handler); - m->set_handler(F_CLIENTE, clifo_handler); - m->set_handler(F_FORNITORE, clifo_handler); - m->set_handler(F_TOTALE, totale_handler); - m->set_handler(F_RITFIS, ritfis_handler); - m->set_handler(F_RITSOC, ritsoc_handler); - m->set_handler(F_CORRLIRE, corrlire_handler); - m->set_handler(F_CORRVALUTA, corrvaluta_handler); - m->set_handler(F_CODIVA, main_codiva_handler); - m->set_handler(F_OCCASEDIT, occas_handler); - m->set_handler(F_SOLAIVA, solaiva_handler); - m->set_handler(F_SHEETIVA, iva_handler); + // Scelta primo campo col focus + _firstfocus = c.get_bool("PoCuDr") ? F_DATAREG : F_CODCAUS; + m->first_focus(_firstfocus); + + // Registra e inserisci immediatamente un nuovo movimento + _savenew = !c.get_bool("Cg21SN"); + } + break; + case 2: + if (m) + { + m->set_handler(F_DATADOC, doc_handler); + m->set_handler(F_NUMDOC, doc_handler); + m->set_handler(F_DATA74TER, data74ter_handler); + m->set_handler(F_PROTIVA, protiva_handler); + m->set_handler(F_CLIENTE, clifo_handler); + m->set_handler(F_FORNITORE, clifo_handler); + m->set_handler(F_TOTALE, totale_handler); + m->set_handler(F_RITFIS, ritfis_handler); + m->set_handler(F_RITSOC, ritsoc_handler); + m->set_handler(F_CORRLIRE, corrlire_handler); + m->set_handler(F_CORRVALUTA, corrvaluta_handler); + m->set_handler(F_CODIVA, main_codiva_handler); + m->set_handler(F_OCCASEDIT, occas_handler); + m->set_handler(F_SOLAIVA, solaiva_handler); + m->set_handler(F_SHEETIVA, iva_handler); - TSheet_field& is = (TSheet_field&)m->field(F_SHEETIVA); - is.set_notify(iva_notify); - TMask& ism = is.sheet_mask(); - ism.set_handler(101, imponibile_handler); - ism.set_handler(102, codiva_handler); - ism.set_handler(103, detrazione_handler); - ism.set_handler(104, imposta_handler); - ism.set_handler(109, iva_sottoconto_handler); - ism.set_handler(209, sheet_clifo_handler); - ism.set_handler(309, sheet_clifo_handler); -} -_iva_showed = FALSE; - case 1: -{ - m->first_focus(_firstfocus); - m->set_handler(F_DATAREG, datareg_handler); - m->set_handler(F_DATACOMP, datacomp_handler); - m->set_handler(F_DESCR, descr_handler); - m->set_handler(F_CODCAUS, caus_modify_handler); - m->set_handler(F_SHEETCG, cg_handler); - m->set_handler(F_CAMBIO, cambio_handler); - m->set_handler(F_VISVAL, visval_handler); + TSheet_field& is = (TSheet_field&)m->field(F_SHEETIVA); + is.set_notify(iva_notify); + TMask& ism = is.sheet_mask(); + ism.set_handler(101, imponibile_handler); + ism.set_handler(102, codiva_handler); + ism.set_handler(103, detrazione_handler); + ism.set_handler(104, imposta_handler); + ism.set_handler(109, iva_sottoconto_handler); + ism.set_handler(209, sheet_clifo_handler); + ism.set_handler(309, sheet_clifo_handler); + } + _iva_showed = FALSE; + case 1: + if (m) + { + m->first_focus(_firstfocus); + m->set_handler(F_DATAREG, datareg_handler); + m->set_handler(F_DATACOMP, datacomp_handler); + m->set_handler(F_DESCR, descr_handler); + m->set_handler(F_CODCAUS, caus_modify_handler); + m->set_handler(F_SHEETCG, cg_handler); + m->set_handler(F_CAMBIO, cambio_handler); + m->set_handler(F_VISVAL, visval_handler); - TSheet_field& cg = (TSheet_field&)m->field(F_SHEETCG); - cg.set_notify(cg_notify); - TMask& cgm = cg.sheet_mask(); - cgm.set_handler(101, dareavere_handler); - cgm.set_handler(102, dareavere_handler); - cgm.set_handler(105, cg_conto_handler); - cgm.set_handler(106, suspended_handler); - cgm.set_handler(206, sheet_clifo_handler); - cgm.set_handler(306, sheet_clifo_handler); - cgm.set_handler(112, suspended_handler); - cgm.set_handler(113, suspended_handler); - cgm.set_handler(213, sheet_clifo_handler); - cgm.set_handler(313, sheet_clifo_handler); -} -break; - case 3: - m->set_handler(O_CODICE, occas_code_handler); - break; -default: -CHECKD(0, "Che cavolo di maschera e' la ", n); -break; -} + TSheet_field& cg = (TSheet_field&)m->field(F_SHEETCG); + cg.set_notify(cg_notify); + TMask& cgm = cg.sheet_mask(); + cgm.set_handler(101, dareavere_handler); + cgm.set_handler(102, dareavere_handler); + cgm.set_handler(105, cg_conto_handler); + cgm.set_handler(106, suspended_handler); + cgm.set_handler(206, sheet_clifo_handler); + cgm.set_handler(306, sheet_clifo_handler); + cgm.set_handler(112, suspended_handler); + cgm.set_handler(113, suspended_handler); + cgm.set_handler(213, sheet_clifo_handler); + cgm.set_handler(313, sheet_clifo_handler); + } + break; + case 3: + m->set_handler(O_CODICE, occas_code_handler); + break; + default: + CHECKD(0, "Che cavolo di maschera e' la ", n); + break; + } -return _msk[n] = m; + return _msk[n] = m; } diff --git a/cg/cg2100.h b/cg/cg2100.h index d83cf15c3..9115aa7d5 100755 --- a/cg/cg2100.h +++ b/cg/cg2100.h @@ -55,6 +55,8 @@ #define F_IMPOSTE 140 #define F_VALUTAINTRA 141 #define F_CAMBIOINTRA 142 +#define F_STAMPATO 143 +#define F_REGST 144 #define F_SHEETCG 300 #define F_SHEETIVA 301 diff --git a/cg/cg2100c.uml b/cg/cg2100c.uml index f861dd143..57ebdeaa7 100755 --- a/cg/cg2100c.uml +++ b/cg/cg2100c.uml @@ -6,6 +6,18 @@ ENDPAGE PAGE "OPERAZIONE DI PRIMA NOTA" -1 -1 77 20 +BOOLEAN F_REGST +BEGIN + FIELD REGST + FLAGS "H" +END + +BOOLEAN F_STAMPATO +BEGIN + FIELD STAMPATO + FLAGS "H" +END + NUMBER F_GRUPPOCLIFO 3 BEGIN FLAGS "H" diff --git a/cg/cg2102.cpp b/cg/cg2102.cpp index e63c4236b..e337b7785 100755 --- a/cg/cg2102.cpp +++ b/cg/cg2102.cpp @@ -1544,15 +1544,17 @@ void TPrimanota_application::add_cgs_rit(bool fiscali) // Handler of the F_PROTIVA bool TPrimanota_application::protiva_handler(TMask_field& f, KEY key) -{ +{ + bool ok = TRUE; if (key == K_ENTER && f.dirty() && f.mask().mode() == MODE_INS) { const long protiva = atol(f.get()); const long protocol = app().causale().reg().protocol() + 1; if (protiva != protocol) - f.warning_box("Protocollo IVA fuori sequenza: %ld invece di %ld", protiva, protocol); + ok = f.yesno_box("Accettare il protocollo IVA fuori sequenza: %ld invece di %ld", + protiva, protocol); } - return TRUE; + return ok; } diff --git a/cg/cg4302.cpp b/cg/cg4302.cpp index 8582f4325..0e40bdb03 100755 --- a/cg/cg4302.cpp +++ b/cg/cg4302.cpp @@ -304,13 +304,13 @@ bool TLiquidazione_app::look_ppa(int month, const char* codatt, int type, bool c bool TLiquidazione_app::look_del(int month, int type, bool create) { - TString ditta = _nditte->curr().get("CODDITTA"); + TString16 ditta = _nditte->curr().get("CODDITTA"); _del->zero(); (*_del_ditta) = ditta; (*_del_anno) = _year; (*_del_mese) = month; (*_del_tipo) = type; - TString ctab = _del->get("CODTAB"); + TString16 ctab = _del->get("CODTAB"); _del->read(); bool ok = _del->good();