[SOLUCIONADO]Navegar entre ci y mantener los datos en los elementos

Hola buenos días…

Detallo de lo que estoy tratando de resolver, Tengo varios ci donde la navegación es por medio de una zona, la ida básicamente es mantener los datos que se titean en los elementos(ef_combos, ef_editable_textarea) de los formularios simple y un formulario miltilinea, mientras se navega por los ci con los botones de la zona.


navegar entre ci.png

navegar entre ci.png

Hola Josefina,

las zonas son otra forma de navegar entre operaciones, lo ideal es que se pasen las claves de un registro en lugar de los elementos del formulario que pueden estar sin guardar.

Si necesitas eso, podes al momento de pasarle el editable a la zona, mandarle un arreglo con los valores.

Tambien deberias hacer una llamada a ‘set_modo_url’ con false como parametro, asi no te propaga toda esa informacion por URL, sino en algun caso podrias llegar a perder algo.

Saludos

Hola Richard,

no lo pude solucionar de la forma que me indicaste, debido a la asistencia de mas de un formulario y otras cosas, la solución que tome no se si fue la factible o no, pero fue realizar un ci con varias pantallas y cambie el Tipo de Navegación, en ves de hacerlo por zonas, de ese modo se pueden configurar los formularios para mantener los elementos cargados.

Muchas gracias.-

Hola Josefina,

es una solucion tan valida como cualquier otra, la zona usa operaciones separadas… pero si podes meter todo en una sola operacion con distintas solapas, es igualmente valido.

Saludos

Hola Richard,
Debido a estos cambios me encontre con un pequeño problema, tengo en cada pantalla eventos configurados para impresion html con la opción de vista_impresion como se muestra en la figura que adjunto. Para controlar los datos de salida lo planteo de la sigte forma:

function vista_impresion($salida)
{
$pantalla = $this->get_id_pantalla();

    if($pantalla == 'pant_inicial'){
            $salida->subtitulo('DATOS PRINCIPALES');
	$this->dependencia('formulario')->vista_impresion($salida);
        }
        if($pantalla == 'pant_secundaria'){
           $salida->subtitulo('DATOS SECUNDARIOS');
	$this->dependencia('form_sec')->vista_impresion($salida);
        }
        if($pantalla == 'hay varias pantallas'){}

}

pero resulta que hay veces que en la pantalla seundaria me envia los datos de la pantalla inicial y as surge con las demas pantallas. No se como puedo controlar esto, alguna otra sugerencia.

Agradesco muchisimo cualquier sugerencia.


impresion HTML.png

impresion HTML.png

Hola Josefina,

la manera de manejarlo esta bien, te hago una consulta, en algun momento haces una llamada a parent::vista_impresion()?.
En gral, la vista_impresion_html se pide a la pantalla que se va a graficar, con lo cual unicamente deberian estar contenidas las dependencias de dicha pantalla nomas y no la totalidad, u dependencias de otras pantallas.

Cuando te salen mas datos de los que deberian, en que orden te salen? digamos, las dependencias incorrectas figuran antes o despues de lo que deberia imprimirse?.

Un detalle extra, para obtener el id de la pantalla actual yo utilizaria la llamada $this->pantalla()->get_id(), de esa manera estas forzando a que se fije la pantalla a ser graficada, con la llamada a get_id_pantalla() eso no sucede y puede ser que la misma cambie luego de que recuperaste dicho valor si todavia no se decidio, esto puede ser parte del problema.

Saludos

Hola Richard,

con $this->pantalla()->get_id() recupero el id del CI, de lo contrario con get_id_pantalla() estoy recuperando bien la pantalla, pero el problema se basa en el boton que tengo en el layout de la pantalla. El boton nro2 de la imagen esta a nivel de ci, este mismo lo tengo en el layout de la pantalla es el boton nro1 de la imagen el codigo es el siguiente:

Imprimir receta

El boton nro2 muestra correctamente la impresion pero el nro1 que es el mismo captura siempre los datos de la pantalla principal, la pantalla nro 1.

Aclaro que no estoy enviando todos las dependencias de la pantalla sino algunas.


boton imprimir.png

boton imprimir.png

Hola Josefina,

como que recuperas el id del CI??.. si estas recuperando eso en lugar de un id de pantalla, hay una ensalada importante en la operacion. Tenes que recuperar el nombre de alguno de los tabs que tiene el CI, no el id del CI. Aclarame esto por favor.

pero el problema se basa en el boton que tengo en el layout de la pantalla. El boton nro2 de la imagen esta a nivel de ci, este mismo lo tengo en el layout de la pantalla es el boton nro1 de la imagen el codigo es el siguiente: Imprimir receta

El boton nro2 muestra correctamente la impresion pero el nro1 que es el mismo captura siempre los datos de la pantalla principal, la pantalla nro 1.
Aclaro que no estoy enviando todos las dependencias de la pantalla sino algunas.

A ver, retomemos… vos el boton nro1 lo tenes en el CI pero le cambiaste la ubicacion en el layout de la pantalla digamos, en lugar de mandarlo a la botonera, lo generas con un generar_boton no?

Me llama la atencion que tengas 2 botoneras distintas en la misma pantalla de la operacion, mas alla de eso, si es el mismo evento el que estas graficando por mas que le cambies el lugar, no deberias tener inconvenientes.

Saludos