function procesarFormulario() {
// 		var_dump ( $_REQUEST );
        $conexion="estructura";
        $esteRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);

        //$miSesion = Sesion::singleton();
	//$usuarioSoporte = $miSesion->getSesionUsuarioId(); 

        $parametro['estado']=$_REQUEST['estado'];
        $parametro['id_subsistema']=$_REQUEST['id_subsistema'];
        $parametro['rol_id']=$_REQUEST['rol_id'];
        $this->cadena_sql = $this->miSql->getCadenaSql("CambiarEstadoRol", $parametro);
	
        $resultadoEstado = $esteRecursoDB->ejecutarAcceso($this->cadena_sql, "acceso");
	
        if($resultadoEstado)
	{	
            $log=array('accion'=>"ACTUALIZAR",
                        'id_registro'=>$_REQUEST ["id_subsistema"]."|".$_REQUEST ["rol_id"],
                        'tipo_registro'=>"GESTION ROLES",
                        'nombre_registro'=>"id_subsistema=>".$_REQUEST ["id_subsistema"].
                                           "|rol_id=>".$_REQUEST ["rol_id"].
                                           "|estado=>".$parametro['estado'],
                        'descripcion'=>"Cambiar el estado del Rol ".$_REQUEST ["rol_alias"]." del Subsistema ".$_REQUEST ["subsistema"],
                       ); 
            $this->miLogger->log_usuario($log);
            redireccion::redireccionar($_REQUEST['opcion'],$_REQUEST);
            
	}else
	{
            redireccion::redireccionar('no'.$_REQUEST['opcion'],$_REQUEST);
            exit();
        }
    }
    function procesarFormulario() {

        $conexion="estructura";
	$esteRecursoDB=$this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);
        
	$arregloDatos = array('id_subsistema'=>$_REQUEST['id_subsistema'],
                              'nombreSub'=>$_REQUEST['nombreSub'],  
                              'etiqueta'=>$_REQUEST['etiqueta'],  
                              'pagina'=>$_REQUEST['paginaSub'],  
                              'descripcionSub'=>$_REQUEST['descripcionSub'],  
                              'rol_id'=>$_REQUEST['rol_id'],
                              'rol_nombre'  =>$_REQUEST['nombre'],
                              'rol_alias'  =>$_REQUEST['alias'],
                              'rol_descripcion'  =>$_REQUEST['descripcion'], );
        
        $this->cadena_sql = $this->miSql->getCadenaSql("EditarSubsistema", $arregloDatos);
        $resultadoSub = $esteRecursoDB->ejecutarAcceso($this->cadena_sql, "acceso");
        
        $this->cadena_sql = $this->miSql->getCadenaSql("EditarRol", $arregloDatos);
        $resultadoRol = $esteRecursoDB->ejecutarAcceso($this->cadena_sql, "acceso");
        
        if($resultadoSub && $resultadoRol)
            {    
                $log=array('accion'=>"ACTUALIZAR",
                            'id_registro'=>$_REQUEST['id_subsistema']."|".$_REQUEST['rol_id'],
                            'tipo_registro'=>"GESTION ROLES",
                            'nombre_registro'=>"id_subsistema=>".$_REQUEST['id_subsistema'].
                                               "|nombreSub=>".$_REQUEST['nombreSub'].
                                               "|etiqueta=>".$_REQUEST['etiqueta'].
                                               "|pagina=>".$_REQUEST['paginaSub'].
                                               "|descripcionSub=>".$_REQUEST['descripcionSub'].
                                               "|rol_id=>".$_REQUEST['rol_id'].
                                               "|rol_nombre=>".$_REQUEST['nombre'].
                                               "|rol_alias=>".$_REQUEST['alias'].
                                               "|rol_descripcion=>".$_REQUEST['descripcion'],
                            'descripcion'=>"Actualizar datos del Rol ".$arregloDatos['rol_alias']." y Subsistema ".$arregloDatos['etiqueta'],
                           ); 
                $this->miLogger->log_usuario($log);
                redireccion::redireccionar('editoRol',$arregloDatos);  exit();
            }
        else
            {
               redireccion::redireccionar('noEditoRol',$arregloDatos);  exit();
            }

  
    }
    function procesarFormulario() {
// 		var_dump ( $_REQUEST );
        $conexion="estructura";
        $esteRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);

        $parametro=array('id_subsistema'=>$_REQUEST['id_subsistema'],
                         'rol_id'=>$_REQUEST['rol_id']);
       
        $cadena_sql = $this->miSql->getCadenaSql("consultarPerfilUsuario", $parametro);
        $resultadoLog = $esteRecursoDB->ejecutarAcceso($cadena_sql, "busqueda");
        //var_dump($resultadoLog);
        
        if($resultadoLog)
            {   $_REQUEST['nroUser']=count($resultadoLog);
                redireccion::redireccionar('existe',$_REQUEST);
                exit();
            } 
        else{
                $this->cadena_sql = $this->miSql->getCadenaSql("borrarRol", $parametro);
                $resultadoBorra = $esteRecursoDB->ejecutarAcceso($this->cadena_sql, "acceso");

                if($resultadoBorra)
                {	
                    $log=array('accion'=>"BORRAR",
                                'id_registro'=>$_REQUEST ["id_subsistema"]."|".$_REQUEST ["rol_id"],
                                'tipo_registro'=>"GESTION ROLES",
                                'nombre_registro'=>"id_subsistema=>".$_REQUEST ["id_subsistema"].
                                                   "|rol_id=>".$_REQUEST ["rol_id"],
                                'descripcion'=>"Borrar el Rol ".$_REQUEST ["rol_alias"]." del Subsistema ".$_REQUEST ["subsistema"],
                               ); 
                    $this->miLogger->log_usuario($log);
                    redireccion::redireccionar($_REQUEST['opcion'],$_REQUEST);
                    }    
                else
                    {
                        redireccion::redireccionar('no'.$_REQUEST['opcion'],$_REQUEST);
                        exit();
                    }
            }        
    }
	public function bloque() {
		
		
		
		if (isset ( $_REQUEST ['botonCancelar'] ) && $_REQUEST ['botonCancelar'] == "true") {
			redireccion::redireccionar ( "paginaPrincipal" );
		} else if (isset ( $_REQUEST ['botonContinuar'] ) && $_REQUEST ['botonContinuar'] == "true") {

			
			redireccion::redireccionar ( "paginaPrincipal" );
		} else {
			
			$this->miFrontera->setSql ( $this->miSql );
			$this->miFrontera->setFuncion ( $this->miFuncion );
			$this->miFrontera->setLenguaje ( $this->miLenguaje );
			
			$this->miFuncion->setSql ( $this->miSql );
			$this->miFuncion->setFuncion ( $this->miFuncion );
			$this->miFuncion->setLenguaje ( $this->miLenguaje );
			
			if (! isset ( $_REQUEST ['action'] )) {
// 				echo "bloque";exit;
				$this->miFrontera->frontera ();
			} else {
				
				$respuesta = $this->miFuncion->action ();
				
				// Si $respuesta==false, entonces se debe recargar el formulario y mostrar un mensaje de error.
				if (! $respuesta) {
					
					$miBloque = $this->miConfigurador->getVariableConfiguracion ( 'esteBloque' );
					$this->miConfigurador->setVariableConfiguracion ( 'errorFormulario', $miBloque ['nombre'] );
				}
				if (! isset ( $_REQUEST ['procesarAjax'] )) {
					$this->miFrontera->frontera ();
				}
			}
		}
	}
    function procesarFormulario() {

        $conexion="estructura";
	$esteRecursoDB=$this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);
        
                $this->cadena_sql = $this->miSql->getCadenaSql("idSubsistema",'');
                $idSub = $esteRecursoDB->ejecutarAcceso($this->cadena_sql, "busqueda");
                $arregloDatos = array('id_subsistema'=>($idSub[0]['id_subsistema']+1),
                                      'nombre'  =>$_REQUEST['nombreSub'],
                                      'etiqueta'  =>$_REQUEST['etiqueta'],
                                      'descripcion'  =>$_REQUEST['descripcionSub'],
                                      'pagina'  =>$_REQUEST['paginaSub']);
               $this->cadena_sql = $this->miSql->getCadenaSql("insertarSubsistema", $arregloDatos);
               $resultadoSub = $esteRecursoDB->ejecutarAcceso($this->cadena_sql, "acceso");
               
        if($resultadoSub)
            {   
                $log=array('accion'=>"REGISTRO",
                        'id_registro'=>$arregloDatos['id_subsistema'],
                        'tipo_registro'=>"GESTION ROLES",
                        'nombre_registro'=>"id_subsistema=>".$arregloDatos['id_subsistema'].
                                           "|nombre=>".$arregloDatos['nombre'].
                                           "|etiqueta=>".$arregloDatos['etiqueta'].
                                           "|descripcion=>".$arregloDatos['descripcion'].
                                           "|id_pagina=>".$arregloDatos['pagina'],
                        'descripcion'=>"Registro de nuevo Subsistema al Subsistema ".$arregloDatos['nombre']
                          );
            
                        $this->miLogger->log_usuario($log);
                        redireccion::redireccionar('insertoSub',$arregloDatos);  exit();
                    
            }
        else
            {
               redireccion::redireccionar('noInsertoSub',$arregloDatos);  exit();
            }
  
    }
    function procesarFormulario() {

        $conexion="estructura";
	$esteRecursoDB=$this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);
        
        $hoy = date("Y-m-d");   
        
        if(isset($_REQUEST['perfil']) && $_REQUEST['perfil']>=0 )
            {   
                $arregloDatos = array('subsistema'=>$_REQUEST['subsistema'],
                                       'rol_id'=>$_REQUEST['perfil'] );
                
                $log=array('accion'=>"REGISTRO",
                        'id_registro'=>$_REQUEST['subsistema']."|".$_REQUEST['perfil'],
                        'tipo_registro'=>"GESTION ROLES",
                        'nombre_registro'=>"subsistema=>".$_REQUEST['subsistema'].
                                           "|Rol=>".$_REQUEST['perfil'],
                       ); 

            }
        else{
                $this->cadena_sql = $this->miSql->getCadenaSql("idPerfil",'');
                $idPerfil = $esteRecursoDB->ejecutarAcceso($this->cadena_sql, "busqueda");
                $arregloDatos = array('subsistema'=>$_REQUEST['subsistema'],
                                      'rol_id'=>($idPerfil[0]['rol_id']+1),
                                      'rol_nombre'  =>$_REQUEST['nombre'],
                                      'rol_alias'  =>$_REQUEST['alias'],
                                      'rol_descripcion'  =>$_REQUEST['descripcion'],
                                      'rol_estado'  =>1,
                                      'rol_fechaIni'  =>$hoy  );
                                  
               $this->cadena_sql = $this->miSql->getCadenaSql("insertarRol", $arregloDatos);
               $resultadoRol = $esteRecursoDB->ejecutarAcceso($this->cadena_sql, "acceso");
               $log=array('accion'=>"REGISTRO",
                        'id_registro'=>$arregloDatos['subsistema']."|".$arregloDatos['rol_id'],
                        'tipo_registro'=>"GESTION ROLES",
                        'nombre_registro'=>"subsistema=>".$arregloDatos['subsistema'].
                                           "|rol_id=>".$arregloDatos['rol_id'].
                                           "|rol_nombre=>".$arregloDatos['rol_nombre'].
                                           "|rol_alias=>".$arregloDatos['rol_alias'].
                                           "|rol_descripcion=>".$arregloDatos['rol_descripcion'].
                                           "|rol_estado=>".$arregloDatos['rol_estado'].
                                           "|rol_fechaIni=>".$arregloDatos['rol_fechaIni'],
                       ); 
            }
            
        if(isset($_REQUEST['perfil']) || $resultadoRol)
            {   $this->cadena_sql = $this->miSql->getCadenaSql("insertarRolSubsistema", $arregloDatos);
                $resultadoRolSub = $esteRecursoDB->ejecutarAcceso($this->cadena_sql, "acceso");

                if($resultadoRolSub)
                    {    
                        $cadena_sql = $this->miSql->getCadenaSql("consultaPerfilesSistema", $arregloDatos);
                        $resultadoPerfil = $esteRecursoDB->ejecutarAcceso($cadena_sql, "busqueda");

                        $log['descripcion']="Registro de nuevo Rol ".$resultadoPerfil[0]['rol_alias']." al Subsistema ".$resultadoPerfil[0]['etiketa'];

                        $this->miLogger->log_usuario($log);
                        $arregloDatos['perfilUs']=$resultadoPerfil[0]['rol_alias'];
                        $arregloDatos['perfilSub']=$resultadoPerfil[0]['etiketa'];
                        redireccion::redireccionar('insertoPerfil',$arregloDatos);  exit();
                    }
                else
                    {
                       redireccion::redireccionar('noInsertoPerfil',$arregloDatos);  exit();
                    }
            }
        else
            {
               redireccion::redireccionar('noInsertoPerfil',$arregloDatos);  exit();
            }
  
    }
	function miForm() {
		
		// Rescatar los datos de este bloque
		$esteBloque = $this->miConfigurador->getVariableConfiguracion ( "esteBloque" );
		
		// ---------------- SECCION: Parámetros Globales del Formulario ----------------------------------
		/**
		 * Atributos que deben ser aplicados a todos los controles de este formulario.
		 * Se utiliza un arreglo
		 * independiente debido a que los atributos individuales se reinician cada vez que se declara un campo.
		 *
		 * Si se utiliza esta técnica es necesario realizar un mezcla entre este arreglo y el específico en cada control:
		 * $atributos= array_merge($atributos,$atributosGlobales);
		 */
		$atributosGlobales ['campoSeguro'] = 'true';
		
		$_REQUEST ['tiempo'] = time ();
		$tiempo = $_REQUEST ['tiempo'];
		
		// lineas para conectar base de d atos-------------------------------------------------------------------------------------------------
		$conexion = "inventarios";
		
		$esteRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB ( $conexion );
		
		$conexion = "sicapital";
		$esteRecursoDBO = $this->miConfigurador->fabricaConexiones->getRecursoDB ( $conexion );
		
		$funcionario = $_REQUEST ['funcionario'];
		$cadenaSql = $this->miSql->getCadenaSql ( 'funcionario_informacion_fn', $funcionario );
		$funcionario_inf = $esteRecursoDB->ejecutarAcceso ( $cadenaSql, "busqueda" );
		
		$funcionario_informacion = array (
				"responsable_ante" => $funcionario_inf [0] [0],
				"id_funcionario" => $funcionario 
		);
		
		$_REQUEST = array_merge ( $_REQUEST, $funcionario_informacion );
		
		for($i = 0; $i <= 1000000; $i ++) {
			if (isset ( $_REQUEST ['item_' . $i] )) {
				$items [] = $_REQUEST ['item_' . $i];
			}
		}
		
		if(empty($items)==true){
			
			redireccion::redireccionar ( 'noItems', false );
			exit();
			
		}
		
		
		foreach ( $items as $key => $values ) {
			$cadenaSql = $this->miSql->getCadenaSql ( 'elemento_informacion', $items [$key] );
			$elemento = $esteRecursoDB->ejecutarAcceso ( $cadenaSql, "busqueda" );
			
			$elementos_info [$key] = $elemento [0];
		}
		
		// var_dump($funcionario);
		$seccion ['tiempo'] = $tiempo;
		
		// ___________________________________________________________________________________
		// -------------------------------------------------------------------------------------------------
		
		$conexion = "inventarios";
		
		$esteRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB ( $conexion );
		
		// ---------------- SECCION: Parámetros Generales del Formulario ----------------------------------
		$esteCampo = $esteBloque ['nombre'];
		$atributos ['id'] = $esteCampo;
		$atributos ['nombre'] = $esteCampo;
		// Si no se coloca, entonces toma el valor predeterminado 'application/x-www-form-urlencoded'
		$atributos ['tipoFormulario'] = 'multipart/form-data';
		// Si no se coloca, entonces toma el valor predeterminado 'POST'
		$atributos ['metodo'] = 'POST';
		// Si no se coloca, entonces toma el valor predeterminado 'index.php' (Recomendado)
		$atributos ['action'] = 'index.php';
		// $atributos ['titulo'] = $this->lenguaje->getCadena ( $esteCampo );
		// Si no se coloca, entonces toma el valor predeterminado.
		$atributos ['estilo'] = '';
		$atributos ['marco'] = false;
		$tab = 1;
		// ---------------- FIN SECCION: de Parámetros Generales del Formulario ----------------------------
		// ----------------INICIAR EL FORMULARIO ------------------------------------------------------------
		$atributos ['tipoEtiqueta'] = 'inicio';
		echo $this->miFormulario->formulario ( $atributos );
		{
			// ---------------- SECCION: Controles del Formulario -----------------------------------------------
			
			$miPaginaActual = $this->miConfigurador->getVariableConfiguracion ( 'pagina' );
			
			$directorio = $this->miConfigurador->getVariableConfiguracion ( "host" );
			$directorio .= $this->miConfigurador->getVariableConfiguracion ( "site" ) . "/index.php?";
			$directorio .= $this->miConfigurador->getVariableConfiguracion ( "enlace" );
			
			$variable = "pagina=" . $miPaginaActual;
			$variable = $this->miConfigurador->fabricaConexiones->crypto->codificar_url ( $variable, $directorio );
			
			// ---------------- CONTROL: Cuadro de Texto --------------------------------------------------------
			$esteCampo = 'botonRegresar';
			$atributos ['id'] = $esteCampo;
			$atributos ['enlace'] = $variable;
			$atributos ['tabIndex'] = 1;
			$atributos ['estilo'] = 'textoSubtitulo';
			$atributos ['enlaceTexto'] = $this->lenguaje->getCadena ( $esteCampo );
			$atributos ['ancho'] = '10%';
			$atributos ['alto'] = '10%';
			$atributos ['redirLugar'] = true;
			echo $this->miFormulario->enlace ( $atributos );
			
			unset ( $atributos );
			
			$esteCampo = "AgrupacionGeneral";
			$atributos ['id'] = $esteCampo;
			$atributos ['leyenda'] = "Información General del Elemento a Trasladar";
			echo $this->miFormulario->agrupacion ( 'inicio', $atributos );
			{
				
				if ($elementos_info) {
					echo $this->miFormulario->tablaReporte ( $elementos_info );
				}
			}
			
			echo $this->miFormulario->agrupacion ( 'fin' );
			
			$esteCampo = "marcoDatosBasicos";
			$atributos ['id'] = $esteCampo;
			$atributos ["estilo"] = "jqueryui";
			$atributos ['tipoEtiqueta'] = 'inicio';
			$atributos ["leyenda"] = "Traslado de Elemento Descritos";
			echo $this->miFormulario->marcoAgrupacion ( 'inicio', $atributos );
			unset ( $atributos );
			{
				
				// ---------------- CONTROL: Cuadro de Texto --------------------------------------------------------
				$esteCampo = 'responsable_ante';
				$atributos ['id'] = $esteCampo;
				$atributos ['nombre'] = $esteCampo;
				$atributos ['tipo'] = 'text';
				$atributos ['estilo'] = 'jqueryui';
				$atributos ['marco'] = true;
				$atributos ['estiloMarco'] = '';
				$atributos ["etiquetaObligatorio"] = false;
				$atributos ['columnas'] = 1;
				$atributos ['dobleLinea'] = 0;
				$atributos ['tabIndex'] = $tab;
				$atributos ['etiqueta'] = $this->lenguaje->getCadena ( $esteCampo );
				$atributos ['validar'] = '';
				$atributos ['valor'] = $funcionario_informacion ['responsable_ante'];
				$atributos ['titulo'] = $this->lenguaje->getCadena ( $esteCampo . 'Titulo' );
				$atributos ['deshabilitado'] = true;
				$atributos ['tamanno'] = 60;
				$atributos ['maximoTamanno'] = '';
				$atributos ['anchoEtiqueta'] = 170;
				$tab ++;
				
				// Aplica atributos globales al control
				$atributos = array_merge ( $atributos, $atributosGlobales );
				// echo $this->miFormulario->campoCuadroTexto ( $atributos );
				unset ( $atributos );
				// ---------------- CONTROL: Cuadro de Texto --------------------------------------------------------
				$esteCampo = 'responsable_reci';
				$atributos ['nombre'] = $esteCampo;
				$atributos ['id'] = $esteCampo;
				$atributos ['etiqueta'] = $this->lenguaje->getCadena ( $esteCampo );
				$atributos ["etiquetaObligatorio"] = true;
				$atributos ['tab'] = $tab ++;
				$atributos ['seleccion'] = - 1;
				$atributos ['anchoEtiqueta'] = 170;
				$atributos ['evento'] = '';
				if (isset ( $_REQUEST [$esteCampo] )) {
					$atributos ['valor'] = $_REQUEST [$esteCampo];
				} else {
					$atributos ['valor'] = '';
				}
				$atributos ['deshabilitado'] = false;
				$atributos ['columnas'] = 1;
				$atributos ['tamanno'] = 1;
				$atributos ['ajax_function'] = "";
				$atributos ['ajax_control'] = $esteCampo;
				$atributos ['estilo'] = "jqueryui";
				$atributos ['validar'] = "required";
				$atributos ['limitar'] = true;
				$atributos ['anchoCaja'] = 54;
				$atributos ['miEvento'] = '';
				$atributos ['cadena_sql'] = $this->miSql->getCadenaSql ( "funcionarios" );
				$matrizItems = array (
						array (
								0,
								' ' 
						) 
				);
				$matrizItems = $esteRecursoDB->ejecutarAcceso ( $atributos ['cadena_sql'], "busqueda" );
				$atributos ['matrizItems'] = $matrizItems;
				// $atributos['miniRegistro']=;
				$atributos ['baseDatos'] = "inventarios";
				// $atributos ['cadena_sql'] = $this->miSql->getCadenaSql ( "clase_entrada" );
				// Aplica atributos globales al control
				$atributos = array_merge ( $atributos, $atributosGlobales );
				echo $this->miFormulario->campoCuadroLista ( $atributos );
				unset ( $atributos );
				
				// ---------------- CONTROL: Cuadro de Texto --------------------------------------------------------
				$esteCampo = 'sede';
				$atributos ['columnas'] = 3;
				$atributos ['nombre'] = $esteCampo;
				$atributos ['id'] = $esteCampo;
				$atributos ['evento'] = '';
				$atributos ['deshabilitado'] = false;
				$atributos ["etiquetaObligatorio"] = true;
				$atributos ['tab'] = $tab;
				$atributos ['tamanno'] = 1;
				$atributos ['estilo'] = 'jqueryui';
				$atributos ['validar'] = 'required';
				$atributos ['limitar'] = true;
				$atributos ['etiqueta'] = $this->lenguaje->getCadena ( $esteCampo );
				$atributos ['anchoEtiqueta'] = 150;
				
				if (isset ( $_REQUEST [$esteCampo] )) {
					$atributos ['seleccion'] = $_REQUEST [$esteCampo];
				} else {
					$atributos ['seleccion'] = - 1;
				}
				
				$atributos ['cadena_sql'] = $this->miSql->getCadenaSql ( "sede" );
				$matrizItems = $esteRecursoDB->ejecutarAcceso ( $atributos ['cadena_sql'], "busqueda" );
				$atributos ['matrizItems'] = $matrizItems;
				
				// Utilizar lo siguiente cuando no se pase un arreglo:
				// $atributos['baseDatos']='ponerAquiElNombreDeLaConexión';
				// $atributos ['cadena_sql']='ponerLaCadenaSqlAEjecutar';
				$tab ++;
				$atributos = array_merge ( $atributos, $atributosGlobales );
				echo $this->miFormulario->campoCuadroLista ( $atributos );
				unset ( $atributos );
				
				$esteCampo = "dependencia";
				$atributos ['columnas'] = 3;
				$atributos ['nombre'] = $esteCampo;
				$atributos ['id'] = $esteCampo;
				
				$atributos ['evento'] = '';
				$atributos ['deshabilitado'] = true;
				$atributos ["etiquetaObligatorio"] = true;
				$atributos ['tab'] = $tab;
				$atributos ['tamanno'] = 1;
				$atributos ['estilo'] = 'jqueryui';
				$atributos ['validar'] = 'required';
				$atributos ['limitar'] = true;
				$atributos ['etiqueta'] = $this->lenguaje->getCadena ( $esteCampo );
				$atributos ['anchoEtiqueta'] = 150;
				if (isset ( $_REQUEST [$esteCampo] )) {
					$atributos ['seleccion'] = $_REQUEST [$esteCampo];
				} else {
					$atributos ['seleccion'] = - 1;
				}
				$atributos ['cadena_sql'] = $this->miSql->getCadenaSql ( "dependencias" );
				
				$matrizItems = $esteRecursoDB->ejecutarAcceso ( $atributos ['cadena_sql'], "busqueda" );
				$atributos ['matrizItems'] = $matrizItems;
				
				// Utilizar lo siguiente cuando no se pase un arreglo:
				// $atributos['baseDatos']='ponerAquiElNombreDeLaConexión';
				// $atributos ['cadena_sql']='ponerLaCadenaSqlAEjecutar';
				$tab ++;
				$atributos = array_merge ( $atributos, $atributosGlobales );
				echo $this->miFormulario->campoCuadroLista ( $atributos );
				unset ( $atributos );
				
				$esteCampo = "ubicacion";
				$atributos ['columnas'] = 3;
				$atributos ['nombre'] = $esteCampo;
				$atributos ['id'] = $esteCampo;
				$atributos ['evento'] = '';
				$atributos ['deshabilitado'] = true;
				$atributos ["etiquetaObligatorio"] = true;
				$atributos ['tab'] = $tab;
				$atributos ['tamanno'] = 1;
				$atributos ['estilo'] = 'jqueryui';
				$atributos ['validar'] = 'required';
				$atributos ['limitar'] = true;
				$atributos ['etiqueta'] = $this->lenguaje->getCadena ( $esteCampo );
				$atributos ['anchoEtiqueta'] = 165;
				if (isset ( $_REQUEST [$esteCampo] )) {
					$atributos ['seleccion'] = $_REQUEST [$esteCampo];
				} else {
					$atributos ['seleccion'] = - 1;
				}
				$atributos ['cadena_sql'] = $this->miSql->getCadenaSql ( "ubicaciones" );
				
				$matrizItems = array (
						
						array (
								'',
								'Seleccione ...' 
						) 
				);
				$atributos ['matrizItems'] = $matrizItems;
				
				// Utilizar lo siguiente cuando no se pase un arreglo:
				// $atributos['baseDatos']='ponerAquiElNombreDeLaConexión';
				// $atributos ['cadena_sql']='ponerLaCadenaSqlAEjecutar';
				$tab ++;
				$atributos = array_merge ( $atributos, $atributosGlobales );
				echo $this->miFormulario->campoCuadroLista ( $atributos );
				unset ( $atributos );
				
				// ---------------- CONTROL: Cuadro de Texto --------------------------------------------------------
				$esteCampo = 'observaciones';
				$atributos ['id'] = $esteCampo;
				$atributos ['nombre'] = $esteCampo;
				$atributos ['tipo'] = 'text';
				$atributos ['estilo'] = 'jqueryui';
				$atributos ['marco'] = true;
				$atributos ['estiloMarco'] = '';
				$atributos ["etiquetaObligatorio"] = true;
				$atributos ['columnas'] = 120;
				$atributos ['filas'] = 5;
				$atributos ['dobleLinea'] = 0;
				$atributos ['tabIndex'] = $tab;
				$atributos ['etiqueta'] = $this->lenguaje->getCadena ( $esteCampo );
				$atributos ['validar'] = 'required, minSize[1]';
				$atributos ['titulo'] = $this->lenguaje->getCadena ( $esteCampo . 'Titulo' );
				$atributos ['deshabilitado'] = false;
				$atributos ['tamanno'] = 20;
				$atributos ['maximoTamanno'] = '';
				$atributos ['anchoEtiqueta'] = 220;
				if (isset ( $_REQUEST [$esteCampo] )) {
					$atributos ['valor'] = $_REQUEST [$esteCampo];
				} else {
					$atributos ['valor'] = '';
				}
				$tab ++;
				
				// Aplica atributos globales al control
				$atributos = array_merge ( $atributos, $atributosGlobales );
				echo $this->miFormulario->campoTextArea ( $atributos );
				unset ( $atributos );
				
				// ------------------Division para los botones-------------------------
				$atributos ["id"] = "botones";
				$atributos ["estilo"] = "marcoBotones";
				echo $this->miFormulario->division ( "inicio", $atributos );
				unset ( $atributos );
				{
					// -----------------CONTROL: Botón ----------------------------------------------------------------
					$esteCampo = 'botonAceptar';
					$atributos ["id"] = $esteCampo;
					$atributos ["tabIndex"] = $tab;
					$atributos ["tipo"] = 'boton';
					// submit: no se coloca si se desea un tipo button genérico
					$atributos ['submit'] = true;
					$atributos ["estiloMarco"] = '';
					$atributos ["estiloBoton"] = 'jqueryui';
					// verificar: true para verificar el formulario antes de pasarlo al servidor.
					$atributos ["verificar"] = '';
					$atributos ["tipoSubmit"] = 'jquery'; // Dejar vacio para un submit normal, en este caso se ejecuta la función submit declarada en ready.js
					$atributos ["valor"] = $this->lenguaje->getCadena ( $esteCampo );
					$atributos ['nombreFormulario'] = $esteBloque ['nombre'];
					$tab ++;
					
					// Aplica atributos globales al control
					$atributos = array_merge ( $atributos, $atributosGlobales );
					echo $this->miFormulario->campoBoton ( $atributos );
					// -----------------FIN CONTROL: Botón -----------------------------------------------------------
				}
				echo $this->miFormulario->division ( 'fin' );
				
				echo $this->miFormulario->marcoAgrupacion ( 'fin' );
				
				// ---------------- FIN SECCION: Controles del Formulario -------------------------------------------
				// ----------------FINALIZAR EL FORMULARIO ----------------------------------------------------------
				// Se debe declarar el mismo atributo de marco con que se inició el formulario.
			}
			
			// -----------------FIN CONTROL: Botón -----------------------------------------------------------
			// ------------------Fin Division para los botones-------------------------
			echo $this->miFormulario->division ( "fin" );
			
			// ------------------- SECCION: Paso de variables ------------------------------------------------
			
			/**
			 * En algunas ocasiones es útil pasar variables entre las diferentes páginas.
			 * SARA permite realizar esto a través de tres
			 * mecanismos:
			 * (a). Registrando las variables como variables de sesión. Estarán disponibles durante toda la sesión de usuario. Requiere acceso a
			 * la base de datos.
			 * (b). Incluirlas de manera codificada como campos de los formularios. Para ello se utiliza un campo especial denominado
			 * formsara, cuyo valor será una cadena codificada que contiene las variables.
			 * (c) a través de campos ocultos en los formularios. (deprecated)
			 */
			// En este formulario se utiliza el mecanismo (b) para pasar las siguientes variables:
			
			$valorCodificado = "action=" . $esteBloque ["nombre"];
			$valorCodificado .= "&pagina=" . $this->miConfigurador->getVariableConfiguracion ( 'pagina' );
			$valorCodificado .= "&bloque=" . $esteBloque ['nombre'];
			$valorCodificado .= "&bloqueGrupo=" . $esteBloque ["grupo"];
			$valorCodificado .= "&opcion=registrar";
			$valorCodificado .= "&fun_anterior=" . $funcionario;
			$valorCodificado .= "&informacion_elementos=" . base64_encode ( serialize ( $elementos_info ) );
			
			/**
			 * SARA permite que los nombres de los campos sean dinámicos.
			 * Para ello utiliza la hora en que es creado el formulario para
			 * codificar el nombre de cada campo. Si se utiliza esta técnica es necesario pasar dicho tiempo como una variable:
			 * (a) invocando a la variable $_REQUEST ['tiempo'] que se ha declarado en ready.php o
			 * (b) asociando el tiempo en que se está creando el formulario
			 */
			$valorCodificado .= "&campoSeguro=" . $_REQUEST ['tiempo'];
			$valorCodificado .= "&tiempo=" . time ();
			// Paso 2: codificar la cadena resultante
			$valorCodificado = $this->miConfigurador->fabricaConexiones->crypto->codificar ( $valorCodificado );
			
			$atributos ["id"] = "formSaraData"; // No cambiar este nombre
			$atributos ["tipo"] = "hidden";
			$atributos ['estilo'] = '';
			$atributos ["obligatorio"] = false;
			$atributos ['marco'] = true;
			$atributos ["etiqueta"] = "";
			$atributos ["valor"] = $valorCodificado;
			echo $this->miFormulario->campoCuadroTexto ( $atributos );
			unset ( $atributos );
			
			$atributos ['marco'] = true;
			$atributos ['tipoEtiqueta'] = 'fin';
			echo $this->miFormulario->formulario ( $atributos );
			
			return true;
		}
	}
    function procesarFormulario() {
// 		var_dump ( $_REQUEST );
        $conexion = "inventarios";
        $esteRecursoDB = $this->miConfigurador->fabricaConexiones->getRecursoDB($conexion);

        // $conexion = "sicapital";
        // $esteRecursoDBO = $this->miConfigurador->fabricaConexiones->getRecursoDB ( $conexion );

        $cadenaSql = $this->miSql->getCadenaSql('funcionario_informacion_fn', $_REQUEST ['responsable_reci']);

        $funcionario_enviar = $esteRecursoDB->ejecutarAcceso($cadenaSql, "busqueda");

        $fechaActual = date('Y-m-d');
        $elementos_traslado = unserialize(base64_decode($_REQUEST ['informacion_elementos']));

        // trasladar cada elementos
        foreach ($elementos_traslado as $key => $values) {

            $datos = array(
                $fechaActual,
                $elementos_traslado [$key] ['id'],
                $_REQUEST ['responsable_reci'],
                $elementos_traslado [$key] ['funcionario'],
                $_REQUEST ['ubicacion'],
                $_REQUEST ['observaciones']
            );

            $cadenaSql = $this->miSql->getCadenaSql('insertar_historico', $datos);
            $historico = $esteRecursoDB->ejecutarAcceso($cadenaSql, "insertar");

            if ($historico == false) {

                redireccion::redireccionar('noInserto', false);
                exit();
            }

            $arreglo_datos = array(
                $elementos_traslado [$key] ['id'],
                $_REQUEST ['responsable_reci'],
                $_REQUEST ['observaciones'],
                $_REQUEST ['dependencia'],
                $_REQUEST ['ubicacion']
            );

            $cadenaSql = $this->miSql->getCadenaSql('buscar_salidas', $elementos_traslado [$key] ['id']);
            $salidas [] = $esteRecursoDB->ejecutarAcceso($cadenaSql, "busqueda");

            $cadenaSql = $this->miSql->getCadenaSql('actualizar_salida', $arreglo_datos);


            $traslado = $esteRecursoDB->ejecutarAcceso($cadenaSql, "insertar");

            if ($traslado == false) {
                $cadenaSql = $this->miSql->getCadenaSql('eliminar_historico', $historico [0] [0]);
                $historico = $esteRecursoDB->ejecutarAcceso($cadenaSql, "insertar");

                redireccion::redireccionar('noInserto');
                exit();
            }
        }



//        foreach ($salidas as $tipo) {
//
//            $arreglo = array(
//                $tipo[0] ['salida'],
//                $_REQUEST ['responsable_reci'],
//                $_REQUEST ['sede'],
//                $_REQUEST ['dependencia'],
//                $_REQUEST ['ubicacion']
//            );
//
//            $cadenaSql = $this->miSql->getCadenaSql('actualizar_registro_salida', $arreglo);
//            $ActualizarRegistroSalida = $esteRecursoDB->ejecutarAcceso($cadenaSql, "acceso");
//        }

        $cadenaSql = $this->miSql->getCadenaSql('dependencia_nombre', $_REQUEST ['ubicacion']);
        $dep_nombre = $esteRecursoDB->ejecutarAcceso($cadenaSql, "busqueda");

        $datos = array(
            'responsable' => $_REQUEST ['responsable_reci'],
            'dependencia' => $dep_nombre [0] [0]
        );

        if ($traslado==true) {
            redireccion::redireccionar('inserto', $datos);
            exit();
        } else {

            redireccion::redireccionar('noInserto');
            exit();
        }
    }