Documentación GVHIDRA 3.1.5
Referencia de la Clase gvHidraForm
Diagrama de herencias de gvHidraForm
Action Object gvHidraForm_DB gvHidraForm_dummy gvHidraTreePattern IgepNovedades IgepPeticiones IgepPeticionesD TinvDonantes

Métodos públicos

 gvHidraForm ()
 regenerarInstancia ()
 getDefaultData ($nombreCampo='')
 addDefaultData ($nombreCampo, $valor)
 perform ($actionMapping, $actionForm)
 accionesParticulares ($str_accion, $objDatos)
 saltoDeVentana ($objDatos, $objSaltos)
 regresoAVentana ($idSalto, $objDatos)
 preNuevo ($objDatos)
 nuevo ()
 preIniciarVentana ($objDatos)
 initWindow ()
 preBuscar ($objDatos)
 postBuscar ($objDatos)
 buildQuery ()
 prepareDataSource ()
 recoverData ()
 refreshSearch ($deep=true)
 refreshMaster ()
 preRecargar ($objDatos)
 postRecargar ($objDatos)
 prepareDataSourceDetails ($detail, $masterData)
 buildQueryDetails ($m_datosPadreTpl)
 recoverDataDetail ()
 refreshDetail ()
 preEditar ($m_datos)
 postEditar ($m_datos)
 prepareDataSourceEdit ()
 buildQueryEdit ()
 recoverDataEdit ()
 refreshEdit ()
 preInsertar ($objDatos)
 processInsert ()
 insertData ()
 preModificar ($datos)
 processUpdate ()
 updateSelected ()
 preBorrar ($m_datos)
 processDelete ()
 deleteSelected ()
 _getFilasSeleccionadas ($nombreCheck)
 _recalcularListasDependientes ($destinos, $destinosAdaptados)
 _accionesInterfaz ($campoDisparador, $campoOrigenHtml)
 preFocusChanged ($objDatos)
 postFocusChanged ($objDatos)
 _focusChanged ($composicionCampos, $filaActual, $filaProxima)
 generarListas ($res)
 limpiarInstancia ()
 addFieldType ($name, $field)
 addSelectionWindow ($obj_ventanaSeleccion)
 addList ($objLista)
 addCheckBox ($objCheckBox)
 addHijo ($nombreClaseManejadora, $listasCamposPadre, $listasCamposHijo)
 addPadre ($nombreClaseManejadoraPadre)
 addAccionInterfaz ($campoTpl, $funcion)
 setResultadoBusqueda ($mDatos, $deep=true)
 getResultadoBusqueda ()
 setResultadoEdicion ($mDatos)
 getResultadoEdicion ()
 showMensaje ($idMensaje, $params=null)
 showMessage ($idMensaje, $params=null)
 openWindow ($actionFordward)
 keepFilterValuesAfterSearch ($value)

Campos de datos

 $obj_ultimaConsulta
 $obj_errorNegocio
 $comunica
 $obj_ultimaEdicion
 $obj_mensaje
 $int_filaActual
 $v_listas
 $v_hijos
 $str_nombrePadre
 $v_ventanasSeleccion
 $v_preInsercionDatos
 $v_datosPresentacion
 $v_descCamposPanel
 $v_validacionesUsuario
 $obj_IgSmarty
 $v_checksMarcados
 $panelDetalleActivo

Atributos privados

 $keepFilterValuesAfterSearch = false

Descripción detallada

Definición en la línea 91 del archivo gvHidraForm.php.


Documentación de las funciones miembro

_accionesInterfaz ( campoDisparador,
campoOrigenHtml 
)

Definición en la línea 1317 del archivo gvHidraForm.php.

                                                                          {    
        $jsActualizaCampo = '';

                //RECTIFICACION DE NOMBRE CAMPO EN HTML
        // Para las listas multiples. En las listas multiples el nombre nos viene con []
        // En el fil campoDisparador tiene []. En cam y ins no.
        // En el campoOrigen viene con [] y hay que quitarlo
                $auxiliar = $campoDisparador;
                if(substr($campoDisparador,-2)=='[]')
                        $auxiliar = substr($campoDisparador,0,-2);
        if(isset($this->v_listas[$auxiliar]) && $this->v_listas[$auxiliar]->getMultiple()) {
                $campoDisparador = $auxiliar;
                $campoOrigenHtml = substr($campoOrigenHtml,0,-2);
        }
        
        // Para los checkbox en el caso de insercion
        if($this->v_descCamposPanel[$campoDisparador]['component']=='CheckBox') {
                if(strpos($campoOrigenHtml,'h')===0)
                        $campoOrigenHtml = substr($campoOrigenHtml,1);
        }        
        if(isset($this->v_validacionesUsuario[$campoDisparador])) {
            //Buscamos la funcin a ejecutar
            $funcionValidacion = $this->v_validacionesUsuario[$campoDisparador]['funcion'];
            //Ejecutamos la funcin de validacion
            $comunicaUsuario = new IgepComunicaIU($this->comunica,$this->v_preInsercionDatos,$this->v_listas,$campoOrigenHtml);            
            $comunicaUsuario->_setCampoDisparador($campoDisparador);

                $indice = $this->comunica->getIndice();
            $this->comunica->posicionarEnTupla($indice);

            $validacion = $this->$funcionValidacion($comunicaUsuario);
            if(isset($this->obj_mensaje))
                $jsActualizaCampo.=IgepSmarty::getJsMensaje($this->obj_mensaje);
            else {
                //En caso de error
                if($validacion != 0){
                    //Si el programador no introduce un mensaje, mostramos el de por defecto            
                    $jsActualizaCampo.=IgepSmarty::getJsMensaje(new IgepMensaje('IGEP-18'));            
                }
            }
            $jsActualizaCampo.= $comunicaUsuario->getScript();
        }
        return $jsActualizaCampo;
    }
_focusChanged ( composicionCampos,
filaActual,
filaProxima 
)

Definición en la línea 1371 del archivo gvHidraForm.php.

                                                                                {
        $jsActualizaCampo='';  
        $comunicaUsuario = new IgepComunicaIU($this->comunica,$this->v_preInsercionDatos,$this->v_listas,$composicionCampos);
        if($filaActual!=-1){
            $comunicaUsuario->posicionarEnFicha($filaActual);      
            $this->preFocusChanged($comunicaUsuario);
        }
        if($filaProxima!=-1){
            $comunicaUsuario->posicionarEnFicha($filaProxima);      
            $this->postFocusChanged($comunicaUsuario);
        }
        if(isset($this->obj_mensaje))
            $jsActualizaCampo.=IgepSmarty::getJsMensaje($this->obj_mensaje);
        $jsActualizaCampo.= $comunicaUsuario->getScript();
        return $jsActualizaCampo;   
    } 
_getFilasSeleccionadas ( nombreCheck)

Definición en la línea 1277 del archivo gvHidraForm.php.

                                                        {
        $arrayFilasSeleccionadasTpl = array();
        $filasMarcadasNegocio = $this->v_checksMarcados;
        if(isset($filasMarcadasNegocio)){
            foreach($this->obj_ultimaConsulta as $indiceFila => $fila){
                foreach($filasMarcadasNegocio as $indiceSeleccionda => $filaSeleccionada){        
                    $distinta = false;
                    foreach($filaSeleccionada as $nomCampo => $valorCampo){
                        if($fila[$nomCampo]!= $valorCampo){
                            $distinta = true;
                            break;
                        }
                    }
                    //Esta tupla es marcable
                    if($distinta==false){
                        array_push($arrayFilasSeleccionadasTpl,$nombreCheck.$indiceFila);
                        unset($filasMarcadasNegocio[$indiceSeleccionda]);
                        break;
                    }
                }
            }
        }
        return $arrayFilasSeleccionadasTpl;
    }
_recalcularListasDependientes ( destinos,
destinosAdaptados 
)

Definición en la línea 1302 del archivo gvHidraForm.php.

                                                                               {
        $opciones = '';
        foreach($destinos as $indice => $campoRellenar) {
            if(isset($this->v_listas[$campoRellenar])) {
                $listas = $this->v_listas;
                $objLista = & $listas[$campoRellenar];
                if($objLista->hayDependencia()){                
                    $resultado = $objLista->construyeLista($this->comunica->currentTupla());                
                    $opciones.= IgepSmarty::getJsLista($destinosAdaptados[$indice], $resultado);
                }               
            } //Fin de listas
        }//Fin del foreach de todas las listas  
        return $opciones;
    }
accionesParticulares ( str_accion,
objDatos 
)

Mtodo que debemos sobreescribir en el caso de que se quieran incorporar acciones particulares para un panel.

Definición en la línea 630 del archivo gvHidraForm.php.

                                                                 {
        
                throw new Exception('Se ha intentado ejecutar la accin '.$str_accion.' y no est programada.');        
    }
addAccionInterfaz ( campoTpl,
funcion 
)

Est funcion se utiliza para asociar funciones PHP desarrolladas por el programador a elementos de la interfaz. Dadas las limitaciones de la interfaz Web, ests acciones siempre se disparan al perder el foco el lelemento de la tpl (interfaz de usuario) elegido como primer

Parámetros:
campoTplstring indica el nombre del campo de la tpl (interfaz) sobre el que se va a lanzar la validacin. Cuando pierda el foco se lanzar la validacin.
funcionstring Nombre de una funcin de clase que se ejecutar cuando el elemento de la interfaz pierda el foco.
dependenciaarray contiene un array de los campos de TPl que son necesarios, a parte del ya indicado en el primer parmetro, para realizar la validacin. public
Devuelve:
none

Definición en la línea 1650 del archivo gvHidraForm.php.

                                                          {        
        $this->v_validacionesUsuario[$campoTpl]['funcion'] = $funcion;
    }
addCheckBox ( objCheckBox)

Funcin encargada de indicar a Negocio que existe una definicin de un nuevo checkbox

Parámetros:
objCheckBoxobjetivo de tipo gvHidraCheckBox.
Devuelve:
none

Definición en la línea 1568 del archivo gvHidraForm.php.

                                             {
        $nombreClase = get_class($this);
        
        if(!is_object($objCheckBox)) {

            IgepSession::borraPanel($nombreClase);
            throw new Exception('Error: Problema al adjuntar un CheckBox. Debe ser del tipo gvHidraCheckBox.');
        }
        
        if($nombreClase=='') {

            IgepSession::borraPanel($nombreClase);
                throw new Exception('Error: Problema al adjuntar el Checkbox '.$objCheckBox->getName().'. Antes de definir el checkbox, debe llamar al constructor de gvHidraForm.');            
        }      

        //Guardamos la informacion del check en la estructura dataTypes.
        $this->v_descCamposPanel[$objCheckBox->getName()]['component'] = 'CheckBox';
        $this->v_descCamposPanel[$objCheckBox->getName()]['valueChecked'] = $objCheckBox->getValueChecked();
        $this->v_descCamposPanel[$objCheckBox->getName()]['valueUnchecked'] = $objCheckBox->getValueUnchecked();
        
        $this->addDefaultData($objCheckBox->getName(), $objCheckBox->getDefaultValue());
    }//Fin de addCheckBox
addDefaultData ( nombreCampo,
valor 
)

Fija valores por defecto para distintos campos de la TPL, por ejemplo, los valores de las listas cuando pulsamos la opcin de insertar, o los campos que relacionan una panel detalle con su maestro private

Parámetros:
stringnombreCampo Nombre del campo sobre el que se dan valores por defecto
mixed$valorValor (string) /valores (arraysLista) que asignar

Definición en la línea 264 del archivo gvHidraForm.php.

                                                         {
                $field = $this->v_descCamposPanel[$nombreCampo];
        IgepComunicaUsuario::prepararPresentacion($valor, $field['tipo'],$field['parteDecimal']);
        //Comprobamos si es una lista
        if(isset($this->v_listas[$nombreCampo])) {
                //Si asigna un valor pasamos a modificar el seleccionado
                if(!is_array($valor)) {
                        $this->v_preInsercionDatos[$nombreCampo]['seleccionado'] = $valor;
                        return;
                }
        }
        $this->v_preInsercionDatos[$nombreCampo] = $valor;      
    }
addFieldType ( name,
field 
)

Mtodo para introducir el tipo de un campo dentro de un panel gvHidra. Permitir que el framework conozca el tipo de datos y pueda realizar las siguientes operaciones por el programador:

  • mscaras de entrada en el cliente (Javascript).
  • validaciones en el servidor.
  • limitar la longitud mxima del campo en pantalla (maxLength).
  • comprobacin de required en cliente y en el servidor.
  • ordenacin por tipo en modo tabla.

public

Parámetros:
campoTplnombre del campo en la tpl
typeinstancia de un tipo gvHidra vlido. Acudir a la documentacin para ver los tipos gvHidra vlidos.
Devuelve:
none

Definición en la línea 1452 del archivo gvHidraForm.php.

                                              {    

                //Comprobamos que field no sea nulo y sea un objeto
                if(is_null($field) or !is_object($field))
                        throw new Exception('Error en el constructor: se ha intentado asignar un tipo de datos vacio o invalido al campo '.$name.'.');

                $nombreClaseActual = get_class($this);        
                $tipo = get_class($field);
        //Recogemos el valor obligatorio
        $required = $field->getRequired();
        //Recogemos el valor maxLength
        $maxLength =  $field->getMaxLength();
        $enableInputMask = $field->getStatusInputMask();
        //Inicializamos los valores fijos
        $this->v_descCamposPanel[$name]['required'] = $required;
        $this->v_descCamposPanel[$name]['tipo'] = $tipo;
        $this->v_descCamposPanel[$name]['maxLength'] = $maxLength;
        $this->v_descCamposPanel[$name]['enableInputMask'] = $enableInputMask;
        
        if($tipo==TIPO_CARACTER){
            $this->v_descCamposPanel[$name]['type'] = 'text';
            $regxp = $field->getRegExp();
            $inputMask = $field->getInputMask();
            $this->v_descCamposPanel[$name]['ereg'] = $regxp;
            $this->v_descCamposPanel[$name]['inputMask'] = $inputMask;
            //Para los tipos password
            $password=$field->getPasswordType();
                        $this->v_descCamposPanel[$name]['password'] = $password;
        }        
        elseif($tipo==TIPO_FECHA OR $tipo==TIPO_FECHAHORA){
            if($tipo==TIPO_FECHA)
                $this->v_descCamposPanel[$name]['type'] = 'date';
            else
                $this->v_descCamposPanel[$name]['type'] = 'datetime';
            $calendario = $field->getCalendar();
            $this->v_descCamposPanel[$name]['calendar'] = $calendario;
            $dayOfWeek = $field->getDayOfWeek();
            $this->v_descCamposPanel[$name]['dayOfWeek'] = $dayOfWeek;
            $dayOfYear = $field->getDayOfYear();
            $this->v_descCamposPanel[$name]['dayOfYear'] = $dayOfYear;
        }
        elseif($tipo==TIPO_DECIMAL OR $tipo==TIPO_ENTERO){
            $this->v_descCamposPanel[$name]['type'] = 'numeric';
            $parteDecimal = $field->getFloatLength();
            $this->v_descCamposPanel[$name]['parteDecimal'] = $parteDecimal;
            $this->v_descCamposPanel[$name]['numDec'] = $parteDecimal;
            //decimalSeparator
            //thousandSeparator
        }
        else{//Si es un tipo no gvHidra
                $this->v_descCamposPanel[$name]['type'] = 'text';
        }
        $object = serialize(clone($field));
        $this->v_descCamposPanel[$name]['instance'] = $object;
    }//Fin de addFieldType
addHijo ( nombreClaseManejadora,
listasCamposPadre,
listasCamposHijo 
)

Funcin encargada de almacenar de la creacin del array de informacin de la relacin de un panel padre y un panel hijo

Parámetros:
nombreClaseManejadorastring nombre de la clase manejadora del Hijo
listaCamposPadrearray array con la lista de todos los campos que necesitar el detalle para identificarse
listaCamposHijoarray array con la lista de todos los campos que en el hijo hacen referencia a los campos del padre (en el mismo orden que el parmetro anterior).
Devuelve:
none

Definición en la línea 1601 del archivo gvHidraForm.php.

                                                                                         {     
        if(!class_exists($nombreClaseManejadora)) {

            IgepSession::borraPanel(get_class($this));
                throw new Exception('Se ha intentado crear un IgepHijo que no corresponde a una clase de Igep. La clase '.$nombreClaseManejadora.' no es una clase vlida');
        }                               
        $dependencia = array();     
        $numCamposHijos = count($listasCamposHijo);
        if((!is_array($listasCamposPadre)) or (!is_array($listasCamposHijo)) or (count($listasCamposPadre)!=$numCamposHijos)) {

            IgepSession::borraPanel(get_class($this));            
                        throw new Exception('Error en la introduccin de la dependencia con el panel hijo '.$nombreClaseManejadora.' . Recuerde que debe introducir dos arrays.');            
        }
        $i=0;
        for($i=0;$i<$numCamposHijos;$i++)
            $dependencia[$listasCamposPadre[$i]] = $listasCamposHijo[$i];       
        $this->v_hijos[$nombreClaseManejadora] = $dependencia;
        //Fijamos el panel como panel activo
        if(empty($this->panelDetalleActivo))
            $this->panelDetalleActivo = $nombreClaseManejadora;                         
    }//Fin de addHijo
addList ( objLista)

Funcin encargada de indicar a Negocio que existe una definicin de una nueva Lista

Parámetros:
obj_listaobjetivo de tipo gvHidraList.
Devuelve:
none

Reimplementado en gvHidraForm_DB.

Definición en la línea 1529 del archivo gvHidraForm.php.

                                       {

        $nombreClase = get_class($this);
        if(!is_object($objLista)) {
            
            IgepSession::borraPanel($nombreClase);
                        throw new Exception('Error: Problema al adjuntar la lista '.$objLista->getName());
        }
        if($nombreClase=='') {

            IgepSession::borraPanel($nombreClase);
            throw new Exception('Error: Problema al adjuntar la lista '.$objLista->getName().'. Antes de definir las listas debe llamar al constructor de gvHidraForm.');
        }      

        //Almacenamos la lista en la estructura interna y en los datos por defecto.
        $this->v_listas[$objLista->getName()] = $objLista;
        $resultadoLista = $objLista->construyeLista($this->getDefaultData());       
        $this->addDefaultData($objLista->getName(), $resultadoLista);
        
        //Guardamos la informacion de la lista en la estructura dataTypes.
        $this->v_descCamposPanel[$objLista->getName()]['component'] = 'List';
        $this->v_descCamposPanel[$objLista->getName()]['multiple'] = $objLista->getMultiple();
        $this->v_descCamposPanel[$objLista->getName()]['radio'] = $objLista->getRadio();
        $this->v_descCamposPanel[$objLista->getName()]['size'] = $objLista->getSize();
         
        //REVIEW: Toni, esto creo que ya no ocurre y q se puede borrar
        //En el caso de los datalles puede darse el caso de que no pasemos por phrame (refreshDetail), y que no ejecutemos el perform. Por eso lo metemos en la SESSION.
        $datosPreInsertados = IgepSession::dameVariable($nombreClase,'v_preInsercionDatos');
        $datosPreInsertados[$objLista->getName()]=$resultadoLista;
        IgepSession::guardaVariable($nombreClase,'v_preInsercionDatos',$datosPreInsertados);
    }//Fin de addList
addPadre ( nombreClaseManejadoraPadre)

Funcin encargada de almacenar en un panel hijo el nombre del padre (maestro)

Parámetros:
nombreClaseManejadorastring nombre de la clase manejadora del Padre
Devuelve:
none

Definición en la línea 1629 del archivo gvHidraForm.php.

                                                          {
        if(!class_exists($nombreClaseManejadoraPadre)) {

            IgepSession::borraPanel(get_class($this));
                        throw new Exception('Se ha intentado crear un IgepHijo que no corresponde a una clase de Igep. La clase '.$nombreClaseManejadoraPadre.' no es una clase vlida');            
        }
        $this->str_nombrePadre = $nombreClaseManejadoraPadre;       
    }
addSelectionWindow ( obj_ventanaSeleccion)

Funcin encargada de indicar a Negocio que existe una definicin de una nueva Ventana Seleccion

Parámetros:
obj_ventanaSeleccionobjetivo de tipo gvHidraSelectionWindow.
Devuelve:
none

Definición en la línea 1513 del archivo gvHidraForm.php.

                                                             {

        if(!is_object($obj_ventanaSeleccion)) {

            IgepSession::borraPanel(get_class($this));
                        throw new Exception('Error: Problema al adjuntar la ventana de Seleccin del campo de la Tpl '.$obj_ventanaSeleccion->getName());
        }
        $this->v_ventanasSeleccion[$obj_ventanaSeleccion->getName()] = & $obj_ventanaSeleccion;
    }//Fin de addSelectionWindow
buildQuery ( )

Mtodo que inicializa las variables para realizar la consulta correspondiente al panel de filtro. Genera la Where a partir de los parmetros introducidos y modifica el filtro activo.

private

Reimplementado en gvHidraTreePattern.

Definición en la línea 771 del archivo gvHidraForm.php.

                                 {

        if(isset($_REQUEST['menuActv']))
            IgepSession::guardaVariable('global','menuActv',$_REQUEST['menuActv']);  
        if(empty($this->comunica))
            $this->comunica = new IgepComunicacion($this->v_descCamposPanel);
        
        $this->comunica->setOperacion('buscar');
        $this->comunica->construirArrayBuscar();
        //Comprobamos si tiene el parmetro str_select. Si no lo tiene ejecutamos refreshEmptySearch
        $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);

        /*Validaciones de tipos de datos de gvHidra*/
        $validacionIgep = $this->comunica->checkDataTypes();
        if($validacionIgep!= '0') {
            $this->showMensaje('IGEP-17',array($validacionIgep));
            return -1;
        }
        
        //Ejecutamos la funcin preBuscar donde el usuario puede cargar ciertas cosas.    
        $valido = $this->preBuscar($comunicaUsuario);
        if($valido!= '0')
                return $valido;

                //Si se quiere mantener el valor de los campos del filtro despues de buscar
                if($this->keepFilterValuesAfterSearch) {
                                                
                        $fields = $comunicaUsuario->getAllTuplas();
                        foreach($fields[0] as $field => $value) {

                                $this->addDefaultData($field,$value);
                        }
                        
                }
                     
        $this->prepareDataSource();
        return 0;
    }
buildQueryDetails ( m_datosPadreTpl)

Definición en la línea 916 del archivo gvHidraForm.php.

                                                       {
        //buscamos los datos
        if (!empty($m_datosPadreTpl)){  
            //Para cada uno de los detalles

            foreach($this->v_hijos as $nombreClaseHija => $correspondenciaClaseHija) {
                //Solo recargamos si es el panel activo
                if($nombreClaseHija == $this->panelDetalleActivo){          
                    //Creamos las instancias de la clase hija        
                    if(IgepSession::existePanel($nombreClaseHija)){
                        IgepDebug::setDebug(DEBUG_IGEP,'Recuperamos la instancia de la clase '.$nombreClaseHija);
                        $obj_claseHija = IgepSession::damePanel($nombreClaseHija);
                        if(method_exists($obj_claseHija,'regenerarInstancia'))
                            $obj_claseHija->regenerarInstancia();
                        else{
                            IgepSession::borraPanel($nombreClaseHija);
                            IgepDebug::setDebug(PANIC,'Error al recuperar la clase manejadora '.$nombreClaseHija);
                            $obj_claseHija = new $nombreClaseHija;
                        }
                    }
                    else{
                        IgepDebug::setDebug(DEBUG_IGEP,'Creamos una instancia de la clase '.$nombreClaseHija);
                        $obj_claseHija = new $nombreClaseHija;
                        if($this->obj_errorNegocio->hayError()){
                            IgepSession::borraPanel($nombreClaseHija);
                            IgepDebug::setDebug(PANIC,'Error al crear la clase manejadora '.$nombreClaseHija);
                            $this->showMensaje('IGEP-21',array($nombreClaseHija));
                            return -1;
                        }
                    }
                    //Para la clase hija vamos a insertar el array de seleccionados del padre
                    $obj_claseHija->comunica = new IgepComunicacion($obj_claseHija->v_descCamposPanel);
                    $obj_claseHija->comunica->setOperacion('seleccionarPadre');
                    $obj_claseHija->comunica->setArrayOperacion($m_datosPadreTpl);
                    $comunicaUsuario = new IgepComunicaUsuario($obj_claseHija->comunica,$obj_claseHija->v_preInsercionDatos,$obj_claseHija->v_listas);
                    //Ejecutamos el evento de preRecargar               
                    $valido = $obj_claseHija->preRecargar($comunicaUsuario);
                    if($valido!= '0') {
                        //Si el programador ha insertado un mensaje lo guardamos en el panel maestro.
                        $this->obj_mensaje = $obj_claseHija->obj_mensaje;                    
                        return -1;
                    }
                    //Llamamos al metodo de preparacion de obtencion de datos
                    $this->prepareDataSourceDetails($obj_claseHija,$m_datosPadreTpl);

                    $obj_claseHija->refreshDetail();
                    //Comprobacin de Errores
                    $errores = $this->obj_errorNegocio->hayError();     
                    if($errores) {
                        $this->showMensaje('IGEP-13', $this->obj_errorNegocio->getDescErrorDB());                   
                        $this->obj_errorNegocio->limpiarError();
                        //Si hay error paramos la recargar devolviendo el Forward de error.
                        return -1; 
                    }
                    else {          
                        $obj_claseHija->limpiarInstancia();
                        IgepSession::guardaPanel($nombreClaseHija,$obj_claseHija);
                        $resultado = 0;
                    }
                    IgepSession::_marcarPanelVisitado($nombreClaseHija);          
                } //Fin del if (si es el panel activo)
            }//Fin del Foreach de para cada hijo
        }//Fin del If    
        return $resultado; 
    }
buildQueryEdit ( )

Mtodo que inicializa las variables para realizar la consulta correspondiente al panel de edicion. Calcula la Where que se debe aplicar a la consulta de edicin y cambia el filtro de edicion.

private

Definición en la línea 1050 del archivo gvHidraForm.php.

                                    {
        //Si no hay datos finalizamos
        if(!$this->comunica->hayDatos()){
            $this->showMensaje('IGEP-16');    
            return -1;
        } 
        $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas); 
        $valido = $this->preEditar($comunicaUsuario);
        //Si valido es distinto de 0 volvemos
        if($valido!= '0') {   
            return $valido;
        }
        $this->nombreCheckTabla = $this->comunica->nombreCheckTabla;
        //REVIEW: Hay que revisar si esto funciona
        //Aadimos al vector de filas seleccionadas
        $m_datos = $this->comunica->getAllTuplas();
        $this->v_checksMarcados = array();
        foreach($m_datos as $indice=>$v_datos) {
                array_push($this->v_checksMarcados,$v_datos);
        }
        $this->prepareDataSourceEdit();
        return 0;  
    }
deleteSelected ( ) [final]

Mtodo encargado de realizar los DELETEs private

Definición en la línea 1249 del archivo gvHidraForm.php.

                                          {
        //Fijamos la operacin a borrar     
        $this->comunica->setOperacion('borrar');
        //Comprobamos si hay datos para operar
        if(!$this->comunica->hayDatos())
            return 0;
        /*Validaciones de los datos*/
        //Recogemos los datos en formato tpl
        $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);
        /*Transformamos los datos al formato que utiliza la BD*/
        $valido = $this->preBorrar($comunicaUsuario);
        if($valido!= '0') {     
            return $valido;
        }
        $retorno = $this->processDelete();
        $errores = $this->obj_errorNegocio->hayError();
        if($errores) {
            $this->obj_errorNegocio->setMsjError($this->obj_mensaje =new IgepMensaje());
            return -1;
        }
        else{
            if(empty($retorno))
                $retorno = 0;
            return $retorno;
        }   
    }//Fin mtodo deleteSelected
generarListas ( res)

Mtodo encargado de realizar la carga de las listas definidas por el programador private

Definición en la línea 1393 del archivo gvHidraForm.php.

                                       {
        if (count($res)>0){     
            foreach ($this->v_listas as $campo => $lista ){
                //Si tenemos la lista calculada previamente... no la volvemos a calcular
                if(!$lista->hayDependencia()){              
                    if (is_array($this->v_preInsercionDatos[$campo]))
                        $res2 = $this->v_preInsercionDatos[$campo];
                    else
                        $res2 = $lista->construyeLista();
                }           
                //Comprobamos que el campo est en el DB:Result que vamos a modificar
                if(array_key_exists($campo,$res[0])){
                    //Si no tiene estructura de lista ya
                    if(!is_array($res[0][$campo])){                 
                        //Realizamos la actualizacin del DB:Result para cada una sus filas
                        foreach(array_keys($res) as $indice){
                            //Si hay dependencia hay que ejecutar la SELECT para cada fila.
                            if ($lista->hayDependencia()){
                                $res2 = $lista->construyeLista($res[$indice]);                      
                            }//Fin de if de dependencia             
                            //Tratamiento: cogemos el valor y lo marcamos.
                            $res2['seleccionado'] = $res[$indice][$campo];
                            unset($res[$indice][$campo]);
                            $res[$indice][$campo] = $res2;
                        }//fin del foreach
                    }
                }//fin del if
            }//fin de foreach
        }//fin del if de count($res)>0  
        return $res;    
    } //Fin de generarListas
getDefaultData ( nombreCampo = '')

Utilizado por Negocio. Devuelve una coleccin campo/valor, campo/valores que contine la informacin para preasignar valores por defecto en campos de insercin y detalles (los campos que lo relaciona con el maestro) private

Parámetros:
stringnombreCampo Nombre del campo sobre el que se dan valores por defecto
Devuelve:
array Vector indexado por el nombre del campo que contiene los valores de los mismos en funcin del tipo

Definición en la línea 248 del archivo gvHidraForm.php.

                                                   {        

        if($nombreCampo=='')
            return ($this->v_preInsercionDatos);
        else
            return ($this->v_preInsercionDatos[$nombreCampo]);
    }
getResultadoBusqueda ( )

Funcin que devuelve el conjunto de datos manejados por IGEP internamente Se destina a uso en comportamientos muy particulares no cubiertos por la funcionalidad generica. El valor devuelto es una matiz de datos (dbresult) que corresponde con el resultado obtenido tras la busqueda.

Devuelve:
Array Matriz (cursor/dbResult) de datos (registros)

Definición en la línea 1701 del archivo gvHidraForm.php.

                                          {
        $m_datos = null;
        if(empty($this->obj_ultimaConsulta))
                return array();
        foreach($this->obj_ultimaConsulta as $index => $tupla){
                foreach($tupla as $name=>$value){
                        if(empty($this->v_descCamposPanel[$name]['tipo']))
                                $tipo = TIPO_CARACTER;
                        else
                                $tipo = $this->v_descCamposPanel[$name]['tipo'];
                        IgepComunicacion::transform_User2FW($value,$tipo);
                        $m_datos[$index][$name] = $value;
                }
        }
        return $m_datos;
    } //Fin de getResultadoBusqueda
getResultadoEdicion ( )

Funcin que devuelve el conjunto de datos manejados por IGEP internamente Se destina a uso en comportamientos muy particulares no cubiertos por la funcionalidad generica. El valor devuelto es una matiz de datos (dbresult) que corresponde con el resultado obtenido tras la edicion.

Devuelve:
Array Matriz (cursor/dbResult) de datos (registros)

Definición en la línea 1746 del archivo gvHidraForm.php.

                                         {
        $m_datos = null;
        if(empty($this->obj_ultimaEdicion))
                return array();        
        foreach($this->obj_ultimaEdicion as $index => $tupla){
                foreach($tupla as $name=>$value){
                        if(empty($this->v_descCamposPanel[$name]['tipo']))
                                $tipo = TIPO_CARACTER;
                        else
                                $tipo = $this->v_descCamposPanel[$name]['tipo'];
                        IgepComunicacion::transform_User2FW($value,$tipo);
                        $m_datos[$index][$name] = $value;
                }
        }
        return $m_datos;
    } //Fin de getResultadoEdicion

constructor. Generar a partir de los parmetros que se le pasen una conexin a al base de datos y un array de manejadores de tablas (una por cada una de las que mantenga el panel hijo).

Definición en la línea 220 del archivo gvHidraForm.php.

                                 {     
        
        //Creamos la instancia de IgepSmarty que controla el Js
        $this->obj_IgSmarty = new IgepSmarty();
        //Generamos la instancia completa
        $this->regenerarInstancia();
    }//Fin de constructor
initWindow ( )

Este mtodo se utiliza en la accin genrica del mismo nombre y bsicamente realiza dos acciones:

  • Genera todas las listas definidas para el panel y las carga en el objeto v_datosPreinsertar. De modo que si en el panel de bsqueda se quiere incluir una lista, en el atributo datos de la misma, debe hacer referncia a esta estructura.
  • Almacena el valor del mdulo actual por si es la primera vez que se entra en una pantalla de dicho mdulo.

Definición en la línea 716 del archivo gvHidraForm.php.

                                {
        $this->comunica->setOperacion('iniciarVentana');
        $this->comunica->construirArrayIniciarVentana();
        //Comprobamos si tiene el parmetro str_select. Si no lo tiene ejecutamos refreshEmptySearch
        $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);
        $valido = $this->preIniciarVentana($comunicaUsuario);   
        if($valido!= '0') {
                return $valido;    
        }
        if(!empty($_REQUEST['menuActv']))
            IgepSession::guardaVariable('global','menuActv',$_REQUEST['menuActv']);        
        return 0;
    }//Fin de IniciarVentana
insertData ( )

Mtodo encargado de realizar los INSERTs private

Definición en la línea 1141 del archivo gvHidraForm.php.

                                {  
        //Fijamos la operacin a insertar
        $this->comunica->setOperacion('insertar');
        //Comprobamos si hay datos para operar
        if(!$this->comunica->hayDatos())
            return 0;                       
        //Validaciones del Usuario
        $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);
        /*Validaciones de tipos de datos de gvHidra*/
        $validacionIgep = $this->comunica->checkDataTypes();
        if($validacionIgep!= '0') {
            $this->showMensaje('IGEP-17',array($validacionIgep));
            return -1;
        }
        $valido = $this->preInsertar($comunicaUsuario);
        if($valido!= '0') { 
            return $valido;
        }
        /*Generamos el proceso de insercion*/
        $retorno = $this->processInsert();
        $errores = $this->obj_errorNegocio->hayError();     
        if($errores) {
            $this->obj_errorNegocio->setMsjError($this->obj_mensaje =new IgepMensaje());
            return -1;
        }
        else{        
            if(empty($retorno))
                $retorno = 0;
            return $retorno;
        }
    }// Fin de insertar
keepFilterValuesAfterSearch ( value)

Este metodo permite activar el "recuerdo" en los filtros tras la bsqueda. Por defecto est desactivada, pero se puede activar con este mtodo pasandole el parametro true.

En el caso de que se active, es importante que se distingan los campos del fil-lis-edi para evitar cambiar los campos por defecto.

Parámetros:
$valueboolean
Devuelve:
none

Definición en la línea 1808 del archivo gvHidraForm.php.

                                                        {

        $this->keepFilterValuesAfterSearch = $value;
    }
limpiarInstancia ( )

Mtodo que limpia de variables inncesarias el objeto actual antes de guardarlo en la SESSION private

Reimplementado en gvHidraForm_DB.

Definición en la línea 1429 del archivo gvHidraForm.php.

                                      {
        //Esta funcin se encargar de liberar de carga la instancia de la clase antes de ponerla en la SESSION
        unset($this->obj_errorNegocio);
        unset($this->comunica);
    }
nuevo ( )

Mtodo encargado de realizar las operaciones relativas a la accin nuevo private

Definición en la línea 670 del archivo gvHidraForm.php.

                            {

        if(isset($_REQUEST['menuActv']))
            IgepSession::guardaVariable('global','menuActv',$_REQUEST['menuActv']);  
        $this->comunica->setOperacion('postConsultar');
        $this->comunica->setArrayOperacion(array($this->v_preInsercionDatos));
        
        //Guardamos los valores por defecto antes de que el usuario cambie los valores
        $antesTransformar = $this->v_preInsercionDatos;
                  
        $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);
        $valido = $this->preNuevo($comunicaUsuario);    
        if($valido!= '0') {         
            return $valido;
        }       
        $datosPorDefecto = $comunicaUsuario->getAllTuplas();
        if(is_array($datosPorDefecto[0])){
                foreach ($datosPorDefecto[0] as $campo => $valor) {
                //Si se trata de un nuevo campo o un nuevo valor, se suma a los datos por defecto (se transforma a presentacion)
                //Hacemos esta comprobacion para no transformar dos veces
                if(!isset($antesTransformar[$campo]) or $antesTransformar[$campo]!=$valor)
                        $this->addDefaultData($campo,$valor);
                }
        }           
        //Para vaciar la ltima edicion -> no permitimos modificar e insertar en la misma ficha
        unset($this->obj_ultimaEdicion);
        //ATENCION: EN EL CASO DE 3 MODOS TENEMOS QUE INDICAR LA ACCION A REALIZAR Y LOS DATOS PREINSERTADOS.
        //Debemos indicar a la ficha que va a insertar
        $this->v_datosPresentacion['accionFicha'] = 'insertar';
                $this->obj_IgSmarty->addScriptLoad(IgepSmarty::getJsNuevo(count($this->v_hijos[0]),$this->str_nombrePadre,$_REQUEST['actuaSobre']),'IGEP');
        return 0;
    }//Fin de nuevo
openWindow ( actionFordward)

Definición en la línea 1791 del archivo gvHidraForm.php.

                                               {
        $path = $actionFordward->getPath();
        $this->obj_IgSmarty->addScriptLoad(IgepSmarty::getJsOpenWindow($path),'IGEP');
    }
perform ( actionMapping,
actionForm 
)

Mtodo que SIEMPRE se lanza cuando venimos desde phrame y que es el encargado de realizar la unin entre Igep y el controlador (phrame). Este mtodo comprueba cual es la accin a ejecutar y lanza las operaciones pertinentes. Estas acciones pueden ser acciones genricas en cuyo caso aparecern en el codigo de este mtodo como entradas del switch principal; o pueden ser acciones particulares del panel hijo, en cuyo caso debern incorporarse al sobreescribiendo el mtodo comportamientosParticulares en la clase hija. La forma que proporciona phrame para que le indiquemos la direccin de destino son los objetos de la clase actionForward. Por esta razn este mtodo recoger estos objetos y los devolver a phrame; quien se encargar de redirigir al navegador hasta la URL adecuada. Estos objetos actionForward se obtienen a partir del parmetro $actionMapping (que se encarga de leer el valor del mappings.php de la aplicacin).
IMPORTANTE: Este mtodo SIEMPRE almacena en la SESSION el objeto panel actual, por ello no es necesario que nosotros lo almacenemos previamente si venimos de phrame. private

Reimplementado de Action.

Reimplementado en gvHidraTreePattern.

Definición en la línea 292 del archivo gvHidraForm.php.

                                                         {                             
        //Recogemos la accion y le quitamos el prefijo que nos viene de la ventana      
        $str_accion = $actionForm->get('action');   
        if(strpos($str_accion,'__')>0) {                
            $auxiliar = explode('__',$str_accion);
            $str_accion = $auxiliar[1];             
        }
        $nombreClaseActual = get_class($this);
        //Debug:Indicamos que la accion a ejecutar
        IgepDebug::setDebug(DEBUG_IGEP,'gvHidraForm: ejecutamos accin '.$str_accion.' de la clase Manejadora '.$nombreClaseActual);
        //Cargamos el mapping dentro de comunicacin para darle acceso al mismo al usuario
        $this->comunica->setMapping($actionMapping);    
        switch ($str_accion) {
            //Accin genrica de Igep que se lanzar cuando se quiera  incluir en un panel de bsqueda una lista desplegable cargada desde BD
            case 'iniciarVentana':
                $retorno = $this->initWindow();
                if($retorno==0)
                                $actionForward = $actionMapping->get('gvHidraSuccess');         
                else{
                        if(is_object($retorno))
                                $actionForward = $retorno;
                        else
                                $actionForward = $actionMapping->get('gvHidraError');
                }
                break;
            //Accin que normalmente se dispara desde los paneles de filtro. Comprueba si la busqueda tiene parmetros y lanza la SELECT q se encuentra en el parmetro str_select                                  
            case 'buscar':
                //Como volvemos a buscar, borramos el filtro anterior.
                                $this->int_filaActual = 0;
                $resultado = $this->buildQuery();
                if(is_numeric($resultado) and $resultado==0){
                    $resultado = $this->refreshSearch();
                    //Si todo ha funcionado correctamente
                    if(is_numeric($resultado) and $resultado===0){
                                                //Comprobamos si ha sobrepasado el lmite de registros
                                        if(count($this->obj_ultimaConsulta)==$this->int_limiteConsulta){
                                        if(empty($this->obj_mensaje))
                                                $this->obj_mensaje = new IgepMensaje('IGEP-14',array($this->int_limiteConsulta));
                                        }
                            //Hay que lanzar el focusChanged si es una ficha
                            //TODO: Toni Evento FocusChanged.
                            //$this->obj_IgSmarty->addScriptLoad(IgepSmarty::getJsLanzarFocusChanged(),'IGEP');
                            $actionForward = $actionMapping->get('gvHidraSuccess');
                            
                    }
                    //Si el programador indica una accin concreta
                    elseif(is_object($resultado))
                        $actionForward = $resultado;                    
                    //Si la consulta no ha devuelto datos
                    elseif($resultado==-2){
                        //La accin por defecto es no recargar la ventana siempre que el programador no diga lo contrario
                        if(!$actionMapping->containsKey('gvHidraNoData')){
                                                        //Si el programador no ha incluido un mensaje indicando que no ha devuelto datos la consulta, lo introducimos nosotros.
                                                        if($this->obj_mensaje==null)
                                                                $this->showMensaje('IGEP-10');
                                $actionForward = new ActionForward('gvHidraValidationError');
                                $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);  
                        }
                        //Si hay un fordward del usuario, se indica
                        else
                                $actionForward = $actionMapping->get('gvHidraNoData');
                    }
                    else
                        $actionForward = $actionMapping->get('gvHidraError');
                }
                else{
                        if(!is_object($resultado)){
                                $actionForward = new ActionForward('gvHidraValidationError');
                        $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);
                    }
                    else
                        $actionForward = $resultado;
                    
                }
                break;
            //Accin que se lanza al paginar en un maestro para recargar los detalles
            case 'recargar':
                //Capturamos los datos de la fila Seleccionada  
                $this->comunica->construirArraySeleccionar();
                /*Recogida de los datos de phrame para montar el where de la consulta con los datos del padre*/
                $this->comunica->setOperacion('seleccionar');
                $this->int_filaActual = $this->comunica->dameFilaActual();
                $m_datosPadreTpl = $this->comunica->getAllTuplas();                                                             
                $resultado = $this->buildQueryDetails($m_datosPadreTpl);
                if($resultado==0)
                    $actionForward = $actionMapping->get('gvHidraSuccess');
                else
                    $actionForward = $actionMapping->get('gvHidraError');                                                                          
                break;
            //Accin que se lanza al pulsar el botn modificar de un panel con dos consultas. En este caso se lanzara la segunda consulta que se encuentra en el parmetro str_selectEditar
            case 'editar':
                $this->comunica->construirArraySeleccionar();
                //Fijamos la operacin a seleccionar        
                $this->comunica->setOperacion('seleccionar');
                $resultado = $this->buildQueryEdit();
                if($resultado==0)
                    $resultado = $this->refreshEdit();
                elseif(!is_object($resultado)){
                                        $actionForward = new ActionForward('gvHidraValidationError');
                    $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);
                    break;
                }
                if($resultado==0){              
                    //TODO: Toni Evento FocusChanged.
                    //$this->obj_IgSmarty->addScriptLoad(IgepSmarty::getJsLanzarFocusChanged(),'IGEP');
                    //Para que aparezcan los botones
                    $actionForward = $actionMapping->get('gvHidraSuccess');
                }
                elseif(is_object($resultado)){
                        $actionForward = $resultado;    
                }                
                elseif($resultado==-2) {
                                        //La accin por defecto es no recargar la ventana siempre que el programador no diga lo contrario
                    if(!$actionMapping->containsKey('gvHidraNoData')){
                                                //Si el programador no ha incluido un mensaje indicando que no ha devuelto datos la consulta, lo introducimos nosotros.
                                                if($this->obj_mensaje==null)
                                                        $this->showMensaje('IGEP-10');
                        $actionForward = new ActionForward('gvHidraValidationError');
                        $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);  
                                        }
                    //Si hay un fordward del usuario, se indica
                    else
                        $actionForward = $actionMapping->get('gvHidraNoData');
                }
                else
                        $actionForward = $actionMapping->get('gvHidraError');
                break;
            //Accin que realiza las tres operaciones bsicas de un mantenimiento: Insertar, Borrar y Modificar.
            case 'operarBD':
                $hayDatos = 0;
                $this->comunica->data2Arrays();
                $resultado = $this->deleteSelected();
                if ($resultado==0) {
                    $resultado = $this->updateSelected();
                    if ($resultado==0) {                                        
                        $resultado = $this->insertData();
                    }
                }
                //Si el resultado es correcto
                if($resultado==0){
                    //Hay que volver a realizar la consulta del panel
                    //Si es un detalle
                    if(isset($this->str_nombrePadre)) { 
                        $this->refreshDetail();
                        $actionForward = $actionMapping->get('gvHidraSuccess');
                    }
                    else{  
                        //No es un detalle
                            //Si es un maestro y se han insertado datos cambiamos el filtro:
                            //Dejamos la tupla insertada como la nica activa
                        $this->refreshSearch();
                        $hayDatos = count($this->obj_ultimaConsulta);                       
                        //Si se trata de un maestro (tiene paneles dependientes)                    
//REVIEW: este codigo ya no es necesario al utilizar el setResultadoBusqueda
/*
                        if(isset($this->v_hijos)){
                            $this->int_filaActual = $this->comunica->dameFilaActual();
                            if(empty($this->int_filaActual))
                                $this->int_filaActual = 0;                          
                            $m_datos = $this->getResultadoBusqueda();
                            $filaActiva[0] = $m_datos[$this->int_filaActual];
                            $this->buildQueryDetails($filaActiva);                       
                        }
*/
                        if($hayDatos>0) {
                            $actionForward = $actionMapping->get('gvHidraSuccess');                       
                        }                   
                        else{
                            unset($this->obj_ultimaConsulta);
                            if(!$actionMapping->containsKey('gvHidraNoData')){
                                if(empty($this->obj_mensaje))
                                        $this->obj_mensaje = new IgepMensaje('IGEP-20');
                                $actionForward = $actionMapping->get('gvHidraSuccess');
                            }
                            else
                                $actionForward = $actionMapping->get('gvHidraNoData');
                        }
                    }
                    $this->v_datosPresentacion['accionFicha'] = '';
                }//Fin de resultado == 0
                else{
                                        if(is_object($resultado))
                        $actionForward = $resultado; 
                                        else{
                            $actionForward = new ActionForward('gvHidraValidationError');
                            $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);
                                        }
                }
                break;
            //Solo para los forms de tres modos de trabajo
            case 'modificar':
                $this->comunica->data2Arrays(); 
                $resultado = $this->updateSelected();
                if($resultado==0){          
                    if(isset($this->str_nombrePadre)) 
                        $this->refreshDetail();
                    else
                        $this->refreshSearch();                    
                    $this->refreshEdit();
                    $actionForward = $actionMapping->get('gvHidraSuccess');
                }
                else{
                                        if(is_object($resultado))
                        $actionForward = $resultado; 
                    else{                    
                        $actionForward = new ActionForward('gvHidraValidationError');
                        $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);
                    }
                }
                break;
            //Solo para los forms de tres modos de trabajo
            case 'insertar':
                $this->comunica->data2Arrays(); 
                $resultado = $this->insertData();
                if($resultado==0){
                    //Modifica la consulta para que en el panel lis (seleccion tabular) aparezcan SLO las tuplas que acabamos de insertar
                    //REVIEW: Toni&David Posibilidad de parametrizar el comportamineto de las busquedas tras acciones (Ej, busqueda anterior + inssertados)
                        //Si no es un detalle
                        $this->setResultadoEdicion(array());
                        if(!isset($this->str_nombrePadre)) { 
                        $this->refreshSearch();
                    }
                    else{
                        $this->refreshDetail();
                    }
                    $actionForward = $actionMapping->get('gvHidraSuccess');
                }
                else {

                                        if(is_object($resultado))
                        $actionForward = $resultado; 
                    else{   
                        $actionForward = new ActionForward('gvHidraValidationError');
                        $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);
                    }
                }
                break;
            //Accin que se lanza al pulsar el botn borrar de un panel. Borra los registros seleccionados.
            case 'borrar':
                //En las tablas de la ventanas de 3 paneles
                $this->comunica->construirArrayBorrar();
                $resultado = $this->deleteSelected();
                if($resultado==0){
                    if(isset($this->str_nombrePadre)){                         
                        $this->refreshDetail();
                        $actionForward = $actionMapping->get('gvHidraSuccess');
                    }
                    else{
                        $this->refreshSearch();
                        if(count($this->obj_ultimaConsulta)>0) {
                            $actionForward = $actionMapping->get('gvHidraSuccess');                       
                        }                   
                        else{
                                                        if(!$actionMapping->containsKey('gvHidraNoData')){
                                                                //Si el programador no ha incluido un mensaje indicando que no ha devuelto datos la consulta, lo introducimos nosotros.
                                                                if($this->obj_mensaje==null)
                                                                        $this->showMensaje('IGEP-20');
                                                                $actionForward = $actionMapping->get('gvHidraSuccess'); 
                                                        }
                                                        else
                                                                $actionForward = $actionMapping->get('gvHidraNoData');  
                        }
                    }
                }
                else {                    
                                        if(is_object($resultado))
                        $actionForward = $resultado; 
                    else{
                            $actionForward = new ActionForward('gvHidraValidationError');
                            $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);
                    }
                }               
                break;
            //Accin que se lanza al pulsar al botn de nuevo registro en un panel. Se utiliza para cargar listas u otros componentes antes de que el usuario empiece la insercin de datos.
            case 'nuevo':                                               
                $resultado = $this->nuevo();
                if($resultado==0){
                    $actionForward = $actionMapping->get('gvHidraSuccess');
                }
                elseif(is_object($resultado)){
                        $actionForward = $resultado;    
                }
                else {
                    $actionForward = new ActionForward('gvHidraValidationError');
                    $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);
                }
                break;
            //Accin que elimina el contenido de la ltima consulta y de la ltima edicin
            case 'cancelarTodo':                
                unset($this->str_whereFiltro);
                unset($this->str_whereFiltroEdicion);
                //unset($this->obj_ultimaConsulta);
                $this->setResultadoBusqueda(array());
                $this->setResultadoEdicion(array());
                unset($this->obj_ultimaEdicion);
                //Si se trata de un maestro (tiene paneles dependientes unset a todos los hijos)
                if(isset($this->v_hijos)){
                    foreach ($this->v_hijos as $claseHija => $val)
                        IgepSession::borraPanel($claseHija);
                }                       
                $actionForward = $actionMapping->get('gvHidraSuccess');
                break;
            //Accin que elimina el contenido de la ltima edicin  
            case 'cancelarEdicion':
                $this->v_datosPresentacion['accionFicha'] = '';
                unset($this->str_whereFiltroEdicion);
                $this->setResultadoEdicion(array());
                $actionForward = $actionMapping->get('gvHidraSuccess');
                break;
            default:
                $this->comunica->data2Arrays();
                $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);
                        
                        /*Validaciones de tipos de datos de gvHidra*/
                        $validacionIgep = $this->comunica->checkDataTypes();
                        if($validacionIgep!= '0') {
                                
                            $this->showMensaje('IGEP-17',array($validacionIgep));
                            $actionForward = new ActionForward('gvHidraValidationError');
                    $actionForward->put('IGEPclaseManejadora',$nombreClaseActual);

                            return $actionForward;
                        }
                $actionForward = $this->accionesParticulares($str_accion, $comunicaUsuario); 
                break;                  
        }//Fin switch   
        $this->limpiarInstancia();
        //Guardamos el panel en la SESSION
        IgepSession::guardaPanel($nombreClaseActual,$this);
        //Marcamos el nombre del PANEL como panel visitado
        IgepSession::_marcarPanelVisitado($nombreClaseActual);
        return $actionForward;
    }// Fin de perform
postBuscar ( objDatos)

Este mtodo es el mtodo abstracto que ofrece Igep para parametrizar el comportamiento de la busqueda una vez se ha realizado la consulta. Su utilizacin pude ser:

  • Aadir columnas al DB:Result obtenido en la consulta
  • Modificar los valores obtenidos en la consulta antes de visualizarse.

IMPORTANTE:: Si se quiere interrumpir la ejecucin de la Busqueda, el programador debe utilizar el mtodo setError para indicar que se ha producido un error.

Parámetros:
arrayMatriz de datos que contiene el resultado de la consulta realizada.
Devuelve:
integer

Reimplementado en TinvDonantes.

Definición en la línea 761 del archivo gvHidraForm.php.

                                         {
        return 0;
    } 
postEditar ( m_datos)

Este mtodo es el mtodo abstracto que ofrece Igep para parametrizar el comportamiento de la edicion una vez se ha realizado la consulta. Su utilizacin pude ser:

  • Aadir columnas al DB:Result obtenido en la consulta de Edicin
  • Modificar los valores obtenidos en la consulta antes de visualizarse.

IMPORTANTE:: Si se quiere interrumpir la ejecucin de la Edicin, el programador debe utilizar el mtodo setError para indicar que se ha producido un error.

Devuelve:
integer

Definición en la línea 1036 del archivo gvHidraForm.php.

                                        {
        return 0;
    }
postFocusChanged ( objDatos)

Definición en la línea 1367 del archivo gvHidraForm.php.

                                               {
        return 0;
    }
postRecargar ( objDatos)

Definición en la línea 902 del archivo gvHidraForm.php.

                                           { //obj_ultimaConsulta
        return 0;
    }
preBorrar ( m_datos)

Este mtodo es el mtodo abstracto que ofrece Igep para realizar las validaciones previas antes del borrado. Su utilizacin pude ser:

  • Impedir la ejecucin del DELETE porque no se cumple cierta regla de validacin. Para ello debe retornar -1. Si se desea se puede crear un IgepMensaje para indicar al usuario el problema.

IMPORTANTE:: El mtodo debe devolver 0 si todo ha ido bien. En caso contrario -1 (es valido cualquier valor distinto de 0, pero recomendamos -1).

Devuelve:
integer

Reimplementado en TinvDonantes.

Definición en la línea 1237 del archivo gvHidraForm.php.

                                        {
        return 0;
    }
preBuscar ( objDatos)

Este mtodo es el mtodo abstracto que ofrece Igep para parametrizar el comportamiento antes lanzar la consulta de busqueda. Su utilizacin pude ser:

  • Aadir condiciones de busqueda especiales a la consulta antes de ejecutarse utilizando el mtodo setParametrosBusqueda
  • Aadir constantes a la consulta antes de que se ejecute con el mtodo addConstante
  • Impedir la ejecucin de la consulta si se dan ciertas condiciones. Para ello debe retornar -1. Si se desea se puede crear un IgepMensaje para indicar al usuario el problema.
  • Fijar el lmite de la consulta dependiendo de ciertos parmetros. Esto se puede hacer con el mtodo setLimiteConsulta.

IMPORTANTE:: El mtodo debe devolver 0 si todo ha ido bien. En caso contrario -1 (es valido cualquier valor distinto de 0, pero recomendamos -1).

Parámetros:
arrayVector que contiene los valores de los campos que ha introducido el usuario en el panel de busqueda.
Devuelve:
integer

Reimplementado en IgepPeticiones y IgepNovedades.

Definición en la línea 746 del archivo gvHidraForm.php.

                                        {    
        return 0;
    }
preEditar ( m_datos)

Este mtodo es el mtodo abstracto que ofrece Igep para parametrizar el comportamiento antes lanzar la consulta del panel de Edicin. Su utilizacin pude ser:

  • Aadir condiciones de busqueda especiales a la consulta de Edicin antes de ejecutarse.
  • Aadir constantes a la consulta antes de que se ejecute
  • Impedir la ejecucin de la consulta si se dan ciertas condiciones. Para ello debe retornar -1. Si se desea se puede crear un IgepMensaje para indicar al usuario el problema.

IMPORTANTE:: El mtodo debe devolver 0 si todo ha ido bien. En caso contrario -1 (es valido cualquier valor distinto de 0, pero recomendamos -1).

Reimplementado en TinvDonantes.

Definición en la línea 1022 del archivo gvHidraForm.php.

                                       {
        return 0;
    }
preFocusChanged ( objDatos)

Definición en la línea 1363 del archivo gvHidraForm.php.

                                              {
        return 0;
    }
preIniciarVentana ( objDatos)

Definición en la línea 704 del archivo gvHidraForm.php.

                                                {   
        return 0;
    }
preInsertar ( objDatos)

Este mtodo es el mtodo abstracto que ofrece Igep para realizar las validaciones previas antes de la Insercin. Su utilizacin pude ser:

  • Impedir la ejecucin de la insercin. Para ello debe retornar -1. Si se desea se puede crear un IgepMensaje para indicar al usuario el problema.
  • Calcular un nmero de secuencia de un campo de la clave primaria. Ver mtodos calcularSecuencia y calcularSecuenciaBD

IMPORTANTE:: El mtodo debe devolver 0 si todo ha ido bien. En caso contrario -1 (es valido cualquier valor distinto de 0, pero recomendamos -1).

Devuelve:
integer

Definición en la línea 1129 del archivo gvHidraForm.php.

                                           {
        return 0;
    }
preModificar ( datos)

Este mtodo es el mtodo abstracto que ofrece Igep para realizar las validaciones previas antes de la Modificacin. Su utilizacin pude ser:

  • Impedir la ejecucin de la modificacin por que no se cumple cierta regla de validacin. Para ello debe retornar -1. Si se desea se puede crear un IgepMensaje para indicar al usuario el problema.
  • Modificar los datos antes de que se vayan a actualizar.

IMPORTANTE:: El mtodo debe devolver 0 si todo ha ido bien. En caso contrario -1 (es valido cualquier valor distinto de 0, pero recomendamos -1).

Devuelve:
interger

Definición en la línea 1182 del archivo gvHidraForm.php.

                                         {
        return 0;
    }
preNuevo ( objDatos)

Mtodo abstracto que se debe de sobre escribir si se quiere parametrizar la accin nuevo antes de que se lance.

Definición en la línea 662 del archivo gvHidraForm.php.

                                       {   
        return 0;
    }
prepareDataSource ( )

Mtodo que se debe sobreescribir por las clases de extension para dar el comportamiento a la preparacin de la obtencion de datos. P.E. en la extension CRUD sirve para crear la consulta SQL.

Devuelve:
none

Reimplementado en gvHidraForm_DB y gvHidraForm_dummy.

Definición en la línea 817 del archivo gvHidraForm.php.

                                           {
                
        } 
prepareDataSourceDetails ( detail,
masterData 
)

Mtodo que se encarga de preparar la fuente de datos de un detalle

Parámetros:
objectdetail referencia a la CM que se quiere recargar
arraymasterData matriz de datos del maestro
Devuelve:
none

Reimplementado en gvHidraForm_DB y gvHidraForm_dummy.

Definición en la línea 913 del archivo gvHidraForm.php.

                                                                     {
        }
prepareDataSourceEdit ( )

Reimplementado en gvHidraForm_DB y gvHidraForm_dummy.

Definición en la línea 1040 del archivo gvHidraForm.php.

                                               {
                return; 
        }
preRecargar ( objDatos)

Definición en la línea 898 del archivo gvHidraForm.php.

                                          { //seleccin del Padre
        return 0;
    }
processDelete ( )

Reimplementado en gvHidraForm_DB y gvHidraForm_dummy.

Definición en la línea 1241 del archivo gvHidraForm.php.

                                       {
                return 0;
        }
processInsert ( )

Reimplementado en gvHidraForm_DB y gvHidraForm_dummy.

Definición en la línea 1133 del archivo gvHidraForm.php.

                                       {
                return 0;
        }
processUpdate ( )

Reimplementado en gvHidraForm_DB y gvHidraForm_dummy.

Definición en la línea 1186 del archivo gvHidraForm.php.

                                       {
                return 0;
        }
recoverData ( )

Mtodo que lanza la consulta SQL y retorna los datos

Devuelve:
none

Reimplementado en gvHidraForm_DB y gvHidraForm_dummy.

Definición en la línea 825 del archivo gvHidraForm.php.

                                     {
        return array(); 
        }
recoverDataDetail ( )

Metodo que se encarga de obtener los datos del detalle

Reimplementado en gvHidraForm_DB y gvHidraForm_dummy.

Definición en la línea 985 del archivo gvHidraForm.php.

                                           {
                return array();
        }
recoverDataEdit ( )

Reimplementado en gvHidraForm_DB y gvHidraForm_dummy.

Definición en la línea 1074 del archivo gvHidraForm.php.

                                     {
        return array();
    }
refreshDetail ( )

Mtodo encargado de realizar la recarga desde un hijo. Como su nombre indica se ejecuta cuando se ha realizado una operacin sobre un detalle. Entonces este lanza para realizar la busqueda con los valores del padre. Lgicamente este mtodo se suele llamar desde views. private

Definición en la línea 994 del archivo gvHidraForm.php.

                                   {
            $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);
                $this->obj_ultimaConsulta = $this->recoverDataDetail();
            if(!PEAR::isError($this->obj_ultimaConsulta)){
                $this->comunica->setOperacion('postConsultar');
                $this->comunica->setArrayOperacion($this->obj_ultimaConsulta);
                $this->postRecargar($comunicaUsuario);
                $dataContainer = $this->comunica->getAllTuplas();
            }
            else
                $dataContainer = array();
            //Guardamos los datos       
                $this->setResultadoBusqueda($dataContainer);
            if (count($this->obj_ultimaConsulta)>0)     
                return 0;                       
            else 
                return -1; 
    } //Fin de refreshDetail
refreshEdit ( ) [final]

Mtodo encargado de realizar las consultas de Edicin que se almacena en el obj_ultimaEdicion. private

Definición en la línea 1082 del archivo gvHidraForm.php.

                                       {    
                $res = $this->recoverDataEdit();
                $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);
        //Si no hay errores entonces ejecutamos la postEdicin
        if(!$this->obj_errorNegocio->hayError()){
            $this->comunica->setOperacion('postConsultar');
            $this->comunica->setArrayOperacion($res);
            $this->postEditar($comunicaUsuario);
            $dataContainer = $comunicaUsuario->getAllTuplas();
        }
        if(!$this->obj_errorNegocio->hayError()){
            //Guardamos los resultados.
            $this->setResultadoEdicion($dataContainer);     
            //Para que adapte los datos que vienen de la Base de datos a los requerimientos de la presentacin.
            if(count($this->obj_ultimaEdicion)>0){      
                    //Interaccin con Pantalla
                    $this->v_datosPresentacion['accionFicha'] = 'modificar';
                    //PARCHE: Hacemos referencia a $this->nombreCheckTabla. Pendiente de cambios en Plugin      
                    //Tenemos que cargar el JS de los checks marcados
                    $filasSeleccionadas = $this->_getFilasSeleccionadas($this->nombreCheckTabla);
                    $this->obj_IgSmarty->addScriptLoad(IgepSmarty::getJsChecksMarcados($filasSeleccionadas),'IGEP');
                    return 0;
            }
            else
                return -2;
        }
        else{
            //Si hay algn error lo indicamos con el mensaje
            $this->setResultadoEdicion(array());
            $this->obj_errorNegocio->setMsjError($this->obj_mensaje =new IgepMensaje());
            return -1;
        }
    }//Fin de refreshEdit
refreshMaster ( )

Mtodo encargado de recargar el panel maestro desde un panel detalle.

Lanza la consulta del panel maestro recargando asi su informacion. Tendra efecto solo si se trata de un panel detalle public

Devuelve:
int devuelve 0 si todo ha ido bien. -1 si no ha podido recargar el panel maestro (no tiene panel maestro o no esta activo).

Definición en la línea 875 del archivo gvHidraForm.php.

                                        {
                
                if(isset($this->str_nombrePadre)&& IgepSession::existePanel($this->str_nombrePadre)){

                        //Recuperamos el panel maestro
                        $master=IgepSession::damePanel($this->str_nombrePadre);
                        
                        if(is_object($master)) {
                                
                                $master->regenerarInstancia();
                                //Compartimos conexion. De ese modo todos los campos pendientes se visualizaran en el maestro.
                                $master->obj_conexion = $this->obj_conexion;
                                //Recargamos el contenido sin recargar los detalles
                                $master->refreshSearch(false);
                                IgepSession::guardaPanel($this->str_nombrePadre,$master);
                
                                return 0;
                        }
                }
                
                return -1;
        }
refreshSearch ( deep = true)

Mtodo encargado de realizar las consultas que se almacenan en el obj_ultimaConsulta

Parámetros:
boolean$deepindica si se recarga en profundidad o no public

Definición en la línea 834 del archivo gvHidraForm.php.

                                              {        
                $this->obj_ultimaConsulta = $this->recoverData();
        $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);
        $res = 0;
        //Pasamos a guardamos los datos q hemos obtenido de la consulta
        //Si no hay ningun error ejecutamos el postBuscar   
        if(!PEAR::isError($this->obj_ultimaConsulta)){        
            $this->comunica->setOperacion('postConsultar');
            $this->comunica->setArrayOperacion($this->obj_ultimaConsulta);
            $res = $this->postBuscar($comunicaUsuario);        
            $dataContainer = $comunicaUsuario->getAllTuplas();
        }                       
        if(PEAR::isError($dataContainer) or $this->obj_errorNegocio->hayError()){
            //La consulta es erronea.
            $this->obj_ultimaConsulta = array();
            $mensajeError[0] = 'La consulta SQL ha producido un error. Consulte con el Administrador de la aplicacin.';      
            $this->showMensaje('IGEP-15',$mensajeError);
            return -1;              
        }
        //Fijamos la matriz resultado (transformada, con listas, recargando hijos, ...)
        $this->setResultadoBusqueda($dataContainer,$deep);
        if (count($this->obj_ultimaConsulta)>0) {
            return $res;                                   
        }                       
        else {
            //Si $res=0 devolvemos -2 porque es correcto pero no tiene datos.
            //Sino devolvemos lo que nos haya dicho el usuario            
            if(!is_object($res) and $res==0)
                return -2;
            else
                return $res;
        }
    }// Fin de refreshSearch
regenerarInstancia ( )

Definición en la línea 228 del archivo gvHidraForm.php.

                                        {
        //Recuperamos la instancia de la clase Error. Si no existe (caso en el que venimos de Views), lo creamos
        global $g_error;                
        //#NVI#VIEWS#: Cuando quietemos del views las llamadas a Negocio quitamos este if
        if(!isset($g_error)) 
            $g_error = new IgepError(); 
        $this->obj_errorNegocio = & $g_error;
        //Creamos la instancia de IgepComunicacion
        $this->comunica = new IgepComunicacion($this->v_descCamposPanel);        
    }
regresoAVentana ( idSalto,
objDatos 
)

Mtodo abstracto que se debe de sobre escribir si se quiere volver deun salto de una ventana

Definición en la línea 653 del archivo gvHidraForm.php.

                                                        { 
      return 0;
    }
saltoDeVentana ( objDatos,
objSaltos 
)

Sobrecargable, en este mtodo implementaremos la lgica que sea necesaria ANTES de saltar hacia la clase destino (un smil de "presaltar"). public

Parámetros:
IgepComunicaUsuario$objDatosObjeto datos de acceso a la interfaz
IgepSalto$objSaltoObjeto salto

Definición en la línea 645 del archivo gvHidraForm.php.

                                                         { 
      return -1;
    }
setResultadoBusqueda ( mDatos,
deep = true 
)

Funcin que fija (cambia) el conjunto de datos manejados por IGEP internamente Se destina a uso en comportamientos muy particulares no cubiertos por la funcionalidad generica, el parmetro es una matiz de datos (dbresult), que pasar a sustirtuir a la matriz que se hubiese obtenido tras realizar una consulta

Parámetros:
$mDatosArray Matriz (cursor/dbResult) de datos (registros)
$deepboolean indica si se quiere recargar tambien los posibles hijos o no
Devuelve:
none

Definición en la línea 1664 del archivo gvHidraForm.php.

                                                            {         

                //Guardamos los datos del maestro en formato FW para poder asi utilizarlos en el caso de recarga en profundidad        
        $masterDataFW = $mDatos;
        //Para que adapte los datos que vienen de la Base de datos a los requerimientos de la presentacin.
        IgepComunicaUsuario::prepararPresentacion($mDatos, $this->v_descCamposPanel);
                //Tratamiento de listas
        if (isset($this->v_listas)) 
                $mDatos =$this->generarListas($mDatos);
        $this->obj_ultimaConsulta = & $mDatos;
        if($deep) {
                if(isset($this->v_hijos)){


                                //Recogemos el numero de filas del maestro
                                $numMasterData = count($masterDataFW);
                                
                    if(is_array($masterDataFW) and  $numMasterData>0) {
                            if(empty($this->int_filaActual) or ($this->int_filaActual>(--$numMasterData)))
                                $this->int_filaActual= 0;
                            
                            $masterSelected[0] = $masterDataFW[$this->int_filaActual];
                            $this->buildQueryDetails($masterSelected);
                    }
                }
        }
        return  0;      
    } //Fin de setResultadoBusqueda
setResultadoEdicion ( mDatos)

Funcin que fija (cambia) el conjunto de datos manejados por IGEP internamente Se destina a uso en comportamientos muy particulares no cubiertos por la funcionalidad generica, el parmetro es una matiz de datos (dbresult), que pasar a sustirtuir a la matriz que se hubiese obtenido tras realizar una preseleccion de datos en una panel

Parámetros:
$mDatosArray Matriz (cursor/dbResult) de datos (registros)
Devuelve:
none

Definición en la línea 1728 del archivo gvHidraForm.php.

                                                {
        //Para que adapte los datos que vienen de la Base de datos a los requerimientos de la presentacin.            
        IgepComunicaUsuario::prepararPresentacion($mDatos, $this->v_descCamposPanel);
                //Tratamiento de listas
            if (isset($this->v_listas)) 
                $mDatos =$this->generarListas($mDatos);
                $this->obj_ultimaEdicion = & $mDatos;
        return 0;       
    } //Fin de setResultadoEdicion
showMensaje ( idMensaje,
params = null 
)

Este mtodo crea un IgepMensaje y se lo asigna al panel. El primer parmetro corresponde con el id del mensaje (ver mensaje.php) y el segundo, que es opcional, permite parametrizar el mensaje pasando en un array los campos que se sustituirn en la cadena del mensaje.

Parámetros:
$idMensajestring Cadena que contiene el id del mensaje. Ver mensaje.php
$mDatosArray Array que contiene parmetros del mensaje.
Devuelve:
none

Definición en la línea 1773 del archivo gvHidraForm.php.

                                                         {
        
        $this->showMessage($idMensaje,$params);
    }
showMessage ( idMensaje,
params = null 
)

Este mtodo crea un IgepMensaje y se lo asigna al panel. El primer parmetro corresponde con el id del mensaje (ver mensaje.php) y el segundo, que es opcional, permite parametrizar el mensaje pasando en un array los campos que se sustituirn en la cadena del mensaje.

Parámetros:
$idMensajestring Cadena que contiene el id del mensaje. Ver mensaje.php
$mDatosArray Array que contiene parmetros del mensaje.
Devuelve:
none

Definición en la línea 1786 del archivo gvHidraForm.php.

                                                             {
        
        $this->obj_mensaje = new IgepMensaje($idMensaje,$params);
    }
updateSelected ( ) [final]

Mtodo encargado de realizar las UPDATEs private

Definición en la línea 1194 del archivo gvHidraForm.php.

                                          {
        //Fijamos la operacin a actualizar
        $this->comunica->setOperacion('actualizar');
        /*Comprobamos si hay datos para operar*/    
        if(!$this->comunica->hayDatos())
            return 0;   
        $comunicaUsuario = new IgepComunicaUsuario($this->comunica,$this->v_preInsercionDatos,$this->v_listas);
        /*Transformamos los datos al formato que utiliza la BD*/
        /*Validaciones de tipos de datos de gvHidra*/
        $validacionIgep = $this->comunica->checkDataTypes();
        if($validacionIgep!= '0') {
            $this->showMensaje('IGEP-17',array($validacionIgep));
            return -1;
        }
        $valido = $this->preModificar($comunicaUsuario);
        if($valido!= '0') {
            return $valido; 
        }
        //Procesamos la accion
        $retorno = $this->processUpdate();
        $errores = $this->obj_errorNegocio->hayError();
        if($errores){
            $this->obj_errorNegocio->setMsjError($this->obj_mensaje =new IgepMensaje());
            return -1;
        }
        else{
            $nombreClase = get_class($this);
            $this->obj_IgSmarty->addScriptLoad(IgepSmarty::getJsFijarFichaActiva($this->comunica->damePanelActivo(),$nombreClase,$this->comunica->dameFilaActual()),'IGEP');
                        if(empty($retorno))
                                $retorno = 0;
            return $retorno;
        }
    }//Fin del mtodo updateSelected

Documentación de los campos

object $comunica

La instancia de IgepComunicacin para comunicarnos con la presentacin public

Definición en la línea 113 del archivo gvHidraForm.php.

integer $int_filaActual

Para guardar la fila actual private

Definición en la línea 134 del archivo gvHidraForm.php.

$keepFilterValuesAfterSearch = false [private]

Definición en la línea 214 del archivo gvHidraForm.php.

$obj_errorNegocio

Definición en la línea 106 del archivo gvHidraForm.php.

$obj_IgSmarty

Definición en la línea 198 del archivo gvHidraForm.php.

object $obj_mensaje

Variable que contendr el posible mensaje a enviar al panel. Tiene que ser de la clase IgepMensaje

Definición en la línea 127 del archivo gvHidraForm.php.

$obj_ultimaConsulta

Definición en la línea 99 del archivo gvHidraForm.php.

object $obj_ultimaEdicion

Esta variable contiene el resultado de la ltima Select de Edicin. Contiene el DBResult private

Definición en la línea 120 del archivo gvHidraForm.php.

$panelDetalleActivo

Definición en la línea 212 del archivo gvHidraForm.php.

string $str_nombrePadre

Esta variable contiene el nombre de la clase padre. Si el panel tiene un panel maestro del que depende, debe inicializar esta variable con el nombre de la clase padre.

Definición en la línea 154 del archivo gvHidraForm.php.

array $v_checksMarcados

Vector que contiene los checks que en un tres modos se han seleccionado al realizar una accion editar. private

Definición en la línea 205 del archivo gvHidraForm.php.

array $v_datosPresentacion

Array que se gasta para almacenar datos necesarios para la presentacion. Permite interactuar con el panel de presentacin. Es decir, ponerlo en modo insercin o en modo modificacion. private

Definición en la línea 177 del archivo gvHidraForm.php.

array $v_descCamposPanel

Array que describe las caractersticas de los campos del panel. private

Definición en la línea 184 del archivo gvHidraForm.php.

array $v_hijos

Este array tiene la referencia de los paneles hijos(su clase manejadora) y la relacin de dependencia existente, es decir los campos de la TPL que correspondan.

Definición en la línea 148 del archivo gvHidraForm.php.

$v_listas

Definición en la línea 141 del archivo gvHidraForm.php.

array $v_preInsercionDatos

Array que se utiliza para preInsertar los datos cuando se pulsa al botn de nuevo. private

Definición en la línea 168 del archivo gvHidraForm.php.

$v_validacionesUsuario

Definición en la línea 191 del archivo gvHidraForm.php.

array $v_ventanasSeleccion

Esta variable contiene el array de definicin de todas las ventanas de seleccin del panel. private

Definición en la línea 161 del archivo gvHidraForm.php.


La documentación para esta clase fue generada a partir del siguiente fichero: