Diferencia entre revisiones de «Eventos»

De Egeasy
Saltar a: navegación, buscar
(Ejemplos)
(Ejemplos)
Línea 27: Línea 27:
 
===Ejemplos===
 
===Ejemplos===
  
  {{PR|tipo}} [ID1::Expediente de fiscalización] {{PR|es}} [Expediente de ID]
+
  {{PR|tipo}} [ID1::Expediente de fiscalización] {{PR|es}} {{RE|contenedor}}
 
     -{{AT|descripcion}} = {{STR|"Expediente con el que se lleva a cabo una fiscalización."}};
 
     -{{AT|descripcion}} = {{STR|"Expediente con el que se lleva a cabo una fiscalización."}};
    -{{AT|Al_crear.nombre}} = {{STR|"eventos.Crear"}};
 
 
     -{{AT|Al_guardar.nombre}} = {{STR|"eventos.Guardar"}};
 
     -{{AT|Al_guardar.nombre}} = {{STR|"eventos.Guardar"}};
 
     -{{AT|Al_abrir.plugin}} = {{STR|"AsistenteEntradaMercancia.dll"}};
 
     -{{AT|Al_abrir.plugin}} = {{STR|"AsistenteEntradaMercancia.dll"}};
 
  {{PR|fin}}
 
  {{PR|fin}}
  
  metodo Crear();
+
  {{PR|metodo}} Guardar();
inicio
+
  {{PR|inicio}}
    [Datos generales].[Tipo de expediente] = "Creado";
+
     [Datos generales].[Tipo de expediente] = {{STR|"Guardado"}};
fin
+
 
+
metodo Guardar();
+
  inicio
+
     [Datos generales].[Tipo de expediente] = "Guardado";
+
 
     $guardar(this);
 
     $guardar(this);
  fin
+
  {{PR|fin}}
  
  metodo Abrir();
+
  {{PR|metodo}} Abrir();
  inicio
+
  {{PR|inicio}}
     [Datos generales].[Tipo de expediente] = "Abierto";
+
     [Datos generales].[Tipo de expediente] = {{STR|"Abierto"}};
 
     $guardar(this);
 
     $guardar(this);
  fin
+
  {{PR|fin}}
 +
 
 +
<p>

Revisión del 14:31 14 abr 2009

¿Qué son los eventos en ODL?

Un evento en ODL es un hecho que puede acaecer a la hora de tratar con contenedores o tareas y que conlleva un cambio en el estado de un contenedor o una tarea.

En el caso de los contenedores, los eventos que se pueden producir son los siguientes:

  • Al_crear
  • Al_guardar
  • Al_abrir

Y para el caso de las tareas:

  • Al_crear
  • Al_comenzar
  • Al_finalizar
  • Al_abandonar

¿Para qué sirven?

La utilidad que nos proporcionan los eventos es poder ejecutar código ODL, invocar métodos o lanzar plugins cuando se produce alguno de los eventos comentados en la sección anterior.

Es decir, primero se produce el evento, y luego se ejecuta o bien nuevo código ODL, un método o un plugin.

¿Cuál es su sintaxis?

Para definir un evento y especificar una acción a posteriori utilizaremos tres atributos que podremos combinar con todos aquellos eventos que hemos visto, ya sean de contenedor o de tarea:

-<Nombre_evento>.codigo ==> Para ejecutar código ODL
-<Nombre_evento>.metodo ==> Para ejecutar un método
-<Nombre_evento>.plugin ==> Para ejecutar un plugin, especificando la dll

Ejemplos

tipo [ID1::Expediente de fiscalización] es contenedor
    -descripcion = "Expediente con el que se lleva a cabo una fiscalización.";
    -Al_guardar.nombre = "eventos.Guardar";
    -Al_abrir.plugin = "AsistenteEntradaMercancia.dll";
fin
metodo Guardar();
inicio
    [Datos generales].[Tipo de expediente] = "Guardado";
    $guardar(this);
fin
metodo Abrir();
inicio
    [Datos generales].[Tipo de expediente] = "Abierto";
    $guardar(this);
fin