Version Toba: 2.0.4
SVN Toba: http://repositorio.siu.edu.ar/svn/toba/trunk_versiones/2.0
Hola,
Estoy pasando datos de una base a otra, hay datos que me llegan con esapacios adelante o atras, para que toba me los ingrese sin hacer trim tuve que usar datos tabla → persistidor() → set_usar_trim(false).
Cuando el dato se corrige (se le saca el espacio) el datos tabla → set($fila) no lo modifica.
Yo imagino que esto pasa por la lógica que hay en en el siguiente método de la clase \nucleo\componentes\persistencia\toba_datos_tabla.php:
function es_campo_modificado($campo, $id_viejos, $datos_nuevos)
{
if (! isset($this->_columnas[$campo])) {
return false;
}
if (isset($this->_datos[$id_viejos][$campo])) {
$viejo = $this->_datos[$id_viejos][$campo];
if (is_bool($viejo)) {
$viejo = $viejo ? 1 : 0;
}
switch ($this->_columnas[$campo]['tipo']) {
case 'N':
//--- Comparacion por igualdad estricta con un cast a Float en caso de Tipo Numero
$modificar = (float)$viejo !== (float)$datos_nuevos[$campo];
break;
default:
//--- Comparacion por igualdad estricta con un cast a string
[b]$modificar = (trim((string) $viejo) !== trim((string) $datos_nuevos[$campo]));[/b]
}
} else {
//--- Si antes era null, se modifica si ahora no es null! (y si es una columna valida)
$modificar = isset($this->_columnas[$campo]) && isset($datos_nuevos[$campo]);
}
return $modificar;
}
Desde ya muchas gracias.