Permite la edición de los objetos del ERP, mediante un grid.
Esto permite que podamos ver y editar en 2 tablas, la tabla de objeto y la de sus configurables.
La clave de esta configuración radica en establecer la propiedad .EditarPorObjeto = True y "setear" una colección en la propiedad colección.
---------------------------
.EditarPorObjeto = True ' El guardado de los datos se hace a través del objeto.
Set .Coleccion = gcn.Obj.dameColeccion ("Articulos", "where IdArticulo <> ''") ' Cargar una colección ya filtrada
ADEMÁS:
Set .Coleccion = gcn.Obj.dameColNothing ("Articulos") ' carga una colección vacía. Es más rápido y útil si quiero cargar una grid sin datos para que el filtrado lo haga el usuario.
.CargaObjetos = False ' Estando a false, me permite modificar los campos FROM y WHERE del grid.
---------------------------
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 = "frmMantPers_Articulos"
With lFrm.Grid("Articulos")' NO_TRADUCIR_TAG
.Agregar = False
.Editar = True
.Eliminar = False
.CargaObjetos = False
.EditarPorObjeto = True
Set .Coleccion = gcn.Obj.dameColeccion ("Articulos", "where IdArticulo <> ''")
.Grid.HeadLines = 2
.AgregaColumna "IdArticulo", 2500, "IdArticulo", True,"Select IdArticulo,IdArticulo IdArt, Descrip from Articulos order by Idarticulo"
.AgregaColumna "Descrip", 2000, "Descripción",True
.AgregaColumna "Alto", 2000, "Alto",False
.AgregaColumna "Ancho", 2000, "Ancho",False
.From = "VDLG_Articulos"
.Where = ""
.campo ("IdArticulo").Coleccion = "Articulos"
.campo ("IdArticulo").ColeccionWhere = "Where IdArticulo = @IdArticulo"
.OrdenMultiple = "IdArticulo"
.RefrescaSinLoad = True
.Refresca = True
End With
lFrm.MuestraFiltro("Articulos") = True
lFrm.Form.Caption = "Artículos"
lFrm.Carga , False, 4
End SubCó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 = "frmMantPers_ArticulosAlt";
ICntGridUsuario lGrid = lFrm["Artículos"];
lGrid.Agregar = false;
lGrid.Editar = true;
lGrid.Eliminar = false;
lGrid.CargaObjetos = false;
lGrid.EditarPorObjeto = true;
lGrid.Coleccion = gCn.Obj.DameColeccion("Articulos", "where IdArticulo <> ''");
lGrid.GridHeadLines = 2;
lGrid.AgregaColumna("IdArticulo", 133, "IdArticulo", false, "Select IdArticulo,IdArticulo IdArt, Descrip from Articulos order by Idarticulo");
lGrid.AgregaColumna("Descrip", 133, "Descripción", false);
lGrid.AgregaColumna("Alto", 133, "Alto", false);
lGrid.AgregaColumna("Ancho", 133, "Ancho", false);
lGrid.From = "VDLG_Articulos";
lGrid.Where = "";
lGrid.Campo("IdArticulo").Coleccion = "Articulos";
lGrid.Campo("IdArticulo").ColeccionWhere = "Where IdArticulo = @IdArticulo";
lGrid.OrdenMultiple = "IdArticulo";
lGrid.RefrescaSinLoad = true;
lGrid.Refresca = true;
lFrm.SetMuestraFiltro("Artículos", true);
lFrm.Form.Text = "Artículos";
lFrm.Carga(null, false, EBotonesMant.eBotMant_Cerrar);
}
}
}