diff --git a/build/770.vcxproj b/build/770.vcxproj index be46eda94..f68783b1b 100644 --- a/build/770.vcxproj +++ b/build/770.vcxproj @@ -89,6 +89,7 @@ MachineX86 + false true @@ -307,6 +308,7 @@ + diff --git a/build/771mod.vcxproj b/build/771mod.vcxproj index a5c64a7b3..1e0554cc6 100644 --- a/build/771mod.vcxproj +++ b/build/771mod.vcxproj @@ -134,6 +134,7 @@ MachineX86 12.0 + false true diff --git a/build/772mod.vcxproj b/build/772mod.vcxproj index ae5b6eb92..5e12556c1 100644 --- a/build/772mod.vcxproj +++ b/build/772mod.vcxproj @@ -133,6 +133,7 @@ MachineX86 12.0 + false true diff --git a/build/773mod.vcxproj b/build/773mod.vcxproj index 4b7b6cde7..03e172d65 100644 --- a/build/773mod.vcxproj +++ b/build/773mod.vcxproj @@ -91,6 +91,7 @@ MachineX86 + false true diff --git a/build/774.vcxproj b/build/774.vcxproj index 67fbd7510..708143edb 100644 --- a/build/774.vcxproj +++ b/build/774.vcxproj @@ -91,6 +91,7 @@ MachineX86 12.0 + false true diff --git a/build/775.vcxproj b/build/775.vcxproj index 7706488a7..9c8dd9581 100644 --- a/build/775.vcxproj +++ b/build/775.vcxproj @@ -133,6 +133,7 @@ MachineX86 + false true diff --git a/build/776mod.vcxproj b/build/776mod.vcxproj index ae7eb34d9..2f18e5b32 100644 --- a/build/776mod.vcxproj +++ b/build/776mod.vcxproj @@ -90,6 +90,7 @@ MachineX86 + false true diff --git a/build/777.vcxproj b/build/777.vcxproj index 328380ee5..17f112f41 100644 --- a/build/777.vcxproj +++ b/build/777.vcxproj @@ -90,6 +90,7 @@ MachineX86 + false true diff --git a/cd/test/770638.txt b/cd/test/770638.txt new file mode 100644 index 000000000..d12cc4945 --- /dev/null +++ b/cd/test/770638.txt @@ -0,0 +1,3 @@ +770.exe + +Aggiunti controlli per non generare pagamenti su registrazioni cancellate diff --git a/cd/test/770638a.ini b/cd/test/770638a.ini new file mode 100644 index 000000000..4a34ac4dd --- /dev/null +++ b/cd/test/770638a.ini @@ -0,0 +1,29 @@ +[Main] +Demo=0 + +[770] +Edit_38 = 770 -2 +Edit_4 = 770 -3 +File(0) = 770.exe|X +Patch = 638 +Versione = 21511200 + +[7799] +Kill(0) = batbcaf.msk|x +Kill(1) = batbca7.msk|x +Kill(2) = batbent.msk|x + +[77] +Data = 06-06-2016 +Descrizione = Percipienti (Mod.770) +Dischi = 1 +Edit_4 = 770 -3 +Moduli = ba +OEM = +Patch = 638 +PostProcess = +PreProcess = +Prezzo(1) = +Prezzo(2) = +Versione = 21511200 + diff --git a/cd/test/770638a1.zip b/cd/test/770638a1.zip new file mode 100644 index 000000000..42015d4a2 Binary files /dev/null and b/cd/test/770638a1.zip differ diff --git a/cd/test/bs0638.txt b/cd/test/bs0638.txt new file mode 100644 index 000000000..dc0d06fd1 --- /dev/null +++ b/cd/test/bs0638.txt @@ -0,0 +1,3 @@ +bs0.exe + +Aggiunti riferimenti fatturazione elettronica \ No newline at end of file diff --git a/cd/test/bs0638a.ini b/cd/test/bs0638a.ini new file mode 100644 index 000000000..b8365528b --- /dev/null +++ b/cd/test/bs0638a.ini @@ -0,0 +1,21 @@ +[Main] +Demo=0 + +[bs1] +File(0) = bs0.exe|X +Patch = 0638 +Versione = 21511200 + +[bs] +Data = 23-10-2018 +Descrizione = Bee Store +Dischi = 1 +Moduli = ve +OEM = +Patch = 638 +PostProcess = +PreProcess = +Prezzo(1) = +Prezzo(2) = +Versione = 21511200 + diff --git a/cd/test/bs0638a1.zip b/cd/test/bs0638a1.zip new file mode 100644 index 000000000..4bdc39dac Binary files /dev/null and b/cd/test/bs0638a1.zip differ diff --git a/src/m770/770100.cpp b/src/m770/770100.cpp index 5d659a010..b10aabfcc 100755 --- a/src/m770/770100.cpp +++ b/src/m770/770100.cpp @@ -362,10 +362,10 @@ bool TSchedaPercipienti::agg_pagamenti(const TRectype& sch, const TDate& pag_dal if (numreg <= 0) return false; -#ifdef DBG - if (numreg == 37788) - int cazzone = 1; -#endif + const TRectype & mov = cache().get(LF_MOV, numreg); + + if (mov.empty()) + return false; TPartite_array partarr; @@ -426,9 +426,20 @@ bool TSchedaPercipienti::agg_pagamenti(const TRectype& sch, const TDate& pag_dal for (int rowp = ratapart.last(); rowp > 0; rowp = ratapart.pred(rowp)) { - const TRectype& pag = ratapart.row(rowp); // Riga pagamento + const TRectype& pag = ratapart.row(rowp); // Riga pagamento + const TRectype& pagrow = p->riga(pag.get_long(PAGSCA_NRIGP)); + const long numregpag = pagrow.get_long(PART_NREG); + + if (numregpag > 0L) + { + const TRectype & movpag = cache().get(LF_MOV, numregpag); + + if (movpag.empty()) + return false; + } const TRiga_partite& sum = p->riga(rowp); // Riga partite - if (sum.tipo() == tm_nota_credito) + + if (sum.tipo() == tm_nota_credito) continue; if (pag_dal.ok()) // Filtro opzionale su data pagamento