Llamamos formulario de mantenimiento básico a un formulario con un grid, que sirve para mantener una tabla sencilla, con pocos campos y ningún tipo de complejidad añadida.
Con esta herramienta podremos acceder a los registros de una tabla, ya sea para consulta o editar la información. Se programa en cuestión de unos pocos minutos. Es sumamente útil para mantenimiento de tablas de maestros o tipos.
Ejemplos como éste tenemos en toda la aplicación, sobre todo si echamos un vistazo a nuestro menú de mantenimiento de tipos. Por ejemplo mantenimiento de tipos de artículos, o Idiomas.
IMPORTANTE: Si queremos usar tablas personalizadas en este proceso deben tener los campos necesarios siguiendo la guía de estilo de Ahora ERP, que son IdDoc, InsertUpdate, Usuario y FechaInsertUpdate con sus correspondientes valores por defecto y su nombre debe empezar siempre por "Pers_".
Adjuntamos un ejemplo que sirve para la creación de dichos campos:
[IdDoc] [dbo].[T_Id_Doc] IDENTITY(1,1) NOT NULL, [InsertUpdate] [dbo].[T_CEESI_Insert_Update] CONSTRAINT [DF_Pers_NOMBRETABLA_InsertUpdate] DEFAULT ((0)) NOT NULL, [Usuario] [dbo].[T_CEESI_Usuario] CONSTRAINT [DF_Pers_NOMBRETABLA_Usuario] DEFAULT (user_name()) NOT NULL, [FechaInsertUpdate] [dbo].[T_CEESI_Fecha_Sistema] CONSTRAINT [DF_Pers_NOMBRETABLA_FechaInsertUpdate] DEFAULT (getdate()) NOT NULL
Código VB6:
Sub Main() frmAux.Descargar 'ATENCIÓN: DEBE ESTAR SIEMPRE QUE NO SE MUESTRE EL FORMULARIO. Set lFrm = gcn.ahoraproceso ("NewFrmMantenimiento",False,gcn) lfrm.Form.NombreForm = "Pers_frmMant_Idiomas" With lFrm.Grid("Idiomas") ' NO_TRADUCIR_TAG .Agregar = True .Editar = True .Eliminar = True .CargaObjetos = False .EditarPorObjeto = False .Grid.HeadLines = 2 .AgregaColumna "IdIdioma", 2500, "Id.Idioma", False .AgregaColumna "Descrip", 2500, "Descripción",False .From = "Idiomas" .Where = "" .ColumnaEscalada = "Descrip" .OrdenMultiple = "Descrip" .RefrescaSinLoad = True .Refresca = True End With lFrm.Form.Caption = "Mantenimiento de Idiomas " lFrm.Carga , False, 4 End Sub
Código C#:
using AhoraAsistentes; using AhoraCore; using AhoraOCX; using AhoraSistema; namespace AhoraScriptsVacia { public class Script_0 : AhoraOCX.AhoraBaseScript { public void Main() { IFrmMantenimientos lFrm = (IFrmMantenimientos)gCn.AhoraProceso("NewFrmMantenimiento", out _, gCn); lFrm.NombreForm = "Pers_frmMant_Idiomas"; ICntGridUsuario lGrid = lFrm["Idiomas"]; lGrid.Agregar = true; lGrid.Editar = true; lGrid.Eliminar = true; lGrid.CargaObjetos = false; lGrid.EditarPorObjeto = false; lGrid.GridHeadLines = 2; lGrid.AgregaColumna("IdIdioma", 133, "Id.Idioma", false); lGrid.AgregaColumna("Descrip", 133, "Descripción", false); lGrid.From = "Idiomas"; lGrid.Where = ""; lGrid.ColumnaEscalada = "Descrip"; lGrid.OrdenMultiple = "Descrip"; lGrid.RefrescaSinLoad = true; lGrid.Refresca = true; lFrm.Form.Text = "Mantenimiento de Idiomas"; lFrm.Carga(null, false, EBotonesMant.eBotMant_Cerrar); } } }