Se me presento la siguiente situación… La operación está constituida con un cuadro donde el usuario elige una fila y esto dispara un CARGAR de una tabla. Sucede que al consultar la tabla pueden no existir datos para la fila seleccionada. Entonces, una carga sin datos luego de una carga con datos, hace que el datos_tabla permanezca cargado con los datos anteriores…
No se si este comportamiento es o no correcto, lo solucione con un RESETEAR entre carga y carga.
En principio me tomo desprevenido y no entendía porque si no existían filas para la consulta se visualizaban datos, por lo que supongo podría tomarse como un error; ya que el cargar, a diferencia del anexar_datos, debería, a mi entender, pisar totalmente la carga anterior con los datos nuevos por mas que lo nuevo sea “nada”.
ese es el comportamiento estandar del datos_tabla y creo que parte del problema, es que se abusa del hecho que la carga exitosa reemplace los datos anteriores, cuando en realidad seria necesario hacer un resetear, ya que se trata de dos conceptos diferentes.
Es un comportamiento que viene arrastrado desde el uso, en todo caso el error seria no exigir un resetear, para ser consistentes.
Resetearlo no implica unicamente vaciar la variable que contiene los datos, sino reinicializar estructuras de control de operaciones, el mecanismo de locking optimista, cursores, etc.
Por tanto es necesario hacer un resetear cuando no se va a seguir operando con los datos incluidos en memoria, seria raro que el solo hecho de que la consulta no retorne datos al intentar cargar el datos_tabla, dispare un resetear de manera oculta, no se… pienso en como escribiria la documentacion del metodo para dejarlo explicito y me suena raro.