El comando AhoraProceso es una función que ejecuta un proceso Ahora_Proceso y puede retornar un valor (dependerá de la implementación del método como function o como sub).
Parámetros de llamada al comando:
- Nombre del proceso: String OBLIGATORIO
- Parámetro de retorno: Booleano OBLIGATORIO.
- Array con los parámetros que pide el proceso, OPCIONAL
Ejemplos de utilización:
Código VB6:
'Ejecución simple sin recuperar retorno: gCn.AhoraProceso "DameUbica", False 'Sin parámetros y retornando un valor: lAux = gCn.AhoraProceso("ComprobarUbic", False) 'Utilización del valor retornado: If gCn.AhoraProceso("Subcuenta_Val", False, lIdSubcuenta) Then … 'Con dos parámetros y retornando un valor: Set lFact = gCn.AhoraProceso("GenFact", False, lSerie, lNum) 'Con dos parámetros y sin recuperar retorno. gCn.AhoraProceso "CargaApuntes", False, lIdEjer, lIdalue
Código C#:
// Ejecución simple sin recuperar retorno: gCn.AhoraProceso("DameUbica", out _, gCn); // Sin parámetros y retornando un valor bool lAux = gCn.AhoraProceso("ComprobarUbicaciones", out _, lObj, false, false)); // Utilización del valor retornado: if (gCn.AhoraProceso("Subcuenta_Val", out _, lIdSubcuenta)) { // ... } // Con dos parámetros y retornando un valor IFactura lFact = gCn.AhoraProceso("GenFact", out _, lSerie, lNum); // Con dos parámketros y sin recuperar retorno gCn.AhoraProceso("CargaApuntes", out _, lIdEjer, lIdalue);
Para utilizar parámetros opcionales, se definen en la implementación del método público. En la tabla Ahora_Procesos no se indica nada al respecto de los parámetros.
Siguiendo con el ejemplo, si deseamos que el formulario nos muestre como título una frase que le pasaremos como parámetro:
En Procesos.cls
Public Sub Metodo_Ejemplo (aFrase as String) Dim lFrm As frmPersVentanaEjemplo Set lFrm = New frmPersVentanaEjemplo lFrm.Carga aFrase End Sub
En frmPersVentanaEjemplo.frm:
Public Sub Carga (aTitulo as String) gForm.Caption = aTitulo gCn.Obj.FormShow Me End Sub
Para ejecutarlo podríamos utilizar:
gCn.AhoraProceso "Ahora_Proceso_Ejemplo", False, "Título formulario"
Los parámetros pueden ser opcionales, en cuyo caso deberemos definirlos como tales en la implementación del método público (prefijo Optional en la definición del parámetro), y para evitar errores asegurarnos que se contemplan todas las
posibilidades. Podemos emplear definiciones por defecto (Optional aTitulo as String = "Nada")
Siguiendo con el ejemplo, si deseamos que la frase de título sea opcional y además añadir otro parámetro también opcional que será un integer:
En Procesos.cls
Public Sub Metodo_Ejemplo ( Optional aFrase as String "por defecto", Optional aNum as int = 1) If (num=0) Then Dim lFrm As frmPersVentanaEjemplo Set lFrm = New frmPersVentanaEjemplo lFrm.Carga aFrase else msgbox aFrase End if End Sub
Para ejecutarlo podríamos utilizar cualquiera de estas Variantes:
' Abrir un msgbox que mostrará "por defecto" gCn.AhoraProceso "Ahora_Proceso_Ejemplo", False ' Abrir formulario frmPersVentanaEjemplo y ponerle título "Tít. formulario" gCn.AhoraProceso "Ahora_Proceso_Ejemplo", False, "Tít. formulario", 0 ' Abrir un msgbox que mostrará "hola" gCn.AhoraProceso "Ahora_Proceso_Ejemplo", False, "hola" ,2
Otro ejemplo de utilización del Ahora_Proceso que hemos creado sería personalizar un formulario cualquiera para que lo llame desde una nueva opción de menú.
Para ello añadiríamos este código a la personalización (Crtl+F10) del formulario desde el que queremos ejecutarlo:
'Añadimos la nueva opción en el menú, 'también podríamos hacerlo insertando en tabla Ahora_Menus Sub Show() gForm.Controls("mnuMain").MenuItemAdd "Ejemplo","mnuPersEj","mnuPrincipal" 'necesario para que se ejecute el Menu_AfterExecute: gForm.Controls("mnuMain").ActivarScripts = True End Sub 'Ejecutamos el Ahora Proceso al seleccionar la opción del menu Sub Menu_AfterExecute(aMenu, aMenuItem) If amenuitem.name = "mnuPersEj" Then gCn.AhoraProceso "Ahora_Proceso_Ejemplo", False, "Título", 0 End If End Sub
¿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