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);
        }
    }
}