Diferencia entre revisiones de «Eventos»
(→Ejemplos) |
|||
Línea 26: | Línea 26: | ||
===Ejemplos=== | ===Ejemplos=== | ||
+ | |||
+ | {{PR|tipo}} [ID1::Expediente de fiscalización] {{PR|es}} [Expediente de ID] | ||
+ | -{{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_abrir.plugin}} = {{STR|"AsistenteEntradaMercancia.dll"}}; | ||
+ | {{PR|fin}} | ||
+ | |||
+ | metodo Crear(); | ||
+ | inicio | ||
+ | [Datos generales].[Tipo de expediente] = "Creado"; | ||
+ | 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 |
Revisión del 14:13 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
[Expediente de ID] -descripcion
="Expediente con el que se lleva a cabo una fiscalización."
; -Al_crear.nombre
="eventos.Crear"
; -Al_guardar.nombre
="eventos.Guardar"
; -Al_abrir.plugin
="AsistenteEntradaMercancia.dll"
;fin
metodo Crear(); inicio [Datos generales].[Tipo de expediente] = "Creado"; 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