Desde la versión de novedades 4.4.2400.64, en Ahora TPV se incluye la posibilidad de editar registros en cualquier tabla (GRID) estándar o creada desde el Personalizador.


En este documento se va a detallar las peculiaridades de la edición en tabla, así como mostrar un ejemplo de edición para la tabla de líneas de ticket de venta en el entorno clásico, metodología extensible y aplicable a cualquier otra tabla de Ahora TPV.


Edición de Tabla


Toda tabla (GRID) de Ahora TPV es susceptible de personalizarse para permitir la edición directa en la misma, sin necesidad de pasar por una ventana (MODELO) específica de petición de datos.


Para permitir la edición es necesario realizar una serie de pasos desde el personalizador tanto para establecer que la tabla puede entrar en modo edición, como para especificar qué campo se van a editar y qué procedimiento almacenado de guardado (ORIGEN DE DATOS) se ejecutará para realizar la actualización del registro concreto. 



NOTA

De forma estándar se ha incluido el origen de datos para la actualización de las líneas de ticket de venta. Este origen de datos EG - Edición Grid Tickets Líneas permite modificar la cantidad, los cinco descuentos de línea, la descripción del artículo y el precio del mismo.



Los pasos necesarios, a modo de resumen introductorio, son:

  • Creación de un procedimiento almacenado que reciba los datos de entrada en formato XML y lleve a cabo el guardado de los mismos con la lógica funcional que se requiera en cada caso. Para facilitar la definición de estos procedimientos almacenados, desde fábrica se ha incluido el procedimiento pTPV_EG_TicketLinea para utilizarse como guía en desarrollos personalizados. Este procedimiento almacenado recibe la descripción, descuentos, cantidad e importe y llama al procedimiento estándar de guardado de la línea de Ticket. 
  • Creación desde el personalizador de un origen de datos para el guardado del registro. Este origen de datos enviará todos los datos incluidos en la tabla (esté la columna visible o no) en formato XML al procedimiento almacenado establecido en el mismo.
  • Personalización en la tabla (Editor de Grids) para añadir las columnas que se desean editar, modificar los check de "editable" de las mismas, e incluir el origen de datos en la nueva sección
  • Incluir en la personalización de la tabla el nuevo origen de datos creado para procesar el guardado de la fila.


Estos pasos se detallarán en el artículo con el caso de uso de la edición en la tabla de líneas de ticket de venta. Una vez añadido el origen de datos a la tabla, y si esta contiene columnas marcadas como editables, al posicionar el cursor en uno de estos campos se entrará en modo edición permitiendo modificar el contenido del mismo libremente.


Consideraciones Técnicas y Funcionales


Recogemos, en este apartado, algunos datos a tener en cuenta en la edición de tabla que permitirán un mejor uso del mismo así como clarificar aspectos funcionales que podrían inducir a equívoco si no se tienen en cuenta.


  • Cualquier campo que no esté incluido funcionalmente en el procedimiento almacenado de guardado no propagará el cambio de la tabla de la TPV a la tabla de SQL. Es decir, si ya se tiene un origen de datos en una tabla, añadir un nuevo campo desde el personalizador requiere añadir este campo al procedimiento almacenado para que se trate y se guarde. El proceso no es automático, quedando en manos del técnico que personalice la tabla la decisión de qué se puede modificar y qué no.
  • La edición dentro de la tabla sólo se aplica a campos de tipo texto, porcentaje, cantidad y precio. Modificar un campo de la tabla para hacerlo editable si este campo tiene otro tipo de dato, no tendrá efecto en el modo edición quedando como siempre.
  • El guardado de la fila se realiza cuando se pierde el foco de la línea. En tablas marcadas como Multiselección el foco de la línea no se pierde de forma natural, por tanto la edición si bien es posible, es poco usable. En estos casos se debería desmarcar la línea con el ratón para ejecutar la función de guardado. Por este motivo, la edición de tabla solo es útil aplicada a tablas con Selección Única.
  • La navegación por dentro de la tabla responde tanto al tabulador como al intro, saltando al siguiente campo de edición libre en la fila. En caso de ser el último, salta a la siguiente fila editable. También se puede navegar entre filas con las teclas de flecha arriba y flecha abajo, subiendo o bajando al mismo campo editable en el que nos encontramos.
  • En caso de tener sólo una fila, el guardado se lleva a cabo cuando se sale de la misma usando las teclas de flecha arriba o flecha abajo.
  • Dentro de cada columna de tipo precio, cantidad o porcentaje, se puede utilizar tanto la 'coma' como el 'punto' para identificar la parte decimal del número.


En el siguiente ejemplo TPV - Caso Práctico 6 - Edición en tabla de líneas de Ticket se mostrará, paso a paso, cómo personalizar la tabla de líneas de ticket de venta para permitir la edición de precio, cantidad, descuentos y descripción.