[SOLUCIONADO]Llamar a evento de otra operación.

Les cuento. Tengo una operación con un cuadro y el evento “Agregar”, que dispara una pantalla que tiene un formulario de carga.

Lo que quiero hacer simplemente es crear una nueva operación “boba” para llamar directamente a ese evento y que cargue el formulario de carga. Es para tener una opción directa en el menú y no tener que entrar en el cuadro.

Es posibe hacerlo utilizando algunas de las funciones definidas en toba ?? Gracias

Hola,

podes hacerlo sin problemas, en la operacion ‘boba’ lo que deberia tener es una subclase de CI que extienda del CI de la operacion ‘real’.

En esta extension lo que deberias hacer es asegurarte que el comportamiento al ingresar a la operacion te dirija a la pantalla en cuestion.
Esto lo harias de la siguiente manera:


function ini__operacion()
{
        $this->set_pantalla(id_pantalla_form);
}

De esa manera te aseguras que cada vez que la persona ingrese a la operacion desde el menu, ingrese directamente a dar un alta.
El resto del comportamiento se hereda de la clase padre.

Saludos

Me indica que el identificador de la pantalla no esta incluido en el CI.

Cree un nuevo CI, extendiendo al anterior. (Tuve que agregar la clausula include para que no me de error) pero me da el error anterior.

Hola,

tenes razon disculpa, me fui a una parte muy temprana del pedido de pagina.
Lo mejor seria incluirlo en el metodo ‘conf()’, de todas maneras deberias en el ‘ini__operacion’ dejar alguna marca para que solo se haga una vez cuando se ingresa a la operacion y no en cada pedido de pagina.

Saludos

La verdad que sigue sin quedarme claro lo que me estas indicando. Intenté hacerlo desde el conf, pero me sigue dando el mismo error. Me gustaría solucionarlo porque no me parece para nada óptimo crear una nueva operación para el alta.

¿¿Tengo que hacer algo en especial con la pantalla para que me deje de dar ese error??

¿¿Tengo que hacer algo en especial con la pantalla para que me deje de dar ese error??

Esta es la estructura.

http://desmond.imageshack.us/Himg855/scaled.php?server=855&filename=estructuraj.png&res=landing

Lo que quiero es que ingresando en la operacion ‘Nueva Designacion’, lo único que haga es dirigirme a la pant_edicion, de la Operación Desginaciones Docentes

Hola,

creo que el problema esta en la estructura de la operacion Nueva Designacion… hay un par de cosas que tenes que tomar en cuenta:

  • Los identificadores de las pantallas compartidas deberian ser los mismos (salvo los que agregues extra)

  • Los identificadores de las dependencias compartidas deberian ser los mismos

Por lo que alcanzo a ver, el identificador de pantalla que usas en la segunda operacion, no se comparte con ninguno de los de la operacion Designacion Docente, tene en cuenta que vas a estar compartiendo el codigo del CI y por tanto, toda referencia explicita en codigo a alguna pantalla… puede tener un identificador distinto y generarte un error.

Lo otro que no veo, son las dependencias de la segunda operacion, aunque heredes el comportamiento del CI de ‘Designaciones Docentes’ , tenes que tener asignados los objetos de persistencia y el formulario como dependencias del CI perteneciente a ‘Nueva Designacion’, de manera que tu codigo pueda hacer uso de ellos, de otra manera… .cuando hagas una llamada ‘$this->dep(‘formulario’)’ va a fallar, porque el formulario no esta cargado como dependencia valida de la operacion.

Fijate en esas cosas, son necesarias.

Saludos

Gracias Richard,

ya esta solucionado.