diff --git a/cd/test/fp0940.txt b/cd/test/fp0940.txt new file mode 100644 index 000000000..ad8f7cb3d --- /dev/null +++ b/cd/test/fp0940.txt @@ -0,0 +1,3 @@ +fp0.exe + +Corretta esportazione partite iva e codici fiscali in fattura elettronica. Problema uscito per i clienti gruppi iva. diff --git a/cd/test/fp0940a.ini b/cd/test/fp0940a.ini new file mode 100644 index 000000000..ad8c4fcb3 --- /dev/null +++ b/cd/test/fp0940a.ini @@ -0,0 +1,19 @@ +[Main] +Demo=0 + +[fp0] +File(0) = fp0.exe|X +Patch = 0940 +Versione = 21511200 + +[fp] +Data = 12-02-2020 +Descrizione = Fattura Elettronica +Dischi = 1 +Moduli = cg,ve +OEM = +Patch = 940 +PostProcess = +PreProcess = +Versione = 21511200 + diff --git a/cd/test/fp0940a1.zip b/cd/test/fp0940a1.zip new file mode 100644 index 000000000..a61e2091d Binary files /dev/null and b/cd/test/fp0940a1.zip differ diff --git a/cd/test/tp0942.txt b/cd/test/tp0942.txt new file mode 100644 index 000000000..f6af1a94a --- /dev/null +++ b/cd/test/tp0942.txt @@ -0,0 +1,3 @@ +tp0.exe + +Controllato che il peso unitario CONAI non sia zero nella dichiarazione CONAI diff --git a/cd/test/tp0942a.ini b/cd/test/tp0942a.ini new file mode 100644 index 000000000..dfe8c2ae1 --- /dev/null +++ b/cd/test/tp0942a.ini @@ -0,0 +1,21 @@ +[Main] +Demo=0 + +[tp1] +File(0) = tp0.exe|X +Patch = 0942 +Versione = 21511200 + +[tp] +Data = 13-02-2020 +Descrizione = Trasferimento PACK +Dischi = 1 +Moduli = ve +OEM = +Patch = 942 +PostProcess = +PreProcess = +Prezzo(1) = +Prezzo(2) = +Versione = 21511200 + diff --git a/cd/test/tp0942a1.zip b/cd/test/tp0942a1.zip new file mode 100644 index 000000000..b74636cbb Binary files /dev/null and b/cd/test/tp0942a1.zip differ diff --git a/cd/test/ve0942.txt b/cd/test/ve0942.txt new file mode 100644 index 000000000..5b5dcb15f --- /dev/null +++ b/cd/test/ve0942.txt @@ -0,0 +1,3 @@ +ve5.exe + +corretta gestione del flag di archiviazione/ripristino clienti nell'archiviazione dei documenti diff --git a/cd/test/ve0942a.ini b/cd/test/ve0942a.ini new file mode 100644 index 000000000..26f3c7524 --- /dev/null +++ b/cd/test/ve0942a.ini @@ -0,0 +1,129 @@ +[Main] +Demo=0 + +[ve5] +File(243) = ve5.exe|X +Patch = 0942 +Versione = 21511200 + +[ve99] +Kill(0) = batbimb.msk|x +Kill(1) = batbacr.msk|x +Kill(2) = batbtip.msk|x +Kill(3) = bastbnp.rep|x +Kill(4) = bastabe.rep|x +Kill(5) = bastrfa.msk|x +Kill(6) = efstbnp.rep|x +Kill(7) = efstbnp.msk|x +Kill(8) = bastctr.rep|x +Kill(9) = batbcra.msk|x +Kill(10) = bastnum.msk|x +Kill(11) = batbmre.msk|x +Kill(12) = bastfca.rep|x +Kill(13) = batbprs.msk|x +Kill(14) = batbgcg.msk|x +Kill(15) = batbctr.msk|x +Kill(16) = ve7.exe|x +Kill(17) = bastimb.rep|x +Kill(18) = ve7400conf.ini|x +Kill(19) = batbfrm.msk|x +Kill(20) = batbfca.msk|x +Kill(21) = bastums.msk|x +Kill(22) = bastrfc.msk|x +Kill(23) = basttag.rep|x +Kill(24) = basteld.rep|x +Kill(25) = batbspp.msk|x +Kill(26) = bastrfa.rep|x +Kill(27) = ve7300a.msk|x +Kill(28) = bastprs.msk|x +Kill(29) = bastnum.rep|x +Kill(30) = ve7100a.msk|x +Kill(31) = batbcaa.msk|x +Kill(32) = basteld.msk|x +Kill(33) = batbabe.msk|x +Kill(34) = bastgcg.msk|x +Kill(35) = baststd.msk|x +Kill(36) = batbrfc.msk|x +Kill(37) = bastfrm.rep|x +Kill(38) = batbfrr.msk|x +Kill(39) = batbgsa.msk|x +Kill(40) = ve7600a.msk|x +Kill(41) = ve7200a.frm|x +Kill(42) = bastfrr.msk|x +Kill(43) = bastcaa.rep|x +Kill(44) = bastbnp.msk|x +Kill(45) = bastctr.msk|x +Kill(46) = basttip.rep|x +Kill(47) = bastrfc.rep|x +Kill(48) = batbgmc.msk|x +Kill(49) = eftbbnp.msk|x +Kill(50) = basttri.msk|x +Kill(51) = batbfsa.msk|x +Kill(52) = baststd.rep|x +Kill(53) = batbfrd.msk|x +Kill(54) = batbprv.msk|x +Kill(55) = batbspt.msk|x +Kill(56) = bastasf.rep|x +Kill(57) = bastums.rep|x +Kill(58) = batbrfa.msk|x +Kill(59) = batbcau.msk|x +Kill(60) = batbtri.msk|x +Kill(61) = ve7700a.msk|x +Kill(62) = bastcra.msk|x +Kill(63) = bastgca.rep|x +Kill(64) = bastcau.rep|x +Kill(65) = ve7701a.ini|x +Kill(66) = bastfrd.msk|x +Kill(67) = bastfrm.msk|x +Kill(68) = batbtag.msk|x +Kill(69) = bastabe.msk|x +Kill(70) = bastcaa.msk|x +Kill(71) = batbums.msk|x +Kill(72) = batbubi.msk|x +Kill(73) = bastfca.msk|x +Kill(74) = batbnum.msk|x +Kill(75) = batbpro.msk|x +Kill(76) = bastcau.msk|x +Kill(77) = bastfrr.rep|x +Kill(78) = bastspp.msk|x +Kill(79) = bastfrd.rep|x +Kill(80) = ve7400a.ini|x +Kill(81) = batbasf.msk|x +Kill(82) = bastprs.rep|x +Kill(83) = bastimb.msk|x +Kill(84) = ve7400a.msk|x +Kill(85) = batbbnp.msk|x +Kill(86) = basttri.rep|x +Kill(87) = bastgca.msk|x +Kill(88) = ve7300a.frm|x +Kill(89) = bastubi.msk|x +Kill(90) = ve7200a.msk|x +Kill(91) = basttip.msk|x +Kill(92) = batbfid.msk|x +Kill(93) = batbstd.msk|x +Kill(94) = bastubi.rep|x +Kill(95) = bastgmc.rep|x +Kill(96) = bastgcg.rep|x +Kill(97) = ve7500a.msk|x +Kill(98) = bastspp.rep|x +Kill(99) = batbcld.msk|x +Kill(100) = basttag.msk|x +Kill(101) = bastasf.msk|x +Kill(102) = batbeld.msk|x +Kill(103) = bastgmc.msk|x +Kill(104) = bastcra.rep|x +Kill(105) = batbgca.msk|x + +[ve] +Data = 13-02-2020 +Descrizione = Vendite +Dischi = 1 +Moduli = ba,cg9,pr9,mg9,sv9,in9,ef9 +OEM = +Patch = 942 +PostProcess = bainst -0 VE +PreProcess = +Prezzo(1) = +Prezzo(2) = +Versione = 21511200 + diff --git a/cd/test/ve0942a1.zip b/cd/test/ve0942a1.zip new file mode 100644 index 000000000..7cf58ffa3 Binary files /dev/null and b/cd/test/ve0942a1.zip differ diff --git a/src/cg/cg4304.cpp b/src/cg/cg4304.cpp index 51d425d96..df1640bf0 100755 --- a/src/cg/cg4304.cpp +++ b/src/cg/cg4304.cpp @@ -2467,7 +2467,12 @@ void TLiquidazione_app::set_grand_2000(_DescrItem& d, int &rw) } else { - if (_isannual) + if (_month = 12) + { + const real i = -iva; + set_row(rw++, FR("@23gIMPORTO A CREDITO@75g%r"), &i); + } + if (_isannual) { const real& credito = d._r20; if (credito > ZERO) diff --git a/src/tp/Manuale Campo - Pack.doc b/src/tp/Manuale Campo - Pack.doc new file mode 100644 index 000000000..1e61968d8 Binary files /dev/null and b/src/tp/Manuale Campo - Pack.doc differ diff --git a/src/tp/tp0900.cpp b/src/tp/tp0900.cpp index a92c6a57c..a34f5a8e1 100755 --- a/src/tp/tp0900.cpp +++ b/src/tp/tp0900.cpp @@ -226,9 +226,10 @@ void TDichiarazione_CONAI::scrivi_csv_doc_con_riga_generata(const TDocumento& do //se non e' stata definita la sottocategoria conai (maiali!!) va messa uguale a quella generica for (int k = 1; k <= FR_CMAX; k++) { - TString4 sottocat = rdoc.get(conai_sottocat_name(k)); + TString4 sottocat = rdoc.get(conai_sottocat_name(k)); + const real peso = rdoc.get_real(conai_peso_name(k)); - if (sottocat == sottoclass) + if (sottocat == sottoclass && (peso != ZERO)) { //puo' capitare che la sottocategoria sia stata troncata alla categoria if (sottocat.len() == 2) @@ -332,8 +333,9 @@ void TDichiarazione_CONAI::scrivi_csv_doc_speciale(const TDocumento& doc, TDichi for (int j = 1; j <= FR_CMAX; j++) { TString4 sottocat = rdoc->get(conai_sottocat_name(j)); + const real peso = rdoc->get_real(conai_peso_name(j)); - if (sottocat == sottoclass) + if (sottocat == sottoclass && (peso != ZERO)) { //puo' capitare che la sottocategoria sia stata troncata alla categoria if (sottocat.len() == 2) diff --git a/src/ve/ve5400.cpp b/src/ve/ve5400.cpp index b28e0632a..798bb2ad8 100755 --- a/src/ve/ve5400.cpp +++ b/src/ve/ve5400.cpp @@ -203,13 +203,18 @@ void TArchive_doc::archivia(const TMask& m) delete_tmp_files(false); //chiude i files temp in modo da risparmiare memoria const char* dir = _tmp_dir; //fa puntare dir alla directory temp - if (*dir == '%') dir++; - bool rt = _arc.backup(dir,_unit,_desc, TRUE); //esegue la compressione ed il salvataggio sul device scelto - create_tmp_files(false); //apre i files temp, riallocandoli (NON li crea effettvam.) + + if (*dir == '%') + dir++; + + bool rt = _arc.backup(dir,_unit,_desc, TRUE); //esegue la compressione ed il salvataggio sul device scelto + + create_tmp_files(false); //apre i files temp, riallocandoli (NON li crea effettvam.) delete_tmp_files(true); //cancella fisicamente i files temp TFilename unit; - unit << _unit << ':' << SLASH; + + unit << _unit << ':' << SLASH; if (!xvt_fsys_is_removable_drive(unit) && _path != "") //se il drive non e' rimovibile,sposta i files dalla root del drive { //alla target dir scritta sulla maschera for (int i = 0; i <= 1; i++) @@ -240,7 +245,15 @@ bool TArchive_doc::restore_file(TIsamtempfile& src, bool update) for (int err = src.first(); err == NOERR; err = src.next()) { dst.curr() = src.curr(); - err = dst.write_rewrite(); + if (update) + err = dst.write_rewrite(); + else + { + TRectype curr(src.curr()); + + if (curr.read(dst) != NOERR) + err = dst.write(); + } if (err != NOERR) return cantwrite_box(dst.description()); if (!pi.add_status(1)) @@ -261,7 +274,7 @@ bool TArchive_doc::restore_docs() if (ok) { _tdoc->set_curr(new TDocumento); - ok = restore_file(*_tdoc, false); + ok = restore_file(*_tdoc, true); } return ok; } diff --git a/src/ve/velib03.cpp b/src/ve/velib03.cpp index f75e73bd3..eef3bac36 100755 --- a/src/ve/velib03.cpp +++ b/src/ve/velib03.cpp @@ -3062,10 +3062,9 @@ void TDocumento::update_conai() { if (main_app().has_module(DCAUT, CHK_DONGLE) && tipo().add_conai() && tipo().stati_iniziali_modifica().find(stato()) >= 0) { - TAssoc_array conai_aggiornati; + TAssoc_array conai_aggiornati; const TRectype& cfven = clifor().vendite(); const bool cli_add_conai = cfven.get_bool("ADDCONAI"); - const TDate datadoc = get(DOC_DATADOC); const TDate dataies = cfven.get(CFV_DATAICONAI); const TDate dataees = cfven.get(CFV_DATAECONAI);