diff --git a/build/Cg010.vcxproj b/build/Cg010.vcxproj index 854952c49..8af32dd34 100644 --- a/build/Cg010.vcxproj +++ b/build/Cg010.vcxproj @@ -13,7 +13,7 @@ {6F2EAB30-4FD7-41DE-BCE3-8CD5D4C880B4} cg010 - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/Cg011.vcxproj b/build/Cg011.vcxproj index 94c3439c8..f316a13c1 100644 --- a/build/Cg011.vcxproj +++ b/build/Cg011.vcxproj @@ -13,7 +13,7 @@ {9B42C6FD-9B50-42E6-A215-B641B44A931E} cg1 - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/Cg012.vcxproj b/build/Cg012.vcxproj index 6ca4845fb..ffa2b035d 100644 --- a/build/Cg012.vcxproj +++ b/build/Cg012.vcxproj @@ -13,7 +13,7 @@ {9304E774-E631-495D-A29D-774222BBF8C9} cg2 - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/Cg013.vcxproj b/build/Cg013.vcxproj index 3db36e603..ea737acb2 100644 --- a/build/Cg013.vcxproj +++ b/build/Cg013.vcxproj @@ -13,7 +13,7 @@ {8F1FD835-004E-4BFA-A754-42A87AFA5343} cg013 - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/Cg014.vcxproj b/build/Cg014.vcxproj index 6663d9e1d..8e4f5ab12 100644 --- a/build/Cg014.vcxproj +++ b/build/Cg014.vcxproj @@ -13,7 +13,7 @@ {F1589A59-C3AC-430E-88EC-925461405E57} cg4 - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/Cg015.vcxproj b/build/Cg015.vcxproj index 9c3de604c..2b8b11607 100644 --- a/build/Cg015.vcxproj +++ b/build/Cg015.vcxproj @@ -13,7 +13,7 @@ {4661E972-5AAC-4B3E-92C7-C267D5070793} cg5 - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/Cg016.vcxproj b/build/Cg016.vcxproj index 44999be87..92ee6e184 100644 --- a/build/Cg016.vcxproj +++ b/build/Cg016.vcxproj @@ -13,7 +13,7 @@ {4FD17D56-D966-4F85-A04A-28EC6E0824CF} cg016 - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/Cg017.vcxproj b/build/Cg017.vcxproj index db7864815..b95dc97c4 100644 --- a/build/Cg017.vcxproj +++ b/build/Cg017.vcxproj @@ -13,7 +13,7 @@ {95FED395-F24E-4E5B-95B5-227A99CA255F} cg7 - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/cg01_masktab.vcxproj b/build/cg01_masktab.vcxproj index 5bb2bd6b4..1e4c799c3 100644 --- a/build/cg01_masktab.vcxproj +++ b/build/cg01_masktab.vcxproj @@ -13,7 +13,7 @@ {97368DC9-8B0D-4F75-A89F-9A58701226B6} cg01_masktab - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/fp010.vcxproj b/build/fp010.vcxproj index 4cc4756c3..2412cffca 100644 --- a/build/fp010.vcxproj +++ b/build/fp010.vcxproj @@ -13,7 +13,7 @@ {9C91BACF-9A70-4973-B8CC-FA3D2AF9867C} fp - 10.0.17763.0 + 10.0.19041.0 diff --git a/build/fp011.vcxproj b/build/fp011.vcxproj index 7df323db1..159caf430 100644 --- a/build/fp011.vcxproj +++ b/build/fp011.vcxproj @@ -13,7 +13,7 @@ {A539BCC1-D08F-4D78-A8EA-65560F4A60CD} fp - 10.0.17763.0 + 10.0.19041.0 diff --git a/cd/test/cg1402.txt b/cd/test/cg1402.txt new file mode 100644 index 000000000..56690e148 --- /dev/null +++ b/cd/test/cg1402.txt @@ -0,0 +1 @@ +cg012.exe diff --git a/cd/test/cg1402a.ini b/cd/test/cg1402a.ini new file mode 100644 index 000000000..3641590df --- /dev/null +++ b/cd/test/cg1402a.ini @@ -0,0 +1,98 @@ +[Main] +Demo=0 +[cg1] +File(12) = cg012.exe|X +Patch = 1402 +Versione = 21511200 + +[cg99] +Kill(0) = bastscc.msk|x +Kill(1) = bastntb.rep|x +Kill(2) = bastcco.rep|x +Kill(3) = bastcve.rep|x +Kill(4) = batblbu.msk|x +Kill(5) = batbpdb.msk|x +Kill(6) = bastpdb.msk|x +Kill(7) = cgtbcon.msk|x +Kill(8) = batbnot.msk|x +Kill(9) = batblia.msk|x +Kill(10) = bastver.msk|x +Kill(11) = bastivd.rep|x +Kill(12) = batbcfi.msk|x +Kill(13) = bastcco.msk|x +Kill(14) = batbndo.msk|x +Kill(15) = bastndo.rep|x +Kill(16) = batbleg.msk|x +Kill(17) = batbarb.msk|x +Kill(18) = batbscc.msk|x +Kill(19) = bastpor.rep|x +Kill(20) = batbind.msk|x +Kill(21) = batbreg.msk|x +Kill(22) = bastcve.msk|x +Kill(23) = batbins.msk|x +Kill(24) = bastcfi.msk|x +Kill(25) = batbcam.msk|x +Kill(26) = batbver.msk|x +Kill(27) = batblia.msk|x +Kill(28) = batbvet.msk|x +Kill(29) = bastarb.rep|x +Kill(30) = bastdpn.msk|x +Kill(31) = bastnot.msk|x +Kill(32) = batbntb.msk|x +Kill(33) = bastzon.rep|x +Kill(34) = bastmsp.msk|x +Kill(35) = batbcve.msk|x +Kill(36) = batbesc.msk|x +Kill(37) = bastdpn.rep|x +Kill(38) = bastreg.msk|x +Kill(39) = bastver.rep|x +Kill(40) = bastleg.msk|x +Kill(41) = bastntb.msk|x +Kill(42) = batbinl.msk|x +Kill(43) = bastreg.rep|x +Kill(44) = batbzon.msk|x +Kill(45) = cg2fppro.msk|x +Kill(46) = bastmsp.rep|x +Kill(47) = bastesc.msk|x +Kill(48) = batbdpn.msk|x +Kill(49) = bastndo.msk|x +Kill(50) = bastnot.rep|x +Kill(51) = batbmsp.msk|x +Kill(52) = batbpor.msk|x +Kill(53) = batbtra.msk|x +Kill(54) = bastzon.msk|x +Kill(55) = bastesc.rep|x +Kill(56) = batbdel.msk|x +Kill(57) = bastvet.msk|x +Kill(58) = bastarb.msk|x +Kill(59) = bastscc.rep|x +Kill(60) = bastpor.msk|x +Kill(61) = batbcco.msk|x +Kill(62) = bastvet.rep|x +Kill(63) = bastcfi.rep|x +Kill(64) = batbivd.msk|x +Kill(65) = bastcam.msk|x +Kill(66) = bastivd.msk|x +Kill(67) = bastleg.rep|x +Kill(68) = batbtit.msk|x +Kill(69) = bastpdb.rep|x +Kill(70) = bastcam.rep|x + +[cg] +Data = 15-01-2026 +Descrizione = Contabilita' Generale +Dischi = 1 +Edit_19 = cg0 -0 +Edit_20 = cg0 -1 +Edit_26 = cg0 -4 +Edit_5 = cg0 -5 +Moduli = ba +OE333M = +OEM = +Patch = 1402 +PostProcess = bainst -0 CG +PreProcess = +Prezzo(1) = +Prezzo(2) = +Versione = 21511200 + diff --git a/cd/test/cg1402a1.zip b/cd/test/cg1402a1.zip new file mode 100644 index 000000000..eca3b9976 Binary files /dev/null and b/cd/test/cg1402a1.zip differ diff --git a/cd/test/fp1402.txt b/cd/test/fp1402.txt new file mode 100644 index 000000000..6904ea069 --- /dev/null +++ b/cd/test/fp1402.txt @@ -0,0 +1,6 @@ +fp0200a01.msk +fp0300a01.msk +fp0700a01.msk +fp0400a01.msk +fp010.exe +fpmenuf.men diff --git a/cd/test/fp1402a.ini b/cd/test/fp1402a.ini new file mode 100644 index 000000000..9c7fce9d2 --- /dev/null +++ b/cd/test/fp1402a.ini @@ -0,0 +1,23 @@ +[Main] +Demo=0 +[fp1] +File(10) = fp010.exe|X +File(14) = fp0200a01.msk|X +File(15) = fp0300a01.msk|X +File(16) = fp0400a01.msk|X +File(21) = fp0700a01.msk|X +File(29) = fpmenuf.men|X +Patch = 1402 +Versione = 21511200 + +[fp] +Data = 27-07-2025 +Descrizione = Fattura Elettronica +Dischi = 1 +Moduli = cg,ve +OEM = +Patch = 1402 +PostProcess = +PreProcess = +Versione = 21511200 + diff --git a/cd/test/fp1402a1.zip b/cd/test/fp1402a1.zip new file mode 100644 index 000000000..1cd770981 Binary files /dev/null and b/cd/test/fp1402a1.zip differ diff --git a/cd/test/sy1402.txt b/cd/test/sy1402.txt new file mode 100644 index 000000000..3eab6ae87 --- /dev/null +++ b/cd/test/sy1402.txt @@ -0,0 +1 @@ +xvaga01.dll diff --git a/cd/test/sy1402a.ini b/cd/test/sy1402a.ini new file mode 100644 index 000000000..e6e34dd39 --- /dev/null +++ b/cd/test/sy1402a.ini @@ -0,0 +1,23 @@ +[Main] +Demo=0 +[sy1] +File(65) = xvaga01.dll|X +Patch = 1402 +Versione = 21511200 + +[sy99] +Kill(0) = setup\teamviewerqs_it.exe|x + +[sy] +Data = 09-06-2025 +Descrizione = Sistema +Dischi = 1 +Moduli = +OEM = +Patch = 1402 +PostProcess = +PreProcess = +Prezzo(1) = +Prezzo(2) = +Versione = 21511200 + diff --git a/cd/test/sy1402a1.zip b/cd/test/sy1402a1.zip new file mode 100644 index 000000000..9fa085a8e Binary files /dev/null and b/cd/test/sy1402a1.zip differ diff --git a/cd/test/ve1402.txt b/cd/test/ve1402.txt new file mode 100644 index 000000000..6c39e75a5 --- /dev/null +++ b/cd/test/ve1402.txt @@ -0,0 +1,2 @@ +ve010.exe +cg1300l.msk diff --git a/cd/test/ve1402a.ini b/cd/test/ve1402a.ini new file mode 100644 index 000000000..69142091c --- /dev/null +++ b/cd/test/ve1402a.ini @@ -0,0 +1,133 @@ +[Main] +Demo=0 +[ve1] +File(38) = ve010.exe|X +Patch = 1402 +Versione = 21511200 + +[ve99] +Kill(0) = batbcld.msk|x +Kill(1) = bastspp.rep|x +Kill(2) = bastgmc.msk|x +Kill(3) = bastbnp.rep|x +Kill(4) = bastasf.msk|x +Kill(5) = basttag.msk|x +Kill(6) = batbbnp.msk|x +Kill(7) = batbcra.msk|x +Kill(8) = bastprs.msk|x +Kill(9) = bastcra.rep|x +Kill(10) = batbgsa.msk|x +Kill(11) = efstbnp.rep|x +Kill(12) = bastgca.msk|x +Kill(13) = ve7600a.msk|x +Kill(14) = batbfsa.msk|x +Kill(15) = ve7100a.msk|x +Kill(16) = batbrfc.msk|x +Kill(17) = bastgcg.msk|x +Kill(18) = basttag.rep|x +Kill(19) = bastcaa.rep|x +Kill(20) = bastfrd.rep|x +Kill(21) = batbcaa.msk|x +Kill(22) = bastfrm.rep|x +Kill(23) = baststd.msk|x +Kill(24) = basteld.rep|x +Kill(25) = bastums.msk|x +Kill(26) = batbfca.msk|x +Kill(27) = batbfrm.msk|x +Kill(28) = batbabe.msk|x +Kill(29) = basttip.rep|x +Kill(30) = batbspp.msk|x +Kill(31) = bastrfc.msk|x +Kill(32) = bastcau.rep|x +Kill(33) = bastprs.rep|x +Kill(34) = bastcau.msk|x +Kill(35) = bastfca.msk|x +Kill(36) = ve7400a.ini|x +Kill(37) = bastspp.msk|x +Kill(38) = batbgca.msk|x +Kill(39) = bastcra.msk|x +Kill(40) = bastfrr.rep|x +Kill(41) = bastfca.rep|x +Kill(42) = batbasf.msk|x +Kill(43) = batbmre.msk|x +Kill(44) = bastfrd.msk|x +Kill(45) = bastgca.rep|x +Kill(46) = basttri.rep|x +Kill(47) = basteld.msk|x +Kill(48) = batbspt.msk|x +Kill(49) = baststd.rep|x +Kill(50) = bastfrm.msk|x +Kill(51) = bastrfc.rep|x +Kill(52) = batbums.msk|x +Kill(53) = bastabe.msk|x +Kill(54) = bastasf.rep|x +Kill(55) = batbfrd.msk|x +Kill(56) = batbtri.msk|x +Kill(57) = batbrfa.msk|x +Kill(58) = bastctr.msk|x +Kill(59) = bastfrr.msk|x +Kill(60) = bastums.rep|x +Kill(61) = batbprv.msk|x +Kill(62) = ve7700a.msk|x +Kill(63) = batbcau.msk|x +Kill(64) = batbtag.msk|x +Kill(65) = ve7200a.msk|x +Kill(66) = basttri.msk|x +Kill(67) = batbgmc.msk|x +Kill(68) = bastnum.rep|x +Kill(69) = ve7400a.msk|x +Kill(70) = batbgcg.msk|x +Kill(71) = bastbnp.msk|x +Kill(72) = bastcaa.msk|x +Kill(73) = eftbbnp.msk|x +Kill(74) = ve7200a.frm|x +Kill(75) = ve7300a.msk|x +Kill(76) = bastubi.msk|x +Kill(77) = ve7300a.frm|x +Kill(78) = bastimb.msk|x +Kill(79) = batbfrr.msk|x +Kill(80) = bastimb.rep|x +Kill(81) = ve7.exe|x +Kill(82) = ve7701a.ini|x +Kill(83) = ve7400conf.ini|x +Kill(84) = bastnum.msk|x +Kill(85) = bastrfa.rep|x +Kill(86) = batbubi.msk|x +Kill(87) = batbnum.msk|x +Kill(88) = bastabe.rep|x +Kill(89) = batbtip.msk|x +Kill(90) = ve7500a.msk|x +Kill(91) = efstbnp.msk|x +Kill(92) = batbctr.msk|x +Kill(93) = batbprs.msk|x +Kill(94) = bastrfa.msk|x +Kill(95) = bastgmc.rep|x +Kill(96) = basttip.msk|x +Kill(97) = batbpro.msk|x +Kill(98) = batbacr.msk|x +Kill(99) = batbimb.msk|x +Kill(100) = batbstd.msk|x +Kill(101) = batbfid.msk|x +Kill(102) = batbeld.msk|x +Kill(103) = bastubi.rep|x +Kill(104) = bastgcg.rep|x +Kill(105) = bastctr.rep|x + +[cg9] +File(223) = cg1300l.msk|X +Patch = 1400 +Versione = 21511200 + +[ve] +Data = 27-07-2025 +Descrizione = Vendite +Dischi = 1 +Moduli = ba,cg9,pr9,mg9,sv9,in9,ef9 +OEM = +Patch = 1402 +PostProcess = bainst -0 VE +PreProcess = +Prezzo(1) = +Prezzo(2) = +Versione = 21511200 + diff --git a/cd/test/ve1402a1.zip b/cd/test/ve1402a1.zip new file mode 100644 index 000000000..d4140aa6f Binary files /dev/null and b/cd/test/ve1402a1.zip differ diff --git a/libraries/libb64/base64/VisualStudioProject/base64.vcxproj b/libraries/libb64/base64/VisualStudioProject/base64.vcxproj index 09c0653b7..19fc261de 100644 --- a/libraries/libb64/base64/VisualStudioProject/base64.vcxproj +++ b/libraries/libb64/base64/VisualStudioProject/base64.vcxproj @@ -14,7 +14,7 @@ {0B094121-DC64-4D74-AFA0-750B83F800D0} Win32Proj base64 - 10.0.17763.0 + 10.0.19041.0 diff --git a/src/ba/ba8300.cpp b/src/ba/ba8300.cpp index af5bab76a..ab63c4ca6 100755 --- a/src/ba/ba8300.cpp +++ b/src/ba/ba8300.cpp @@ -501,13 +501,13 @@ TMask_field* TReport_mask::parse_field(TScanner& scanner) bool TReport_mask::get_rep_path(TFilename& path) const { const TString& name = get(DLG_REPORT); - const bool ok = name.full(); + bool found = false; - if (ok) + if (path.blank()) + path = name; + if (path.full()) { - if (path.blank()) - path = name; - if (!path.is_absolute_path()) + if (!path.is_absolute_path()) { path = firm2dir(-1); path.add("custom"); @@ -516,7 +516,9 @@ bool TReport_mask::get_rep_path(TFilename& path) const path.add(name); path.ext("rep"); bool found = path.exist(); - if (!found) + + message_box("file %s - %s", (const char *)path, found ? "trovato" : "non trovato"); + if (!found) { TString80 fname = path.name_only(); fname.lower(); TFilename star = path.path(); star.add("*.rep"); @@ -532,20 +534,21 @@ bool TReport_mask::get_rep_path(TFilename& path) const { path = *row; best = s; - found = true; - } + found = true; + } } } - if (!found && is_power_station()) - { - path = name; - path.ext("rep"); - found = path.custom_path(); - } + message_box("file %s - %s", (const char *)path, found ? "trovato" : "non trovato"); } - path.ext("rep"); - } - return ok; + else + { + path.ext("rep"); + found = path.exist(); + message_box("file %s - %s", (const char *)path, found ? "trovato" : "non trovato"); + } + message_box("file %s - %s", (const char *)path, found ? "trovato" : "non trovato"); + } + return found; } bool TReport_mask::save_report() diff --git a/src/cg01/cg2102.cpp b/src/cg01/cg2102.cpp index a5b0f997d..c5d8cf9dc 100644 --- a/src/cg01/cg2102.cpp +++ b/src/cg01/cg2102.cpp @@ -4320,113 +4320,11 @@ bool TPrimanota_application::check_sdi_handler(TMask_field& f, KEY key) { if (key == K_SPACE) { - TDocumento_mask& mask = (TDocumento_mask &)f.mask(); - TString4 tipo = get_fp_string_var(FP_TIPO_CHECK); + TMask& mask = (TMask &)f.mask(); + TMovimento_contabile mov(mask.get_long(F_NUMREG)); - if (tipo == "F") - { - const char * server = "fex-app.com"; - TFilename xml_name = get_xml_filename(true, mask.get_int(F_ANNOES), mask.get(F_XML_NAME)); - TString content; - - content << '{' << '\n' << "\"call\" : \"fexApi.errorsCount\"," << '\n' << "\"apiPars\" : {" << '\n'; - content << "\"sessid\" : \"" << get_fp_string_var(FP_SESSION_ID) << "\",\n"; - content << "\"xml\" : \""; - - ifstream i(xml_name); - TXmlItem xml; - char buf[MAX_SIZE + 1]; - TString line; - - while (!i.eof()) - { - i.read(buf, MAX_SIZE); - buf[i.gcount()] = '\0'; - - TString line = buf; - - line.strip("\n"); - content << unquote(line); - } - content << "\"" << "\n}\n}\n"; - - size_t length; - char * answer; - - if (http_post(server, "/api/def", content, answer, length, 2, 443, true, CONTENT_JSON)) - { - TString result; - - for (int i = 0; i < (int)length; i++) - result << answer[i]; - TString val; - int pos = get_resp_prop("block", val, result); - - int block_errors = atoi(val); - - pos = get_resp_prop("reservedSessid", val, result, pos); - - TString sess_id = val; - - pos = get_resp_prop("reqWas", val, result, pos); - if (val == "fexApi.errorsCount") - { - if (block_errors == 0) - { - mask.doc().put(DOC_STATO_SDI, "D"); + if (mov.check()) mask.set(F_STATO_SDI, "D"); - } - TString res_page = "https://"; - TFilename http; - - http.temp(); - res_page << "/fex-app.com/servizi/inizia?sessid=" << sess_id << "&auth=" << get_fp_string_var(FP_SESSION_ID); - - if (http_get(server, res_page, http)) - { - TFilename out = get_check_dest(mask.doc().get_int(DOC_ANNO)); - - out.add(xml_name.name_only()); - out.ext("pdf"); - html2pdf(http, out); - goto_url(out); - } - } - } - } - else - { - TString str = get_fp_string_var(FP_CHECK_APP); - TString command = str; - int p = str.find(""); - - if (p > 0) - { - int anno = mask.get_int(F_ANNOES); - TFilename file = get_xml_dest(anno); - - file.add(mask.get(F_XML_NAME)); - file.ext("xml"); - command = str.sleft(p); - if (command[command.len() - 1] != ' ') - command << " "; - command << file; - if (p + 6 < str.len()) - { - if (command[command.len() - 1] != ' ') - command << " "; - command << str.smid(p + 7); - } - } - if (command.starts_with("http")) - goto_url(command); - else - { - TExternal_app check(command); - - int res = check.run(); - } - } } return true; }