| |
mcrispino | |
Horacio:
El problema es que la asignación
&ColGiros = DPSocGir(8, &ASocNroSoc)
se ejecuta en un evento de usuario que se ejecuta local al dispositivo,
mientras que el evento Load ejecuta en el servidor, que no sabe de esta
asignación.
Para solucionar el problema se me ocurren dos opciones:
1. Hacer la asignación de la colección &ColGiros en el evento Load,
antes del for. De esa forma la colección va a estar disponible.
Queda el detalle de cómo hacer llegar el nuevo valor de &ASocNroSoc al
servidor... Ahí también hay varias opciones. Hay casos en los que el
especificador puede resolverlo, y al darse cuenta que se usa en el evento
Load y se asigna en un evento de usuario ya lo manda automáticamente. Me
queda la duda si funciona cuando lo cambia el usuario y el Refresh se
dispara desde el ControlValueChanged... Si no otra opción es agregarlo a la
regla parm() del objeto, ahí lo debería mandar al servidor cuando se hace
un Refresh. Y la tercer opción es llamar a un Procedure desde el evento
ControlValueChanged que grabe el valor en una WebSession (del lado del
servidor) y luego el evento Load lo lea de allí.
2. En lugar de usar variables, agregar un Grid basado en el SDT.
Lo más fácil para eso es agregar un atributo al form, y elegir la
variable que es una colección. Eso automaticamente agrega un Grid y permite
seleccionar los campos del SDT que queremos incluir.
Espero haber sido claro, si no vuelves a preguntar :)
Saludos.
*Marcos Crispino*
Research & Development | GeneXus
+598 2601 2082 | Simplifying Software Development
[image: GeneXus]
On Fri, Mar 19, 2021 at 3:06 PM Horacio Cabrera |
|
|
|
|