diff --git a/foxbin2prg.prg b/foxbin2prg.prg
index c1b9fc4..1ac51d0 100644
--- a/foxbin2prg.prg
+++ b/foxbin2prg.prg
@@ -108,6 +108,7 @@
* 26/09/2014 FDBOZZO v1.19.35 Mejora: Generar siempre el mismo Timestamp y UniqueID para los binarios minimizaría los cambios al regenerarlos (Marcio Gomez G.)
* 08/10/2014 FDBOZZO v1.19.36 Arreglo bug: Al generar el mn2 el identificador queda vacío (bug introducido en v1.19.35)
* 19/11/2014 FDBOZZO v1.19.37 Arreglo bug: "String is too long to fit" cuando se procesa un DBF grande con DBF_Conversion_Support = 4 (edyshor)
+* 19/11/2014 FDBOZZO v1.19.37 Mejora dbf: Nuevo parámetro ClearDBFLastUpdate para evitar diferencias por este dato (edyshor)
*
*
*---------------------------------------------------------------------------------------------------
@@ -155,6 +156,7 @@
* 19/09/2014 Jim Nelson REPORTE BUG v1.19.33: Si se ejecuta FoxBin2Prg desde ventana de comandos FoxPro para un proyecto y hay algún archivo abierto o cacheado, se produce un error (solucionado en v1.19.34)
* 26/09/2014 Marcio Gomez G. MEJORA v1.19.34: Generar siempre el mismo Timestamp y UniqueID para los binarios minimizaría los cambios al regenerarlos (Agregado en v1.19.35)
* 19/11/2014 edyshor REPORTE BUG dbf v1.19.36: "String is too long to fit" cuando se procesa un DBF grande con DBF_Conversion_Support = 4 (Agregado en v1.19.37)
+* 19/11/2014 edyshor MEJORA dbf v1.19.36: Nuevo parámetro ClearDBFLastUpdate para evitar diferencias por este dato (Agregado en v1.19.37)
*
*
*---------------------------------------------------------------------------------------------------
@@ -515,6 +517,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -594,6 +597,7 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
l_Recompile = .T.
l_NoTimestamps = .T.
l_ClearUniqueID = .T.
+ l_ClearDBFLastUpdate = .T.
l_OptimizeByFilestamp = .F.
l_MethodSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
l_PropSort_Enabled = .T. && Para Unit Testing se puede cambiar a .F. para buscar diferencias
@@ -744,6 +748,15 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
ENDPROC
+ PROCEDURE l_ClearDBFLastUpdate_ACCESS
+ IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
+ RETURN THIS.l_ClearDBFLastUpdate
+ ELSE
+ RETURN NVL( THIS.o_Configuration( THIS.n_CFG_Actual ).l_ClearDBFLastUpdate, THIS.l_ClearDBFLastUpdate )
+ ENDIF
+ ENDPROC
+
+
PROCEDURE l_OptimizeByFilestamp_ACCESS
IF THIS.n_CFG_Actual = 0 OR ISNULL( THIS.o_Configuration( THIS.n_CFG_Actual ) )
RETURN THIS.l_OptimizeByFilestamp
@@ -1250,6 +1263,13 @@ DEFINE CLASS c_foxbin2prg AS CUSTOM
.writeLog( JUSTFNAME(lcConfigFile) + ' > ClearUniqueID: ' + TRANSFORM(lcValue) )
ENDIF
+ CASE LEFT( laConfig(I), 19 ) == LOWER('ClearDBFLastUpdate:')
+ lcValue = ALLTRIM( SUBSTR( laConfig(I), 20 ) )
+ IF INLIST( lcValue, '0', '1' ) THEN
+ lo_CFG.l_ClearDBFLastUpdate = ( TRANSFORM(lcValue) == '1' )
+ .writeLog( JUSTFNAME(lcConfigFile) + ' > ClearDBFLastUpdate: ' + TRANSFORM(lcValue) )
+ ENDIF
+
CASE LEFT( laConfig(I), 20 ) == LOWER('OptimizeByFilestamp:')
lcValue = ALLTRIM( SUBSTR( laConfig(I), 21 ) )
IF NOT INLIST( TRANSFORM(tcOptimizeByFilestamp), '0', '1' ) AND INLIST( lcValue, '0', '1' ) THEN
@@ -7947,7 +7967,12 @@ DEFINE CLASS c_conversor_prg_a_dbf AS c_conversor_prg_a_bin
USE IN (SELECT(JUSTSTEM(.c_OutputFile)))
*-- La actualización de la fecha sirve para evitar diferencias al regenerar el DBF
- ldLastUpdate = EVALUATE( '{^' + toTable._LastUpdate + '}' )
+ IF toFoxBin2Prg.l_ClearDBFLastUpdate THEN
+ ldLastUpdate = EVALUATE( '{^2013/11/04}' )
+ ELSE
+ ldLastUpdate = EVALUATE( '{^' + toTable._LastUpdate + '}' )
+ ENDIF
+
loDBFUtils.write_DBC_BackLink( .c_OutputFile, toTable._Database, ldLastUpdate )
ENDWITH && THIS
@@ -16374,7 +16399,7 @@ DEFINE CLASS CL_DBF_TABLE AS CL_CUS_BASE
<>
<<>> <>
<<>> <>
- <<>> <>
+ <<>> <>
<<>> <>
<<>> <>
<<>> <>
@@ -20149,6 +20174,7 @@ DEFINE CLASS CL_CFG AS CUSTOM
+ [] ;
+ [] ;
+ [] ;
+ + [] ;
+ [] ;
+ [] ;
+ [] ;
@@ -20187,6 +20213,7 @@ DEFINE CLASS CL_CFG AS CUSTOM
l_Recompile = NULL
l_NoTimestamps = NULL
l_ClearUniqueID = NULL
+ l_ClearDBFLastUpdate = NULL
l_OptimizeByFilestamp = NULL
n_ExtraBackupLevels = NULL
c_VC2 = NULL