# EVENT\_SENDER\_ID en Manejador de evento

**URL:** <https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132>\
**Category:** Velneo\
**Created:** [6 Junio, 2014 11:01 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132 "2014-06-06T11:01:20Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [6 Junio, 2014 11:01 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132/1 "2014-06-06T11:01:20Z")

</div>

Hola.

Acabo de descubrir algo muy útil y como muchas cosas en Velneo se descubren por el camino. No sé si esto está documentado pero en este caso ha sido una sorpresa agradable.

La variable local **EVENT\_SENDER\_ID** , cuando está definida, se rellena automáticamente con el ID del Botón que ejecuta el manejador de evento.

Así, en el manejador de evento podemos interrogar por el valor de EVENT\_SENDER\_ID y actuar según el botón que se haya pulsado, sin necesidad de crear una conexión de evento.

Lástima que otros controles como el “Botón de radio” no tengan la posibilidad de disparar un manejador directamente como lo hace el Botón.

Espero os sirva.  
Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![ramiro](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/ramiro/32/5505_2.png) [@ramiro](https://foros.velneo.com/u/ramiro)\
**Post date:** [6 Junio, 2014 11:05 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132/2 "2014-06-06T11:05:12Z")

</div>

Buenas:

Muchas gracias por la info, pero no veo clara la utilidad…

¿Usar un mismo manejador de evento para las tareas a lanzar desde distintos botones?

Saludos. Ramiro

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [6 Junio, 2014 11:17 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132/3 "2014-06-06T11:17:23Z")

</div>

Hola Ramiro.

Un ejemplo sencillo.  
La típica barra con 24 botones con las letras del abecedario para ejecutar una búsqueda entre límites. Todos los botones llaman al mismo manejador y en el manejador ya pones un comando if

if EVENT\_SENDER\_ID = “CMD\_A”  
–set (letrainicial = “A”)  
if EVENT\_SENDER\_ID = “CMD\_B”  
–set (letrainicial = “B”)

o más elegante en una sola línea  
set ( letrainicial = right(EVENT\_SENDER\_ID, 1) )

El tema es que nos evitamos tener que crear 24 manejadores o 24 conexiones de evento. El control Botón ya genera una señal cuando se pulsa y por eso se rellena la variable EVENT\_SENDER\_ID.

Otra utilidad es agrupar las Acciones de Aceptar y Cancelar en un solo manejador.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![velavisual1](https://avatars.discourse-cdn.com/v4/letter/v/dbc845/32.png) [@velavisual1](https://foros.velneo.com/u/velavisual1)\
**Post date:** [6 Junio, 2014 11:17 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132/4 "2014-06-06T11:17:56Z")

</div>

Hola, para completar el post:

[Salió en la versión 7.11](http://velneo.es/listado-de-novedades-velneo-v7-7-11/)

Nuevas variables EVENT\_SENDER\_ID y EVENT\_SENDER\_COL  
Si están declaradas se llenan automáticamente:  
EVENT\_SENDER\_ID con el identificador del control que emitió la señal.  
EVENT\_SENDER\_COL con el identificador de la columna de la rejilla que emitió la señal.  
EVENT\_SENDER\_ID estará vacía si el sender es el control principal (lo mismo que ocurre en la propiedad control al declarar una conexión de evento).  
EVENT\_SENDER\_COL estará vacía en todos los eventos salvo los de columna de rejilla y la columna está siendo editada.  
Las variables han de ser alfabéticas normales, no se admiten

En la documentación sobre [Variables locales especiales](http://velneo.es/info_v7_715_es/velneo_vdevelop_v7/proyectos_objetos_y_editores/variable_local/variables_locales_especiales/) disponemos de las distintas señales y qué es lo que devuelven en cada posición del array

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [6 Junio, 2014 11:28 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132/5 "2014-06-06T11:28:27Z")

</div>

Hola Antonio.

Gracias por el aporte.  
Mi descubrimiento se refiere a que con el **Control Botón** no es necesario definir una **Conexión de evento** para capturar la pulsación del ratón.

En las columnas de Rejilla y en los Botones de radio por ejemplo es necesario definir la conexión de Evento para poder leer el valor de EVENT\_SENDER\_ID en el manejador correspondiente ya que estos controles no pueden llamar a manejador directamente como lo hace el Botón.

Simplemente nos ahorramos código.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [6 Junio, 2014 12:05 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132/6 "2014-06-06T12:05:46Z")

</div>

Buenas, yo conocía esta funcionalidad.

Lo redondo sería que cuando se lanza una acción en vez de que EVENT\_SENDER\_ID te devuelve el formulario, que sea el ID de la acción.

O incluso mejor, si es en una menú incrustado en un edit, que devuelve el edit y en EVENT\_PARAMS, que indique la acción.

---

<div class="post-metadata">

**Author:** ![velavisual1](https://avatars.discourse-cdn.com/v4/letter/v/dbc845/32.png) [@velavisual1](https://foros.velneo.com/u/velavisual1)\
**Post date:** [6 Junio, 2014 12:13 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132/7 "2014-06-06T12:13:03Z")

</div>

@Wikan

Al foro de ideas… aquí se pierde.Allí al menos queda constancia de ello.

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [6 Junio, 2014 12:27 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132/8 "2014-06-06T12:27:47Z")

</div>

@velavisual, tiene usted toda la razón.  
Voy a comer ( me mata la parienta ya ), y lo expongo esta tarde.

Saludos

---

<div class="post-metadata">

**Author:** ![manuel.rd](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/manuel.rd/32/3508_2.png) [@manuel.rd](https://foros.velneo.com/u/manuel.rd)\
**Post date:** [6 Junio, 2014 15:16 UTC](https://foros.velneo.com/t/event-sender-id-en-manejador-de-evento/7132/9 "2014-06-06T15:16:32Z")

</div>

He publicado la idea, a ver que les parece  
[https://velneo.zendesk.com/entries/72528026-Que-EVENT-SENDER-ID-indique-la-acci%C3%B3n-lanzada-y-no-el-formulario](https://velneo.zendesk.com/entries/72528026-Que-EVENT-SENDER-ID-indique-la-acci%C3%B3n-lanzada-y-no-el-formulario "https://velneo.zendesk.com/entries/72528026-Que-EVENT-SENDER-ID-indique-la-acci%C3%B3n-lanzada-y-no-el-formulario")
