OBSOLETO. Usar Formulario Genérico
Es una herramienta muy útil, que se utiliza para generar un formulario de manera dinámica, creando controles por código.
Con ella podemos también capturar los eventos de cada control, desde el propio código de script.
Es ideal para cuando necesitamos pedir una serie de datos por pantalla y luego utilizarlos para lanzar un proceso.
'IMPORTANTE:
'Se recomienda no usar este formulario. Es mas eficiente y eficaz el frmGenerico.
'Se debe de declarar los eventos en el propio script. Este formulario no admite programación de pantallas.
'Si no se declaran los eventos (before, after ...) da error.
'NOTA: A partir de la versión 3.8.900 disponemos de otro formulario similar, llamado "formulario genérico". Es un formulario vacío, al que le podemos dar 'funcionalidad programando sus eventos, como otro formulario estándar de la aplicación.
Ver código ejemplo
Sub Main()
frmAux.cntMenu.NoMostrar = True
frmAux.cntMenu.Ready = True
frmAux.Caption = "Buscar Facturas por Zona y Ruta"
Set frmAux.Icon = gCn.Obj.Objetos("Facturas").Icono1Icono
frmAux.EnlaceObjetos(0).Caption = "Buscar Facturas por Zona y Ruta"
frmAux.EnlaceObjetos(0).Visible = True
frmAux.EnlaceObjetos(0).ZOrder 0
frmAux.cntPanelUsuario(0).ResizeEnabled = True
frmAux.cntPanelUsuario(0).ResizeV = 1
frmAux.cntPanelUsuario(0).Visible = True
frmAux.cntPanelUsuario(0).ResizeEnabled = True
frmAux.cntPanelUsuario(0).ResizeRestanteV = True
frmAux.cntPanelUsuario(0).ResizeV = 2
frmAux.cntPanelUsuario(0).Estilo = 0 'eEst_Panel_Recuadro
frmAux.AnyadirControl frmAux.ComboUsuario
With frmAux.ComboUsuario(0)
.C1Nombre = "Zona"
.C2Nombre = "Descrip"
.C1TipoDato = 3
.C2TipoDato = 8
.C1Anchura = 1000
.C2Anchura = 4000
.NColumnas = 2
.Descripcion = "select Zona, Descrip FROM Zonas"
.CActiva = 1
.CaptionControl = "Zona"
.CaptionVisible = True
.CaptionLink = True
.CaptionWidth = 800
.Visible = True
.ObjPOrigen = "Zona"
Set .Container = frmAux.cntPanelUsuario(0)
.Move 100, 100, 5000, 300
End With
With frmAux.ComboUsuario(1)
.C1Nombre = "Zona"
.C2Nombre = "Descrip"
.C1TipoDato = 3
.C2TipoDato = 8
.C1Anchura = 1000
.C2Anchura = 4000
.NColumnas = 2
.Descripcion = "select IdRuta,Descrip FROM Rutas"
.CActiva = 1
.CaptionControl = "Ruta"
.CaptionVisible = True
.CaptionLink = True
.CaptionWidth = 800
.Visible = True
Set .Container = frmAux.cntPanelUsuario(0)
.Move frmAux.ComboUsuario(0).Left, frmAux.ComboUsuario(0).Top + frmAux.ComboUsuario(0).Height + 50, frmAux.ComboUsuario(0).Width, frmAux.ComboUsuario(0).Height
End With
frmAux.Botonera(0).Visible = True
frmAux.Botonera(0).SeguridadObjeto = 0 'eMenuNinguno
frmAux.Botonera(0).BotonesMantenimiento = 3 'eBotMant_AceptarCancelar
frmAux.Botonera(0).ResizeEnabled = True
frmAux.Botonera(0).ResizeV = 10
frmAux.width = 5500
frmAux.height = 3000
frmAux.show 1
frmAux.Descargar 'ATENCIÓN: DEBE ESTAR SIEMPRE QUE NO SE MUESTRE EL FORMULARIO.
End Sub
Public Sub Botonera_ToolClicked(Index, aTool)
If aTool.name = "botAceptar" Then
Dim lCol 'As AhoraSistema.Colecciones
If "" & frmAux.ComboUsuario(0).text = "" Then
MsgBox "Introduce una Zona."
Exit Sub
End If
If "" & frmAux.ComboUsuario(1).text = "" Then
Set lCol = gcn.obj.dameColeccion("Facturas","where IdCliente in (select IdCliente from Clientes_Datos_Comerciales WHERE Zona = " & frmAux.ComboUsuario(0).text & ")",,False)
Else
Set lCol = gcn.obj.dameColeccion("Facturas","where IdCliente in (select IdCliente from Clientes_Datos_Comerciales WHERE Zona = " & frmAux.ComboUsuario(0).text & " AND IdRuta = " & frmAux.ComboUsuario(1).text & ")",,False)
End If
If Not lCol Is Nothing Then
If lcol.Count>0 Then
frmAux.visible = False
lCol.show
Else
MsgBox "No se ha encontrado ninguna factura."
End If
Set lCol = Nothing
End If
Else
frmAux.visible = False
End If
End Sub
Public Sub ComboUsuario_BeforeUpdate(Index)
'If Index = 0 Then
' frmAux.ComboUsuario(1).descripcion = "select IdRuta,Descrip FROM Rutas WHERE Zona = " & frmAux.ComboUsuario(0).text
'End If
End Sub
Sub TextoAlinDerecha_AfterUpdate(Index)
End Sub
Sub TextoUsuario_AfterUpdate_(Index) 'Declarar
End Sub
Sub TextoUsuario_DblClick_(Index)
End Sub
Sub TextoMultilinea_AfterUpdate(Index)
End Sub
Sub ComboUsuario_DblClick(Index)
End Sub
Sub ComboUsuario_AfterUpdate(Index)
End Sub
Autor: Daniel Ernesto Lutz Llano
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo