diff --git a/build/np0.vcxproj b/build/np0.vcxproj
index 8766ac948..955ecc54b 100644
--- a/build/np0.vcxproj
+++ b/build/np0.vcxproj
@@ -130,7 +130,7 @@
_DEBUG;%(PreprocessorDefinitions)
0x0410
- ..\wx28X\include;%(AdditionalIncludeDirectories)
+ ..\libraries\wx28X\include;%(AdditionalIncludeDirectories)
wsock32.lib;%(AdditionalDependencies)
@@ -145,6 +145,7 @@
MachineX86
$(IntDir)
+ false
true
diff --git a/build/tp0.vcxproj b/build/tp0.vcxproj
index f0d0351af..7cf2d85a3 100644
--- a/build/tp0.vcxproj
+++ b/build/tp0.vcxproj
@@ -43,7 +43,7 @@
<_ProjectFileVersion>10.0.30319.1
..\exed\
$(Configuration)\$(ProjectName)\
- false
+ true
..\exe\
$(Configuration)\$(ProjectName)\
false
@@ -76,7 +76,7 @@
_DEBUG;%(PreprocessorDefinitions)
0x0410
- ..\wx28X\include;%(AdditionalIncludeDirectories)
+ ..\libraries\wx28X\include;%(AdditionalIncludeDirectories)
wsock32.lib;%(AdditionalDependencies)
@@ -89,6 +89,7 @@
MachineX86
+ false
true
@@ -136,6 +137,7 @@
MachineX86
12.0
+ true
true
diff --git a/cd/test/ba0598.txt b/cd/test/ba0598.txt
new file mode 100644
index 000000000..9657f6294
--- /dev/null
+++ b/cd/test/ba0598.txt
@@ -0,0 +1,10 @@
+ba3700a.msk
+ba3.exe
+batbclr.msk
+recdesc\f20.trr
+recdesc\f20.dir
+recdesc\f17.trr
+recdesc\f17.dir
+
+- Aggiunto campo "Modalità di Pagamento" alla tabella "Ulteriore classificazione"
+- Aggiunto campo "Tipo di pagamento SDI" al programma di gestione dei tipi pagamento
diff --git a/cd/test/ba0598a.ini b/cd/test/ba0598a.ini
new file mode 100644
index 000000000..984a226f4
--- /dev/null
+++ b/cd/test/ba0598a.ini
@@ -0,0 +1,44 @@
+[Main]
+Demo=0
+
+[ba1]
+Edit_4 = ba3 -0
+Edit_5 = ba3 -0
+Edit_6 = ba4 -1
+File(42) = ba3.exe|X
+File(48) = ba3700a.msk|X
+File(145) = batbclr.msk|X
+Patch = 598
+Versione = 21511200
+
+[ba2]
+File(312) = recdesc\f17.dir|X
+File(313) = recdesc\f17.trr|X
+File(326) = recdesc\f20.dir|X
+File(327) = recdesc\f20.trr|X
+Patch = 598
+Versione = 21511200
+
+[ba99]
+Kill(0) = wxmsw240.dll|x
+Kill(1) = batbsce.txt|x
+Kill(2) = bastfsc.rep|x
+Kill(3) = bastfsc.msk|x
+Kill(4) = bastcms.msk|x
+Kill(5) = bastcms.rep|x
+Kill(6) = bastuue.rep|x
+Kill(7) = bastuue.msk|x
+
+[ba]
+Data = 06-07-2018
+Descrizione = Base
+Dischi = 1
+Moduli = sy
+OEM =
+Patch = 598
+PostProcess = bainst -0 BA
+PreProcess =
+Prezzo(1) =
+Prezzo(2) =
+Versione = 21511200
+
diff --git a/cd/test/ba0598a1.zip b/cd/test/ba0598a1.zip
new file mode 100644
index 000000000..9dfbe1305
Binary files /dev/null and b/cd/test/ba0598a1.zip differ
diff --git a/cd/test/cg0598.txt b/cd/test/cg0598.txt
new file mode 100644
index 000000000..91114c1c8
--- /dev/null
+++ b/cd/test/cg0598.txt
@@ -0,0 +1,6 @@
+cg0200a.msk
+cg0.exe
+
+Modifiche programma clienti/fornitori:
+- Rinominato gruppo da "Numeri telefonici" a "Contatti"
+- Spostati e modificati campi delle email per aggiungere la PEC
diff --git a/cd/test/cg0598a.ini b/cd/test/cg0598a.ini
new file mode 100644
index 000000000..191ccdd76
--- /dev/null
+++ b/cd/test/cg0598a.ini
@@ -0,0 +1,98 @@
+[Main]
+Demo=0
+
+[cg9]
+Edit_19 = cg0 -0
+Edit_20 = cg0 -1
+Edit_26 = cg0 -4
+Edit_5 = cg0 -5
+File(127) = cg0.exe|X
+File(129) = cg0200a.msk|X
+Patch = 598
+Versione = 21511200
+
+[cg99]
+Kill(0) = bastvet.rep|x
+Kill(1) = bastivd.msk|x
+Kill(2) = bastcfi.rep|x
+Kill(3) = batbarb.msk|x
+Kill(4) = batbcve.msk|x
+Kill(5) = batbscc.msk|x
+Kill(6) = bastscc.msk|x
+Kill(7) = bastcco.rep|x
+Kill(8) = bastzon.rep|x
+Kill(9) = batblia.msk|x
+Kill(10) = batbmsp.msk|x
+Kill(11) = bastscc.rep|x
+Kill(12) = bastesc.msk|x
+Kill(13) = batbind.msk|x
+Kill(14) = bastmsp.rep|x
+Kill(15) = batbcfi.msk|x
+Kill(16) = batbleg.msk|x
+Kill(17) = batbndo.msk|x
+Kill(18) = bastcve.msk|x
+Kill(19) = bastcfi.msk|x
+Kill(20) = bastcco.msk|x
+Kill(21) = batbpor.msk|x
+Kill(22) = bastmsp.msk|x
+Kill(23) = bastndo.msk|x
+Kill(24) = bastntb.rep|x
+Kill(25) = batbver.msk|x
+Kill(26) = bastvet.msk|x
+Kill(27) = bastpor.rep|x
+Kill(28) = bastntb.msk|x
+Kill(29) = bastleg.rep|x
+Kill(30) = batblbu.msk|x
+Kill(31) = bastndo.rep|x
+Kill(32) = batbntb.msk|x
+Kill(33) = bastnot.msk|x
+Kill(34) = batbreg.msk|x
+Kill(35) = bastver.rep|x
+Kill(36) = bastdpn.msk|x
+Kill(37) = bastcam.rep|x
+Kill(38) = batblia.msk|x
+Kill(39) = bastivd.rep|x
+Kill(40) = bastesc.rep|x
+Kill(41) = bastpdb.msk|x
+Kill(42) = batbzon.msk|x
+Kill(43) = bastleg.msk|x
+Kill(44) = bastpdb.rep|x
+Kill(45) = bastarb.rep|x
+Kill(46) = bastreg.msk|x
+Kill(47) = bastdpn.rep|x
+Kill(48) = batbins.msk|x
+Kill(49) = cgtbcon.msk|x
+Kill(50) = batbtra.msk|x
+Kill(51) = batbdel.msk|x
+Kill(52) = batbinl.msk|x
+Kill(53) = bastcam.msk|x
+Kill(54) = batbdpn.msk|x
+Kill(55) = bastzon.msk|x
+Kill(56) = bastnot.rep|x
+Kill(57) = batbnot.msk|x
+Kill(58) = batbcam.msk|x
+Kill(59) = bastpor.msk|x
+Kill(60) = batbcco.msk|x
+Kill(61) = batbpdb.msk|x
+Kill(62) = batbvet.msk|x
+Kill(63) = bastarb.msk|x
+Kill(64) = bastcve.rep|x
+Kill(65) = bastreg.rep|x
+Kill(66) = bastver.msk|x
+Kill(67) = batbesc.msk|x
+Kill(68) = batbtit.msk|x
+Kill(69) = batbivd.msk|x
+
+[cg]
+Data = 06-07-2018
+Descrizione = Contabilita' Generale
+Dischi = 1
+Moduli = ba
+OEM =
+Patch = 598
+PostProcess = bainst -0 CG
+PreProcess =
+Prezzo(1) =
+Prezzo(2) =
+Versione = 21511200
+
diff --git a/cd/test/cg0598a1.zip b/cd/test/cg0598a1.zip
new file mode 100644
index 000000000..031d76a58
Binary files /dev/null and b/cd/test/cg0598a1.zip differ
diff --git a/cd/test/fp0598.txt b/cd/test/fp0598.txt
new file mode 100644
index 000000000..0467d9765
--- /dev/null
+++ b/cd/test/fp0598.txt
@@ -0,0 +1,4 @@
+fp0.exe
+fp0100a.msk
+sql/fp0100.sql
+fp0300a.msk
diff --git a/cd/test/fp0598a.ini b/cd/test/fp0598a.ini
new file mode 100644
index 000000000..648637696
--- /dev/null
+++ b/cd/test/fp0598a.ini
@@ -0,0 +1,22 @@
+[Main]
+Demo=0
+
+[fp1]
+File(0) = fp0.exe|X
+File(1) = fp0100a.msk|X
+File(3) = fp0300a.msk|X
+File(4) = sql/fp0100.sql|X
+Patch = 598
+Versione = 21511200
+
+[fp]
+Data = 06-07-2018
+Descrizione = Fattura Elettronica
+Dischi = 1
+Moduli = cg,ve
+OEM =
+Patch = 598
+PostProcess =
+PreProcess =
+Versione = 21511200
+
diff --git a/cd/test/fp0598a1.zip b/cd/test/fp0598a1.zip
new file mode 100644
index 000000000..513e894c1
Binary files /dev/null and b/cd/test/fp0598a1.zip differ
diff --git a/cd/test/fp0600.txt b/cd/test/fp0600.txt
new file mode 100644
index 000000000..0467d9765
--- /dev/null
+++ b/cd/test/fp0600.txt
@@ -0,0 +1,4 @@
+fp0.exe
+fp0100a.msk
+sql/fp0100.sql
+fp0300a.msk
diff --git a/cd/test/fp0600a.ini b/cd/test/fp0600a.ini
new file mode 100644
index 000000000..eaea24a1f
--- /dev/null
+++ b/cd/test/fp0600a.ini
@@ -0,0 +1,22 @@
+[Main]
+Demo=0
+
+[fp1]
+File(0) = fp0.exe|X
+File(1) = fp0100a.msk|X
+File(3) = fp0300a.msk|X
+File(4) = sql/fp0100.sql|X
+Patch = 0600
+Versione = 21511200
+
+[fp]
+Data = 09-07-2018
+Descrizione = Fattura Elettronica
+Dischi = 1
+Moduli = cg,ve
+OEM =
+Patch = 600
+PostProcess =
+PreProcess =
+Versione = 21511200
+
diff --git a/cd/test/fp0600a1.zip b/cd/test/fp0600a1.zip
new file mode 100644
index 000000000..8c66adac8
Binary files /dev/null and b/cd/test/fp0600a1.zip differ
diff --git a/cd/test/fpinst1.zip b/cd/test/fpinst1.zip
new file mode 100644
index 000000000..38f6d3a01
Binary files /dev/null and b/cd/test/fpinst1.zip differ
diff --git a/cd/test/sy0598.txt b/cd/test/sy0598.txt
new file mode 100644
index 000000000..a28d4438e
--- /dev/null
+++ b/cd/test/sy0598.txt
@@ -0,0 +1,6 @@
+xvtdb.dll
+sqlapi.dll
+campo.aut
+
+Aggiunta nuova libreria db
+Aggiunto nuovo programma FP
\ No newline at end of file
diff --git a/cd/test/sy0598a.ini b/cd/test/sy0598a.ini
new file mode 100644
index 000000000..af83b9370
--- /dev/null
+++ b/cd/test/sy0598a.ini
@@ -0,0 +1,23 @@
+[Main]
+Demo=0
+
+[sy1]
+File(36) = campo.aut|X
+File(54) = xvtdb.dll|X
+File(55) = sqlapi.dll|X
+Patch = 598
+Versione = 21511200
+
+[sy]
+Data = 06-07-2018
+Descrizione = Sistema
+Dischi = 1
+Moduli =
+OEM =
+Patch = 598
+PostProcess =
+PreProcess =
+Prezzo(1) =
+Prezzo(2) =
+Versione = 21511200
+
diff --git a/cd/test/sy0598a1.zip b/cd/test/sy0598a1.zip
new file mode 100644
index 000000000..cb73202fa
Binary files /dev/null and b/cd/test/sy0598a1.zip differ
diff --git a/cd/test/tp0598.txt b/cd/test/tp0598.txt
new file mode 100644
index 000000000..ca098c64f
--- /dev/null
+++ b/cd/test/tp0598.txt
@@ -0,0 +1,3 @@
+tp0.exe
+
+Modificati il salvataggio dei pesi CONAI sulle bolle importate
\ No newline at end of file
diff --git a/cd/test/tp0598a.ini b/cd/test/tp0598a.ini
new file mode 100644
index 000000000..93e6da966
--- /dev/null
+++ b/cd/test/tp0598a.ini
@@ -0,0 +1,21 @@
+[Main]
+Demo=0
+
+[tp1]
+File(1) = tp0.exe|X
+Patch = 598
+Versione = 21511200
+
+[tp]
+Data = 11-07-2018
+Descrizione = Trasferimento PACK
+Dischi = 1
+Moduli = ve
+OEM =
+Patch = 598
+PostProcess =
+PreProcess =
+Prezzo(1) =
+Prezzo(2) =
+Versione = 21511200
+
diff --git a/cd/test/tp0598a1.zip b/cd/test/tp0598a1.zip
new file mode 100644
index 000000000..a1b44b24d
Binary files /dev/null and b/cd/test/tp0598a1.zip differ
diff --git a/cd/test/ve0598.txt b/cd/test/ve0598.txt
new file mode 100644
index 000000000..2fd744562
--- /dev/null
+++ b/cd/test/ve0598.txt
@@ -0,0 +1,8 @@
+vetbtip.msk
+ve0.exe
+cg0200a.msk
+cg0.exe
+
+Modifiche ai tipidoc
+- Aggiunto tipo documenti SDI
+- Aggiunto il regime fiscale
diff --git a/cd/test/ve0598a.ini b/cd/test/ve0598a.ini
new file mode 100644
index 000000000..d693aa793
--- /dev/null
+++ b/cd/test/ve0598a.ini
@@ -0,0 +1,149 @@
+[Main]
+Demo=0
+
+[ve2]
+File(74) = vetbtip.msk|X
+Patch = 0598
+Versione = 21511200
+
+[ve9]
+Edit_163 = ve0 -4
+Edit_33 = ve0 -0
+Edit_4 = ve0 -4
+Edit_47 = ve2 -3
+Edit_5 = ve0 -4
+File(137) = ve0.exe|X
+Patch = 0598
+Versione = 21511200
+
+[ve99]
+Kill(0) = batbcld.msk|x
+Kill(1) = bastspp.rep|x
+Kill(2) = basttri.msk|x
+Kill(3) = batbeld.msk|x
+Kill(4) = ve7700a.msk|x
+Kill(5) = batbspt.msk|x
+Kill(6) = ve7300a.msk|x
+Kill(7) = bastcra.rep|x
+Kill(8) = batbfca.msk|x
+Kill(9) = bastgcg.rep|x
+Kill(10) = bastabe.rep|x
+Kill(11) = batbpro.msk|x
+Kill(12) = bastgca.msk|x
+Kill(13) = ve7400a.msk|x
+Kill(14) = batbtag.msk|x
+Kill(15) = batbtri.msk|x
+Kill(16) = baststd.msk|x
+Kill(17) = baststd.rep|x
+Kill(18) = batbrfc.msk|x
+Kill(19) = ve7200a.msk|x
+Kill(20) = batbmre.msk|x
+Kill(21) = bastctr.msk|x
+Kill(22) = batbcau.msk|x
+Kill(23) = ve7400a.ini|x
+Kill(24) = basteld.rep|x
+Kill(25) = batbrfa.msk|x
+Kill(26) = bastcaa.rep|x
+Kill(27) = ve7701a.ini|x
+Kill(28) = bastfrd.rep|x
+Kill(29) = batbgcg.msk|x
+Kill(30) = bastums.rep|x
+Kill(31) = bastgca.rep|x
+Kill(32) = basttri.rep|x
+Kill(33) = batbfrr.msk|x
+Kill(34) = batbums.msk|x
+Kill(35) = bastimb.rep|x
+Kill(36) = bastfca.msk|x
+Kill(37) = bastfrr.msk|x
+Kill(38) = batbbnp.msk|x
+Kill(39) = bastasf.msk|x
+Kill(40) = bastnum.msk|x
+Kill(41) = bastfca.rep|x
+Kill(42) = ve7400conf.ini|x
+Kill(43) = ve7500a.msk|x
+Kill(44) = bastgmc.msk|x
+Kill(45) = bastfrm.rep|x
+Kill(46) = batbfsa.msk|x
+Kill(47) = basttip.rep|x
+Kill(48) = batbstd.msk|x
+Kill(49) = bastcau.msk|x
+Kill(50) = bastrfa.msk|x
+Kill(51) = bastnum.rep|x
+Kill(52) = bastubi.msk|x
+Kill(53) = ve7600a.msk|x
+Kill(54) = ve7100a.msk|x
+Kill(55) = batbprs.msk|x
+Kill(56) = batbspp.msk|x
+Kill(57) = batbcaa.msk|x
+Kill(58) = bastrfc.msk|x
+Kill(59) = bastimb.msk|x
+Kill(60) = bastums.msk|x
+Kill(61) = batbctr.msk|x
+Kill(62) = batbfid.msk|x
+Kill(63) = bastspp.msk|x
+Kill(64) = batbubi.msk|x
+Kill(65) = bastctr.rep|x
+Kill(66) = bastubi.rep|x
+Kill(67) = basttag.msk|x
+Kill(68) = bastcaa.msk|x
+Kill(69) = bastfrr.rep|x
+Kill(70) = bastcau.rep|x
+Kill(71) = batbtip.msk|x
+Kill(72) = basteld.msk|x
+Kill(73) = bastgcg.msk|x
+Kill(74) = ve7200a.frm|x
+Kill(75) = bastprs.rep|x
+Kill(76) = bastbnp.msk|x
+Kill(77) = batbgsa.msk|x
+Kill(78) = batbasf.msk|x
+Kill(79) = efstbnp.rep|x
+Kill(80) = eftbbnp.msk|x
+Kill(81) = basttag.rep|x
+Kill(82) = batbgca.msk|x
+Kill(83) = ve7.exe|x
+Kill(84) = ve7300a.frm|x
+Kill(85) = batbfrm.msk|x
+Kill(86) = bastrfc.rep|x
+Kill(87) = batbnum.msk|x
+Kill(88) = bastcra.msk|x
+Kill(89) = bastfrd.msk|x
+Kill(90) = bastprs.msk|x
+Kill(91) = batbcra.msk|x
+Kill(92) = bastasf.rep|x
+Kill(93) = bastabe.msk|x
+Kill(94) = batbgmc.msk|x
+Kill(95) = bastbnp.rep|x
+Kill(96) = efstbnp.msk|x
+Kill(97) = batbabe.msk|x
+Kill(98) = batbacr.msk|x
+Kill(99) = batbimb.msk|x
+Kill(100) = batbfrd.msk|x
+Kill(101) = batbprv.msk|x
+Kill(102) = bastgmc.rep|x
+Kill(103) = bastfrm.msk|x
+Kill(104) = basttip.msk|x
+Kill(105) = bastrfa.rep|x
+
+[cg9]
+Edit_19 = cg0 -0
+Edit_20 = cg0 -1
+Edit_26 = cg0 -4
+Edit_5 = cg0 -5
+File(127) = cg0.exe|X
+File(129) = cg0200a.msk|X
+Patch = 598
+Versione = 21511200
+
+[ve]
+Data = 06-07-2018
+Descrizione = Vendite
+Dischi = 1
+Moduli = ba,cg9,pr9,mg9,sv9,in9,ef9
+OEM =
+Patch = 598
+PostProcess = bainst -0 VE
+PreProcess =
+Prezzo(1) =
+Prezzo(2) =
+Versione = 21511200
+
diff --git a/cd/test/ve0598a1.zip b/cd/test/ve0598a1.zip
new file mode 100644
index 000000000..996303575
Binary files /dev/null and b/cd/test/ve0598a1.zip differ
diff --git a/src/ba/ba3700a.uml b/src/ba/ba3700a.uml
index f9a33e49f..3a5749250 100755
--- a/src/ba/ba3700a.uml
+++ b/src/ba/ba3700a.uml
@@ -38,7 +38,7 @@ END
LIST F_CONDPAGSDI 4 20
BEGIN
- PROMPT 20 1 "Tipo di pagamento "
+ PROMPT 30 1 "Tipo di pagamento "
FIELD S12
ITEM "TP01|TP01 A rate"
ITEM "TP02|TP02 Completo"
diff --git a/src/ba/batbclr.uml b/src/ba/batbclr.uml
index bc150adf0..180556eb6 100755
--- a/src/ba/batbclr.uml
+++ b/src/ba/batbclr.uml
@@ -52,10 +52,10 @@ END
STRING F_MODPAG 4
BEGIN
- PROMPT 20 4 "Tipo pagamento "
+ PROMPT 30 4 "Tipo pagamento "
SHEET "Codice|Tipo pagamento@32"
- INPUT S_MODPAG
- OUTPUT S_MODPAG
+ INPUT F_MODPAG
+ OUTPUT F_MODPAG
CHECKTYPE REQUIRED
FIELD S12
ITEM "MP01|contanti"
diff --git a/src/bs/bs0300.cpp b/src/bs/bs0300.cpp
index 015eeb59a..cc166a105 100644
--- a/src/bs/bs0300.cpp
+++ b/src/bs/bs0300.cpp
@@ -300,6 +300,7 @@ void TSknet_sync::load_their_origine(TISAM_recordset& out_set, const char* in_ta
else
if (err == _iskeynotfound)
{
+ bool keyfull = true;
file.zero();
FOR_EACH_ARRAY_ROW(pairs, r, row)
{
@@ -309,6 +310,13 @@ void TSknet_sync::load_their_origine(TISAM_recordset& out_set, const char* in_ta
tfld = row->get_int(); tfld--;
def = row->get();
+ // Controllo che il campo sia corretto
+ if (key_fields.get_pos(cfld) >= 0 && odbc.get(bfld).is_empty())
+ {
+ keyfull = false;
+ break;
+ }
+
if (cfld[0] >= 'A' && cfld.find("->"))
{
const TString& nov = !odbc.get(bfld).is_empty() ? odbc.get(bfld).as_string() : (def.blank() ? "" : def);
@@ -318,7 +326,7 @@ void TSknet_sync::load_their_origine(TISAM_recordset& out_set, const char* in_ta
file.put(cfld, nov);
}
}
- if (file.write() == 0)
+ if (keyfull && file.write() == 0)
_log->log(1, str);
else
{
@@ -427,6 +435,10 @@ void TSknet_sync::sync_anamag()
TLocalisamfile umart(LF_UMART);
TRectype rumart(LF_UMART);
const TString& codpadre = odbcunit.get("CodPadre").as_string();
+ // Quel coglione mette codart blank e non è in grado di sistemarlo...
+ // E non so se ci sono solo spazi nel codice, quindi devo farlo a mano da codice
+ if (codpadre.blank())
+ continue;
rumart.put("CODART", codpadre);
rumart.put("NRIGA", 1);
rumart.put("UM", "PZ");
@@ -463,7 +475,7 @@ void TSknet_sync::sync_anamag()
const TString& codpadre = odbc.get("CodPadre").as_string();
rccor.put(CODCORR_CODART, codpadre);
rccor.put(CODCORR_NRIGA, 1);
- if (ccor.read(rccor, _isequal) == NOERR)
+ if (codpadre.full() && ccor.read(rccor, _isequal) == NOERR)
{
while (rccor.get(CODCORR_CODART) == codpadre)
{
@@ -483,8 +495,14 @@ void TSknet_sync::sync_anamag()
int riga = 1;
const TString& codpadre = odbc.get("CodPadre").as_string();
const TString& codarticolo = odbc.get("CodArticolo").as_string();
+
+ if (codpadre.blank() || codarticolo.blank())
+ continue;
+
rccor.put(CODCORR_CODART, codpadre);
rccor.put(CODCORR_NRIGA, riga);
+
+ // E quel coglione mette sempre codart == codartalt...
if (codpadre != codarticolo && ccor.read(rccor, _isequal) == NOERR)
{
while (add && rccor.get(CODCORR_CODART) == codpadre)
@@ -524,6 +542,8 @@ void TSknet_sync::sync_anamag()
art.first(); // Useless??
rart.zero();
rart.put(ANAMAG_CODART, odbc.get("Cod_PK").as_string());
+ if (odbc.get("Cod_PK").as_string().blank())
+ continue;
if (rart.read(art, _isequal) == NOERR)
{
static TString catCON;
diff --git a/src/cg/cg0200.cpp b/src/cg/cg0200.cpp
index d77b825c3..2c1bfbd7d 100755
--- a/src/cg/cg0200.cpp
+++ b/src/cg/cg0200.cpp
@@ -580,9 +580,9 @@ bool TClifo_application::stato_handler(TMask_field& f, KEY k)
bool TClifo_application::coddest_handler(TMask_field& f, KEY k)
{
// Controllo che il codice immesso sia di 6/7 cifre in base al clifo
- if(f.focusdirty() && !f.empty() &&
- ((f.mask().get_int(F_ALLEG) == 7 && f.get().size() != 6) || // P.A.
- (f.mask().get_int(F_ALLEG) != 7 && f.get().size() != 7))) // Privato
+ if(f.focusdirty() && !f.empty() && f.to_check(k) &&
+ ((f.mask().get_int(F_ALLEG) == 7 && f.get().len() != 6) || // P.A.
+ (f.mask().get_int(F_ALLEG) != 7 && f.get().len() != 7))) // Privato
{
warning_box("Lunghezza codice destinatario incoerente");
}
diff --git a/src/cg/cg1500.cpp b/src/cg/cg1500.cpp
index c5122e679..12087010f 100755
--- a/src/cg/cg1500.cpp
+++ b/src/cg/cg1500.cpp
@@ -120,6 +120,10 @@ class TStampa_bilanci : public TPrintapp
int _stampa_mov_prov;
TBill _bill_from, _bill_to;
TArray _clienti, _fornitori;
+
+#ifdef CONT_SEP
+ virtual const char * extra_modules() const { return "CG"; }
+#endif
public:
TDate _inizioEs, _fineEs;
diff --git a/src/cg/cg3100.cpp b/src/cg/cg3100.cpp
index ab0e1c637..600230428 100755
--- a/src/cg/cg3100.cpp
+++ b/src/cg/cg3100.cpp
@@ -92,7 +92,11 @@ protected:
bool codiva_filter(const TRelation* rel) const;
bool rmoviva_filter(const TRectype& rmoviva) const;
-
+
+#ifdef CONT_SEP
+ virtual const char * extra_modules() const { return "CG"; }
+#endif
+
public:
bool user_create();
bool user_destroy();
diff --git a/src/cg/cg3200.cpp b/src/cg/cg3200.cpp
index b5d787810..231952060 100755
--- a/src/cg/cg3200.cpp
+++ b/src/cg/cg3200.cpp
@@ -145,6 +145,11 @@ protected:
bool sheet2mask();
const char* real2str(const real& r) const;
+
+#ifdef CONT_SEP
+ virtual const char * extra_modules() const { return "CG"; }
+#endif
+
public:
diff --git a/src/cg/cg3600.cpp b/src/cg/cg3600.cpp
index 28c37a314..83f23020c 100755
--- a/src/cg/cg3600.cpp
+++ b/src/cg/cg3600.cpp
@@ -53,6 +53,9 @@ protected:
virtual bool create();
virtual void main_loop();
virtual bool destroy();
+#ifdef CONT_SEP
+ virtual const char * extra_modules() const { return "CG"; }
+#endif
public:
TQuery_mask & query_mask() { return *_qm; }
diff --git a/src/fp/fp0100a.uml b/src/fp/fp0100a.uml
index e2dbcc807..379959865 100644
--- a/src/fp/fp0100a.uml
+++ b/src/fp/fp0100a.uml
@@ -12,7 +12,7 @@ ENDPAGE
PAGE "Configurazione FP" 0 2 0 0
-GROUPBOX DLG_NULL 78 6
+GROUPBOX DLG_NULL 78 10
BEGIN
PROMPT 1 1 "@BDatabase"
END
@@ -50,7 +50,6 @@ STRING F_FLDDEST 50
BEGIN
PROMPT 2 6 "Destinazione Server "
FLAGS ""
- CHECKTYPE REQUIRED
END
STRING F_FLDUSRDEST 50
diff --git a/src/fp/fp0300.cpp b/src/fp/fp0300.cpp
index 6288a173d..d978853c9 100644
--- a/src/fp/fp0300.cpp
+++ b/src/fp/fp0300.cpp
@@ -501,7 +501,7 @@ void TPA_mask::fill()
row->add(rec.get(DOC_ANNO).as_int(), 1);
row->add(rec.get(DOC_CODNUM).as_string());
row->add(rec.get(DOC_TIPODOC).as_string());
- row->add(rec.get("400.S3").as_string().mid(37,4));
+ row->add(td.tipo_doc_sdi());
row->add(rec.get(DOC_NDOC).as_int());
row->add(rec.get(DOC_DATADOC).as_date());
row->add(rec.get(CFV_CODCF).as_int());
diff --git a/src/fp/fp0300a.uml b/src/fp/fp0300a.uml
index b37f449f5..df6dcf8e4 100644
--- a/src/fp/fp0300a.uml
+++ b/src/fp/fp0300a.uml
@@ -43,7 +43,7 @@ BEGIN
FIELD TIPODOC
HELP "Codice tipo documento"
USE %TIP
- SELECT S12!=""
+ SELECT S3[37,40]!=""
INPUT CODTAB F_DATIPODOC
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
@@ -59,7 +59,7 @@ BEGIN
FIELD TIPODOC
HELP "Codice tipo documento"
USE %TIP
- SELECT S12!=""
+ SELECT S3[37,40]!=""
INPUT CODTAB F_ATIPODOC
DISPLAY "Codice" CODTAB
DISPLAY "Descrizione@50" S0
diff --git a/src/np/np0100.cpp b/src/np/np0100.cpp
index 385c67377..bc8764645 100755
--- a/src/np/np0100.cpp
+++ b/src/np/np0100.cpp
@@ -4,6 +4,7 @@
class TTabmod_applicat : public TTable_module_application
{
+ virtual const char * extra_modules() const { return "CG"; }
};
int np0100(int argc, char* argv[])
diff --git a/src/np/np0200.cpp b/src/np/np0200.cpp
index 9ce532443..cf1bb8890 100755
--- a/src/np/np0200.cpp
+++ b/src/np/np0200.cpp
@@ -51,6 +51,7 @@ protected:
long ultima_registrazione();
void compila_testata(int anno,const TDate& datareg,const TString& codcaus,const TDate& datacomp);
void registra_pn();
+ virtual const char * extra_modules() const { return "CG"; }
public:
virtual bool create();
diff --git a/src/tp/tp0102.cpp b/src/tp/tp0102.cpp
index 7481b18be..a0aa47d42 100755
--- a/src/tp/tp0102.cpp
+++ b/src/tp/tp0102.cpp
@@ -842,8 +842,8 @@ bool TPack_ddt::trasferisci()
if (peso_imballo_ddt.is_zero())
peso_imballo_ddt = peso_imballo_anamag;
- if (pesi_anamag > 1) // Con imballi composti da vari materiali devo riportare o riproporzionare
- {
+ // if (pesi_anamag > 1) // Con imballi composti da vari materiali devo riportare o riproporzionare
+// {
// Arrotondo la eventuale differenza di pesi al grammo
real diff = peso_imballo_ddt - peso_imballo_anamag; diff.round(3);
// Il peso in bolla e' diverso da quello in anagrafica: devo riproporzionarli
@@ -861,12 +861,12 @@ bool TPack_ddt::trasferisci()
FOR_EACH_CONFIGURED_CONAI_CLASS(cc)
rdoc.put(conai_peso_name(cc), art.conai_weight(cc));
}
- }
+ /* }
else
{
// Caso semplice della sola carta
rdoc.put(conai_peso_name(CONAI_CARTA), peso_imballo_ddt);
- }
+ } */
rdoc.put("FAMILY", get_str("FamilyCode")); // Uso campo virtuale RG1:FAMILY
}