Saludos:
Me gustaría comentaros un tema interesante. Dispongo de numerosas utilidades desarrolladas en JS, pero para empezar os quiero presentar una de ellas, que nos va a permitir implementar una Papelera de Tablas Maestras (con sus Históricos) y una opción de Deshacer que luego os comento.
Los procesos JS exportan a JSON el contenido de un registro de Tabla Maestra, con todos los registros de sus Históricas asociadas (aquellas cuyo Plural termina en “_ID”). Además, las Tablas Históricas pueden estar en cascada (ejemplo: Documentos → Ficheros de Documento → Comentarios de Ficheros de Documentos. Asientos → Partidas). Incluye campos Objeto Texto, Imagen y Binario. Esta exportación a JSON va a permitir, mediante otro proceso JS, la importación de dichos registros de forma inteligente al usar la opción Deshacer o Recuperar de Papelera. Todo absolutamente automatizado y por Usuario. Además, estos procesos sirven para exportar a JSON la multi selección de cualquier rejilla, y su posterior importación.
Lo primero que tenemos que hacer es usar una cierta metodología para la creación de Tablas, muy sencilla, que nos va a permitir controlar que campos se omiten en la exportación e importación, definir si la Tabla usa Papelera, controlar que no se importen campos que son producto de actualización en las Tablas Históricas, eliminar los campos fórmula, etc. La estructura es estándar y sirve para todas las Tablas.
Una vez conseguido ese modelo de Tablas, podemos implementar en cada Tabla dos funcionalidades: un sistema de Papelera, de tal forma que los registros borrados puedan ser recuperados de dicha Papelera, y una opción de Deshacer (volver al estado original)
La opción de Deshacer os la explico con un sencillo ejemplo: abrimos un Formulario para gestionar un Asiento con sus Partidas. Modificamos algún campo del Asiento, borramos una Partida y creamos una nueva Partida. Pulsando el botón Deshacer volveremos a tener el Asiento tal y como estaba al entrar en el Formulario. Esta opción es automática, tenemos que programar muy poco código y con el pegado inteligente se puede pasar a cualquier otro formulario.
Un ejemplo de la opción de Papelera de Registros: si borramos con multi selección en rejilla (n) Asientos con sus Partidas, serán grabados en la Tabla Papelera, e implementando una sencilla vista de dicha Tabla Papelera, con Arrastrar el registro de la rejilla de la Papelera a la rejilla de la Tabla, será recuperado o restaurado el registro.
Estas dos funcionalidades son bastante apreciada por los clientes o usuarios finales. Si hay gente interesada podría desarrollar un mapa con todos los procesos y funcionalidades necesarias, así como con datos de ejemplo, y realizar una documentación completa que os permita implementarlo de forma sencilla y clara. Necesitaría 2 o 3 semanas. Os dejo mi correo para que me digáis si os interesa, o que canal o forma utilizar para hacéroslo llegar. Gracias por vuestro tiempo.
Solo diré 2 palabras Im-prezionante.