Parámetros Lanzamiento AhoraProceso

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:26 PM por David Miralpeix

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

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo