Formulario de Mantenimiento

Consiste en configurar un frmMantenimiento desconectado de la tabla.
Si bien la carga inicial la podemos realizar desde una tabla o vista, al establecer la propiedad SoloArray a true, hacemos que todo cambio que hagamos en el grid no se realice en la tabla origen.

Se utiliza para los casos que debemos preparar la información para luego realizar un proceso de actualización masiva. Generalmente va acompañado de scripts de pantalla que realizan esa función.


Ver código ejemplo


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_ArticulosAlt"
With lFrm.Grid("Articulo alternativos") ' NO_TRADUCIR_TAG
      .Agregar = True
      .Editar = True
      .Eliminar = True
      .CargaObjetos = False
      .EditarPorObjeto = False
      .Grid.HeadLines = 2
      .AgregaColumna "IdArticulo", 2500, "IdArticulo", False,"Select IdArticulo,IdArticulo IdArt, Descrip from Articulos order by Idarticulo"
      .AgregaColumna "IdArticuloAlt", 2500, "Art. Alt.",False,"Select IdArticulo,IdArticulo IdArt, Descrip from Articulos order by Idarticulo"
      .AgregaColumna "@Descrip", 2000, "Descripción",True
      .AgregaColumna "@M", 2000, "Marca",False
      .From = "Pers_Articulos_Alternativos"
      .Where = ""
              .Campo ("@Descrip").Sustitucion = "Select Descrip from Articulos where IdArticulo = @IdArticuloAlt"
              .Campo ("@M").Booleano = True
              .Campo ("@M").Default = True
              .ColumnaEscalada = "@Descrip"
              .campo ("IdArticulo").Coleccion = "Articulos"
              .campo ("IdArticulo").ColeccionWhere = "Where IdArticulo = @IdArticulo"
              .campo ("@Descrip").Coleccion = "Articulos"
              .campo ("@Descrip").ColeccionWhere = "Where IdArticulo = @IdArticuloAlt"
              '.OrdenMultiple = "IdArticulo"
               .RefrescaSinLoad = True

              .Refresca = True
              . soloarray = True
              End With
              lFrm.Form.Width = lFrm.Form.width * 2
              lFrm.Form.Caption = "Artículo alternativos "
               lFrm.Carga , False, 4
End Sub


Autor: Daniel Ernesto Lutz Llano