Información sobre la instrucción: "Añadir ficha a la lista".


(ame) #1

Buenas, no logro encontrar información con respecto a esta instrucción. ¿Alguien sabe dónde puedo encontrarla?

 

Saludos.




([N4] eic) #2

Hola.

Lo tienes aquí:

http://velneo.es/info_v7_74_es/velneo_vdevelop_v7/proyectos_objetos_y_editores/proceso/comandos/comandos_de_listas/anadir_ficha_a_la_lista

Yo la utilizo en eventos de objetos de lista (p.ej., en eventos de rejilla), para añadir una ficha (p.ej., una ficha que acabo de crear con Crear ficha en memoria y Alta de ficha) a la lista a que se aplica el evento (en este caso, la rejilla). Me sirve para actualizar una rejilla si creo un registro por evento, y no por el procedimiento habitual de la tecla Ins o un formulario de alta.

Y efectivamente, utilizando la búsqueda de la ayuda no aparece mucho.

Saludos,

Fran Varona

 


(ame) #3

Gracias, Fran, está super-rebuscadísimo. Yo no daba con él... Bueno voy a probarlo a ver qué tal.

Gracias también por indicarme un uso que le puedo dar.

 

Un saludo.

 


(ame) #4

Hola, ya estoy de nuevo por aquí.

He estado usando la instrucción con resultados insatisfactorios.

Dispongo de un formulario con una rejilla incrustada. A la rejilla le paso la salida de un proceso que carga los registros de una tabla.

En la rejilla tengo un evento que salta con la señal "inicializado" y el evento es el siguiente:

[attachment=10679,1023]

El problema es que la rejilla me aparece vacía. En teoría, o según lo que he entendido de esta instrucción, me debería borrar toda la lista que le pasa el proceso y agregar una ficha a esa lista, así pues, la rejilla tendría que mostrar un sólo registro, el que creo manualmente.

¿Es correcto? No sé qué hago mal.

 

Saludos.


([N4] eic) #5

Hola.

A primera vista: usas la instrucción Crear nueva ficha en memoria, pero no haces un Alta de ficha, por lo que la ficha no se da de alta... aunque la tabla sea en memoria.

De todos modos, no tengo nada claro cómo funciona la señal "Inicializado" en una rejilla incrustada, y no sé cuándo se lanza.

Saludos,

Fran Varona

 






([N4] eic) #6

Hola.

De todos modos, si lo que buscas es mostrar unos registros de una tabla temporal (si tiene que ver con lo que comentabas en otro post), siempre puedes crear esos registros en el proceso que indicas en el control objeto donde está la rejilla, y pasárselos a la rejilla.

Saludos,

Fran Varona

 








(ame) #7

Hola Fran,

Sí, tiene que ver con el otro post. Ya lo he resuelto precisamente como acabas de comentar, desde el proceso que lanza el control objeto (objeto 1) y que luego lanza la rejilla (objeto 2).

Pero bueno, al final se me va a quedar la duda de por qué no funciona de esa forma, y me da rabia, ya que en este caso he podido salvar el obstáculo con otra alternativa, pero puede que se me presente otra situación en la que debiera usar esta instrucción, y al no saber dominarla, me veré atascado...

 

Un saludo.


(ame) #8

Vale, creo que la clave está aquí:

 

Comentarios:
Esta ficha será local al proceso, por lo que será destruida al finalizar
el mismo. En el caso de una ficha creada mediante el comandoCrear
nueva ficha en memoria
, para que ésta pueda ser añadida a la lista
ha de ser guardada en disco previamente, por lo que antes de añadirla a
la lista tendremos que guardarla en disco usando el comando Alta
de ficha
, en este comando la ficha será referenciada con el
manejador declarado en su parámetro.

 

Supongo que cuando acaba el evento que se dispara con la señal "inicializado", se destruye la ficha en memoria, y si no se ha guardado mediante "alta de ficha", se elimina su referencia, razón por la cual no aparece en la rejilla.

Creo que ahora ya lo he entendido.

 

Saludos.