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:


 '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 


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