function uf_validar_cuentas($as_codnom,$as_codperi)
	{
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_validar_cuentas
		//		   Access: private
		//		 Argument: as_numsol // Número de solicitud
		//				   as_estsol  // Estatus de la solicitud
		//	  Description: Función que busca que las cuentas presupuestarias estén en la programática seleccionada
		//				   de ser asi coloca la sep en emitida sino la coloca en registrada
		//	   Creado Por: Ing. Yesenia Moreno/ Ing. Luis Lang
		// Modificado Por: Ing. Yozelin Barragan
		// Fecha Creación: 17/03/2007								Fecha Última Modificación : 
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;
		$ls_mensaje="";
		require_once("../shared/class_folder/class_sigesp_int.php");
		require_once("../shared/class_folder/class_sigesp_int_scg.php");
		require_once("../shared/class_folder/class_sigesp_int_spg.php");
		$io_intspg=new class_sigesp_int_spg();		
		$ls_sql="SELECT codestpro1, codestpro2, codestpro3, codestpro4, codestpro5,estcla, TRIM(spg_cuenta) AS spg_cuenta, monto, ".
				"	    (SELECT (asignado-(comprometido+precomprometido)+aumento-disminucion) ".
				"		   FROM spg_cuentas ".
				"		  WHERE spg_cuentas.codemp = sno_dt_spg.codemp ".
				"			AND spg_cuentas.codestpro1 = sno_dt_spg.codestpro1 ".
				"		    AND spg_cuentas.codestpro2 = sno_dt_spg.codestpro2 ".
				"		    AND spg_cuentas.codestpro3 = sno_dt_spg.codestpro3 ".
				"		    AND spg_cuentas.codestpro4 = sno_dt_spg.codestpro4 ".
				"		    AND spg_cuentas.codestpro5 = sno_dt_spg.codestpro5 ".
				"           AND spg_cuentas.estcla=sno_dt_spg.estcla".
				"			AND spg_cuentas.spg_cuenta = sno_dt_spg.spg_cuenta) AS disponibilidad, ".		
				"		(SELECT COUNT(codemp) ".
				"		   FROM spg_cuentas ".
				"		  WHERE spg_cuentas.codemp = sno_dt_spg.codemp ".
				"			AND spg_cuentas.codestpro1 = sno_dt_spg.codestpro1 ".
				"		    AND spg_cuentas.codestpro2 = sno_dt_spg.codestpro2 ".
				"		    AND spg_cuentas.codestpro3 = sno_dt_spg.codestpro3 ".
				"		    AND spg_cuentas.codestpro4 = sno_dt_spg.codestpro4 ".
				"		    AND spg_cuentas.codestpro5 = sno_dt_spg.codestpro5 ".
				"           AND spg_cuentas.estcla=sno_dt_spg.estcla".
				"			AND spg_cuentas.spg_cuenta = sno_dt_spg.spg_cuenta) AS existe ".		
				"  FROM sno_dt_spg  ".
				" WHERE codemp='".$this->ls_codemp."' ".
				"   AND codnom='".$as_codnom."' ";
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_mensajes->message("CLASE->Cierre_Periodo_4 MÉTODO->uf_validar_cuentas ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message)); 
			$lb_valido=true;
		}
		else
		{
			$lb_existe=true;
			while(($row=$this->io_sql->fetch_row($rs_data))&&($lb_existe))
			{
				$ls_codestpro1=$row["codestpro1"];
				$ls_codestpro2=$row["codestpro2"];
				$ls_codestpro3=$row["codestpro3"];
				$ls_codestpro4=$row["codestpro4"];
				$ls_codestpro5=$row["codestpro5"];
				$ls_estcla=$row["estcla"];
				$ls_spg_cuenta=$row["spg_cuenta"];
				$li_monto=$row["monto"];
				$li_existe=$row["existe"];
				$estprog[0]=$row["codestpro1"];
				$estprog[1]=$row["codestpro2"];
				$estprog[2]=$row["codestpro3"];
				$estprog[3]=$row["codestpro4"];
				$estprog[4]=$row["codestpro5"];
				$estprog[5]=$row["estcla"];
				$lb_valido=$io_intspg->uf_spg_saldo_select($this->ls_codemp, $estprog, $ls_spg_cuenta, &$ls_status, &$adec_asignado, 
				                                           &$adec_aumento,&$adec_disminucion,&$adec_precomprometido,
													   	   &$adec_comprometido,&$adec_causado,&$adec_pagado);
				$lb_valido=true;
				$li_disponibilidad=($adec_asignado-($adec_comprometido+$adec_precomprometido)+$adec_aumento-$adec_disminucion);
				if($li_existe>0)
				{
					$li_monto=number_format($li_monto,2,".","");
					$li_disponibilidad=number_format($li_disponibilidad,2,".","");
					if($li_monto>$li_disponibilidad)
					{
						$ls_estmodest = $_SESSION["la_empresa"]["estmodest"];
						if($ls_estmodest==1)
						{
							$ls_codestpro1 = substr($ls_codestpro1,-$_SESSION["la_empresa"]["loncodestpro1"]);
							$ls_codestpro2 = substr($ls_codestpro2,-$_SESSION["la_empresa"]["loncodestpro2"]);
							$ls_codestpro3 = substr($ls_codestpro3,-$_SESSION["la_empresa"]["loncodestpro3"]);
							$ls_codestpro  = $ls_codestpro1.'-'.$ls_codestpro2.'-'.$ls_codestpro3;
						}
						else
						{
							$ls_codestpro=substr($ls_codestpro1,-2)."-".substr($ls_codestpro2,-2)."-".substr($ls_codestpro3,-2)."-".substr($ls_codestpro4,-2)."-".substr($ls_codestpro5,-2);
						}
						$li_monto=number_format($li_monto,2,",",".");
						$li_disponibilidad=number_format($li_disponibilidad,2,",",".");
						$ls_mensaje = $ls_mensaje.' Estructura: '.$ls_codestpro.' - '.'Cuenta:'.$ls_spg_cuenta.', Disponible:'.$li_disponibilidad.' , Monto:'.$li_monto.' No Posee Disponibilidad'.'\n';
					}
					else
					{
						$ls_estmodest = $_SESSION["la_empresa"]["estmodest"];
						if($ls_estmodest==1)
						{
							$ls_codestpro1 = substr($ls_codestpro1,-$_SESSION["la_empresa"]["loncodestpro1"]);
							$ls_codestpro2 = substr($ls_codestpro2,-$_SESSION["la_empresa"]["loncodestpro2"]);
							$ls_codestpro3 = substr($ls_codestpro3,-$_SESSION["la_empresa"]["loncodestpro3"]);
							$ls_codestpro  = $ls_codestpro1.'-'.$ls_codestpro2.'-'.$ls_codestpro3;
						}
						else
						{
							$ls_codestpro=substr($ls_codestpro1,-2)."-".substr($ls_codestpro2,-2)."-".substr($ls_codestpro3,-2)."-".substr($ls_codestpro4,-2)."-".substr($ls_codestpro5,-2);
						}
						$li_monto=number_format($li_monto,2,",",".");
						$li_disponibilidad=number_format($li_disponibilidad,2,",",".");
						$ls_mensaje = $ls_mensaje.' Estructura: '.$ls_codestpro.'  -  '.'Cuenta:'.$ls_spg_cuenta.', Disponible:'.$li_disponibilidad.' , Monto:'.$li_monto.' Posee Disponibilidad'.'\n';
						
					}
				}
				else
				{
					$lb_existe = true;
					$this->io_mensajes->message("La cuenta ".$ls_spg_cuenta." No Existe en la Estructura ".$ls_codestpro1.$ls_codestpro2.$ls_codestpro3.$ls_codestpro4.$ls_codestpro5.""); 
				}
			}
			if($ls_mensaje!="")
				{
					$ls_mensaje=' Disponibilidad para contabilizar la Nomina: \n\n  '.$ls_mensaje;
					$this->io_mensajes->message($ls_mensaje);
				}
			$this->io_sql->free_result($rs_data);	
		}
		return $lb_valido;
	}// end function uf_validar_cuentas
	function uf_validar_cuentas($as_numordcom,&$as_estcom,$as_estcondat)
	{
		////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_validar_cuentas
		//		   Access: private
		//		 Argument: as_numordcom ---> mumero de la orden de compra
		//				   as_estcom  ---> estatus de la orden de compra
		//                 as_estcondat ---> tipo de la orden de compra bienes o servicios
		//	  Description: Función que busca que las cuentas presupuestarias estén en la programática seleccionada
		//				   de ser asi coloca la sep en emitida sino la coloca en registrada
		//	   Creado Por: Ing. Yesenia Moreno/ Ing. Luis Lang
		// Modificado Por: Ing. Yozelin Barragan
		// Fecha Creación: 17/03/2007								Fecha Última Modificación : 12/05/2007
		///////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;
		global $as_pathaux;
		require_once($as_pathaux."shared/class_folder/class_sigesp_int.php");
		require_once($as_pathaux."shared/class_folder/class_sigesp_int_scg.php");
		require_once($as_pathaux."shared/class_folder/class_sigesp_int_spg.php");
		$io_intspg=new class_sigesp_int_spg();		
		$ls_sql="SELECT codestpro1, codestpro2, codestpro3, codestpro4, codestpro5, TRIM(spg_cuenta) AS spg_cuenta, estcla, monto, ".
				"	    (SELECT (asignado-(comprometido+precomprometido)+aumento-disminucion) ".
				"		   FROM spg_cuentas ".
				"		  WHERE spg_cuentas.codemp = soc_cuentagasto.codemp ".
				"			AND spg_cuentas.codestpro1 = soc_cuentagasto.codestpro1 ".
				"		    AND spg_cuentas.codestpro2 = soc_cuentagasto.codestpro2 ".
				"		    AND spg_cuentas.codestpro3 = soc_cuentagasto.codestpro3 ".
				"		    AND spg_cuentas.codestpro4 = soc_cuentagasto.codestpro4 ".
				"		    AND spg_cuentas.codestpro5 = soc_cuentagasto.codestpro5 ".
				"		    AND spg_cuentas.estcla = soc_cuentagasto.estcla ".
				"			AND spg_cuentas.spg_cuenta = soc_cuentagasto.spg_cuenta) AS disponibilidad, ".		
				"		(SELECT COUNT(codemp) ".
				"		   FROM spg_cuentas ".
				"		  WHERE spg_cuentas.codemp = soc_cuentagasto.codemp ".
				"			AND spg_cuentas.codestpro1 = soc_cuentagasto.codestpro1 ".
				"		    AND spg_cuentas.codestpro2 = soc_cuentagasto.codestpro2 ".
				"		    AND spg_cuentas.codestpro3 = soc_cuentagasto.codestpro3 ".
				"		    AND spg_cuentas.codestpro4 = soc_cuentagasto.codestpro4 ".
				"		    AND spg_cuentas.codestpro5 = soc_cuentagasto.codestpro5 ".
				"		    AND spg_cuentas.estcla = soc_cuentagasto.estcla ".
				"			AND spg_cuentas.spg_cuenta = soc_cuentagasto.spg_cuenta) AS existe ".		
				"  FROM soc_cuentagasto  ".
				" WHERE codemp='".$this->ls_codemp."' ".
				"   AND numordcom='".$as_numordcom."' ".
				"   AND estcondat='".$as_estcondat."' "; //print $ls_sql;
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_mensajes->message("CLASE->sigesp_soc_c_registro_orden_compra.php;MÉTODO->uf_validar_cuentas ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message)); 
			$lb_valido=false;
		}
		else
		{
			$lb_existe=true;
			while(($row=$this->io_sql->fetch_row($rs_data))&&($lb_existe))
			{
				$ls_estcla     = trim($row["estcla"]);
				$ls_codestpro1 = trim($row["codestpro1"]);
				$ls_codestpro2 = trim($row["codestpro2"]);
				$ls_codestpro3 = trim($row["codestpro3"]);
				$ls_codestpro4 = trim($row["codestpro4"]);
				$ls_codestpro5 = trim($row["codestpro5"]);
				$ls_spg_cuenta = trim($row["spg_cuenta"]);
				$li_monto      = $row["monto"];
				$estprog[0]=$row["codestpro1"];
				$estprog[1]=$row["codestpro2"];
				$estprog[2]=$row["codestpro3"];
				$estprog[3]=$row["codestpro4"];
				$estprog[4]=$row["codestpro5"];
				$estprog[5]=$row["estcla"];
				$lb_valido=$io_intspg->uf_spg_saldo_select($this->ls_codemp, $estprog, $ls_spg_cuenta, &$ls_status, &$adec_asignado, 
				                                           &$adec_aumento,&$adec_disminucion,&$adec_precomprometido,
													   	   &$adec_comprometido,&$adec_causado,&$adec_pagado);
				$li_disponibilidad=($adec_asignado-($adec_comprometido+$adec_precomprometido)+$adec_aumento-$adec_disminucion);
				$li_existe=$row["existe"];
				if($li_existe>0)
				{
					$li_monto=number_format($li_monto,2,".","");
					$li_disponibilidad=number_format($li_disponibilidad,2,".","");
					if($li_monto>$li_disponibilidad)
					{
						$li_monto=number_format($li_monto,2,",",".");
						$li_disponibilidad=number_format($li_disponibilidad,2,",",".");
						$this->io_mensajes->message("No hay Disponibilidad en la cuenta ".$ls_spg_cuenta." Disponible=[".$li_disponibilidad."] Cuenta=[".$li_monto."]"); 
					}
				}
				else
				{
					$lb_existe = false;
					$this->io_mensajes->message("La cuenta ".$ls_spg_cuenta." No Existe en la Estructura ".$ls_codestpro1.'-'.$ls_codestpro2.'-'.$ls_codestpro3.'-'.$ls_codestpro4.'-'.$ls_codestpro5."; Tipo = ".$ls_estcla); 
				}
				
			}
			$this->io_sql->free_result($rs_data);	
			if($lb_existe)
			{
				$as_estcom=1; // EMITIDA SE DEBE CAMBIAR EN LETRAS (E)
			}
			else
			{
				$as_estcom=0; // REGISTRO SE DEBE CAMBIAR EN LETRAS (R)
			}
			$ls_sql="UPDATE soc_ordencompra ".
					"   SET estcom='".$as_estcom."' ".
					" WHERE codemp = '".$this->ls_codemp."' AND ".
					"	    numordcom = '".$as_numordcom."' AND ".
					"       estcondat= '".$as_estcondat."'  ";
			$li_row=$this->io_sql->execute($ls_sql);
			if($li_row===false)
			{
				$lb_valido=false;
				$this->io_mensajes->message("CLASE->sigesp_soc_c_registro_orden_compra.php;MÉTODO->uf_validar_cuentas ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message)); 
			}
		}
		return $lb_valido;
	}// end function uf_validar_cuentas
function uf_print_cuentasspg()
{
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    //	     Function: uf_print_cuentasspg
    //		   Access: private
    //	    Arguments:
    //	  Description: Método que inprime el resultado de la busqueda de las cuentas presupuestarias
    //	   Creado Por: Ing. Yesenia Moreno/ Ing. Luis Lang
    // Fecha Creación: 07/04/2007								Fecha Última Modificación :
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    global $io_funciones_cxp;
    require_once "../../shared/class_folder/sigesp_include.php";
    $io_include = new sigesp_include();
    $io_conexion = $io_include->uf_conectar();
    require_once "../../shared/class_folder/class_sql.php";
    $io_sql = new class_sql($io_conexion);
    require_once "../../shared/class_folder/class_mensajes.php";
    $io_mensajes = new class_mensajes();
    require_once "../../shared/class_folder/class_funciones.php";
    $io_funciones = new class_funciones();
    require_once "../../shared/class_folder/class_fecha.php";
    require_once "../../shared/class_folder/class_sigesp_int.php";
    require_once "../../shared/class_folder/class_sigesp_int_scg.php";
    require_once "../../shared/class_folder/class_sigesp_int_spg.php";
    $io_intspg = new class_sigesp_int_spg();
    $ls_spgcuenta = "%" . $_POST['spgcuenta'] . "%";
    $ls_dencue = "%" . $_POST['dencue'] . "%";
    $ls_estcla = $_POST['estcla'];
    $ls_codestpro1 = str_pad($_POST['codestpro1'], 25, 0, 0);
    $ls_codestpro2 = str_pad($_POST['codestpro2'], 25, 0, 0);
    $ls_codestpro3 = str_pad($_POST['codestpro3'], 25, 0, 0);
    $ls_codestpro4 = str_pad($_POST['codestpro4'], 25, 0, 0);
    $ls_codestpro5 = str_pad($_POST['codestpro5'], 25, 0, 0);
    $ls_codemp = $_SESSION['la_empresa']['codemp'];
    $ls_orden = $_POST['orden'];
    $ls_campoorden = $_POST['campoorden'];
    $_SESSION["fechacomprobante"] = date('Y-m-d');
    if ($ls_campoorden == "codpro") {
        $ls_campoorden = "codestpro1,codestpro2,codestpro3,codestpro4,codestpro5";
    }
    $io_funciones_cxp->uf_loadmodalidad(&$li_len1, &$li_len2, &$li_len3, &$li_len4, &$li_len5, &$ls_titulo);
    $ls_cuentas = "";
    $ls_tipocuenta = "";
    $ls_sql = "SELECT TRIM(spg_cuenta) AS spg_cuenta , denominacion, codestpro1,codestpro2, codestpro3, codestpro4, codestpro5, status, " . "       (asignado-(comprometido+precomprometido)+aumento-disminucion) as disponible, sc_cuenta, estcla " . "  FROM spg_cuentas " . " WHERE codemp = '" . $ls_codemp . "'  " . "\tAND codestpro1 = '" . $ls_codestpro1 . "' " . "\tAND codestpro2 = '" . $ls_codestpro2 . "' " . "\tAND codestpro3 = '" . $ls_codestpro3 . "' " . "\tAND codestpro4 = '" . $ls_codestpro4 . "' " . "\tAND codestpro5 = '" . $ls_codestpro5 . "' " . "\tAND estcla = '" . $ls_estcla . "' " . "\tAND spg_cuenta like '" . $ls_spgcuenta . "' " . "   AND denominacion like '" . $ls_dencue . "' " . " ORDER BY " . $ls_campoorden . " " . $ls_orden . " ";
    $rs_data = $io_sql->select($ls_sql);
    if ($rs_data === false) {
        $io_mensajes->uf_mensajes_ajax("Error al cargar Cuentas Presupuestarias ", "ERROR->" . $io_funciones->uf_convertirmsg($io_sql->message), false, "");
    } else {
        print "<table width=620 border=0 cellpadding=1 cellspacing=1 class=fondo-tabla align=center>";
        print "<tr class=titulo-celda>";
        print "<td width=100 style='cursor:pointer' title='Ordenar por Programatica'          align='center' onClick=ue_orden('codpro')>" . $ls_titulo . "</td>";
        print "<td width=50>" . utf8_encode("Estatus") . "</td>";
        print "<td width=100 style='cursor:pointer' title='Ordenar por Cuenta Presupuestaria' align='center' onClick=ue_orden('spg_cuenta')>Presupuestaria</td>";
        print "<td width=100 style='cursor:pointer' title='Ordenar por Cuenta Contable'       align='center' onClick=ue_orden('sc_cuenta')>Contable</td>";
        print "<td width=170 style='cursor:pointer' title='Ordenar por Denominacion'          align='center' onClick=ue_orden('denominacion')>Denominacion</td>";
        print "<td width=100 style='cursor:pointer' title='Ordenar por Disponible'            align='center' onClick=ue_orden('disponible')>Disponible</td>";
        print "</tr>";
        while ($row = $io_sql->fetch_row($rs_data)) {
            $li_disponible = 0;
            $ls_spg_cuenta = trim($row["spg_cuenta"]);
            $ls_sccuenta = trim($row["sc_cuenta"]);
            $ls_status = trim($row["status"]);
            $ls_denominacion = utf8_encode(rtrim($row["denominacion"]));
            $ls_estcla = utf8_encode(rtrim($row["estcla"]));
            $ls_codestpro = $row["codestpro1"] . $row["codestpro2"] . $row["codestpro3"] . $row["codestpro4"] . $row["codestpro5"];
            $estprog[0] = $row["codestpro1"];
            $estprog[1] = $row["codestpro2"];
            $estprog[2] = $row["codestpro3"];
            $estprog[3] = $row["codestpro4"];
            $estprog[4] = $row["codestpro5"];
            $estprog[5] = $row["estcla"];
            $lb_valido = $io_intspg->uf_spg_saldo_select($ls_codemp, $estprog, $ls_spg_cuenta, &$ls_status, &$adec_asignado, &$adec_aumento, &$adec_disminucion, &$adec_precomprometido, &$adec_comprometido, &$adec_causado, &$adec_pagado);
            $li_disponible = $adec_asignado - ($adec_comprometido + $adec_precomprometido) + $adec_aumento - $adec_disminucion;
            $li_disponible = number_format($li_disponible, 2, ",", ".");
            $ls_estatus = "";
            switch ($ls_estcla) {
                case "A":
                    $ls_estatus = utf8_encode("Acción");
                    break;
                case "P":
                    $ls_estatus = utf8_encode("Proyecto");
                    break;
            }
            $ls_programatica = "";
            $io_funciones_cxp->uf_formatoprogramatica($ls_codestpro, &$ls_programatica);
            if ($ls_status == "C") {
                print "<tr class=celdas-azules>";
                print "<td align='center'><a href=\"javascript: ue_aceptar('" . $ls_spg_cuenta . "','" . $ls_denominacion . "','" . $ls_sccuenta . "','" . $li_disponible . "');\">" . $ls_programatica . "</a></td>";
                print "<td align='center'>" . $ls_estatus . "</td>";
                print "<td align='center'>" . $ls_spg_cuenta . "</td>";
                print "<td align='center'>" . $ls_sccuenta . "</td>";
                print "<td align='left'>" . $ls_denominacion . "</td>";
                print "<td align='right'>" . $li_disponible . "</td>";
                print "</tr>";
            } else {
                print "<tr class=celdas-blancas>";
                print "<td align='center'>" . $ls_programatica . "</td>";
                print "<td align='center'>" . $ls_estatus . "</td>";
                print "<td align='center'>" . $ls_spg_cuenta . "</td>";
                print "<td align='center'>" . $ls_sccuenta . "</td>";
                print "<td align='left'>" . $ls_denominacion . "</td>";
                print "<td align='right'>" . $li_disponible . "</td>";
                print "</tr>";
            }
        }
        $io_sql->free_result($rs_data);
        print "</table>";
    }
    unset($io_include, $io_conexion, $io_sql, $io_mensajes, $io_funciones, $ls_codemp, $_SESSION["fechacomprobante"]);
}
	function uf_validar_cuentas($as_numsol,&$as_estsol,$as_operacion)
	{
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_validar_cuentas
		//		   Access: private
		//		 Argument: as_numsol // Número de solicitud
		//				   as_estsol  // Estatus de la solicitud
		//	  Description: Función que busca que las cuentas presupuestarias estén en la programática seleccionada
		//				   de ser asi coloca la sep en emitida sino la coloca en registrada
		//	   Creado Por: Ing. Yesenia Moreno/ Ing. Luis Lang
		// Modificado Por: Ing. Yozelin Barragan
		// Fecha Creación: 17/03/2007								Fecha Última Modificación : 
		//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;
		global $as_pathaux;
		require_once($as_pathaux."shared/class_folder/class_sigesp_int.php");
		require_once($as_pathaux."shared/class_folder/class_sigesp_int_scg.php");
		require_once($as_pathaux."shared/class_folder/class_sigesp_int_spg.php");
		$io_intspg=new class_sigesp_int_spg();		
		$ls_sql="SELECT codestpro1, codestpro2, codestpro3, codestpro4, codestpro5,estcla, TRIM(spg_cuenta) AS spg_cuenta, monto, ".
				"	    (SELECT (asignado-(comprometido+precomprometido)+aumento-disminucion) ".
				"		   FROM spg_cuentas ".
				"		  WHERE spg_cuentas.codemp = sep_cuentagasto.codemp ".
				"			AND spg_cuentas.codestpro1 = sep_cuentagasto.codestpro1 ".
				"		    AND spg_cuentas.codestpro2 = sep_cuentagasto.codestpro2 ".
				"		    AND spg_cuentas.codestpro3 = sep_cuentagasto.codestpro3 ".
				"		    AND spg_cuentas.codestpro4 = sep_cuentagasto.codestpro4 ".
				"		    AND spg_cuentas.codestpro5 = sep_cuentagasto.codestpro5 ".
				"           AND spg_cuentas.estcla=sep_cuentagasto.estcla".
				"			AND spg_cuentas.spg_cuenta = sep_cuentagasto.spg_cuenta) AS disponibilidad, ".		
				"		(SELECT COUNT(codemp) ".
				"		   FROM spg_cuentas ".
				"		  WHERE spg_cuentas.codemp = sep_cuentagasto.codemp ".
				"			AND spg_cuentas.codestpro1 = sep_cuentagasto.codestpro1 ".
				"		    AND spg_cuentas.codestpro2 = sep_cuentagasto.codestpro2 ".
				"		    AND spg_cuentas.codestpro3 = sep_cuentagasto.codestpro3 ".
				"		    AND spg_cuentas.codestpro4 = sep_cuentagasto.codestpro4 ".
				"		    AND spg_cuentas.codestpro5 = sep_cuentagasto.codestpro5 ".
				"           AND spg_cuentas.estcla=sep_cuentagasto.estcla".
				"			AND spg_cuentas.spg_cuenta = sep_cuentagasto.spg_cuenta) AS existe ".		
				"  FROM sep_cuentagasto  ".
				" WHERE codemp='".$this->ls_codemp."' ".
				"   AND numsol='".$as_numsol."'";
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_mensajes->message("CLASE->Solicitud MÉTODO->uf_validar_cuentas ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message)); 
			$lb_valido=false;
		}
		else
		{
			$lb_existe=true;
			while(($row=$this->io_sql->fetch_row($rs_data))&&($lb_existe))
			{
				$ls_codestpro1=$row["codestpro1"];
				$ls_codestpro2=$row["codestpro2"];
				$ls_codestpro3=$row["codestpro3"];
				$ls_codestpro4=$row["codestpro4"];
				$ls_codestpro5=$row["codestpro5"];
				$ls_estcla=$row["estcla"];
				$ls_spg_cuenta=$row["spg_cuenta"];
				$li_monto=$row["monto"];
				$li_existe=$row["existe"];
				$estprog[0]=$row["codestpro1"];
				$estprog[1]=$row["codestpro2"];
				$estprog[2]=$row["codestpro3"];
				$estprog[3]=$row["codestpro4"];
				$estprog[4]=$row["codestpro5"];
				$estprog[5]=$row["estcla"];
				$lb_valido=$io_intspg->uf_spg_saldo_select($this->ls_codemp, $estprog, $ls_spg_cuenta, &$ls_status, &$adec_asignado, 
				                                           &$adec_aumento,&$adec_disminucion,&$adec_precomprometido,
													   	   &$adec_comprometido,&$adec_causado,&$adec_pagado);
				$li_disponibilidad=($adec_asignado-($adec_comprometido+$adec_precomprometido)+$adec_aumento-$adec_disminucion);
			 	if($li_existe>0)
				{
					$li_monto=number_format($li_monto,2,".","");
					$li_disponibilidad=number_format($li_disponibilidad,2,".","");
					if($li_monto>$li_disponibilidad)
					{
						$li_monto=number_format($li_monto,2,",",".");
						$li_disponibilidad=number_format($li_disponibilidad,2,",",".");
						if($as_operacion!='S')
						{
							$this->io_mensajes->message("No hay Disponibilidad en la cuenta ".$ls_spg_cuenta." Disponible=[".$li_disponibilidad."] Cuenta=[".$li_monto."]"); 
						}							
					}
				}
				else
				{
					$lb_existe = false;
					$this->io_mensajes->message("La cuenta ".$ls_spg_cuenta." No Existe en la Estructura ".$ls_codestpro1.$ls_codestpro2.$ls_codestpro3.$ls_codestpro4.$ls_codestpro5.""); 
				}
			}
			$this->io_sql->free_result($rs_data);	
			if($lb_existe)
			{
				$as_estsol="E";
			}
			else
			{
				$as_estsol="R";
			}
			$ls_sql="UPDATE sep_solicitud ".
					"   SET estsol='".$as_estsol."' ".
					" WHERE codemp = '".$this->ls_codemp."'".
					"	AND numsol = '".$as_numsol."' ";
			$this->io_sql->begin_transaction();				
			$li_row=$this->io_sql->execute($ls_sql);
			if($li_row===false)
			{
				$lb_valido=false;
				$this->io_mensajes->message("CLASE->Solicitud MÉTODO->uf_validar_cuentas ERROR->".$this->io_funciones->uf_convertirmsg($this->io_sql->message)); 
				$this->io_sql->rollback();
			}
			else
			{
				$this->io_sql->commit();			
			}
		}
		return $lb_valido;
	}// end function uf_validar_cuentas
Пример #5
0
		      {
				while (!$rs_data->EOF)
				      {
	                    $ls_spgcta     = $rs_data->fields["spg_cuenta"];
						$ls_denctaspg  = $rs_data->fields["denominacion"];
						$ls_codestpro1 = trim(substr($la_estprog[0] = $rs_data->fields["codestpro1"],-$li_loncodestpro1));
						$ls_codestpro2 = trim(substr($la_estprog[1] = $rs_data->fields["codestpro2"],-$li_loncodestpro2));
						$ls_codestpro3 = trim(substr($la_estprog[2] = $rs_data->fields["codestpro3"],-$li_loncodestpro3));
						$ls_codestpro4 = trim(substr($la_estprog[3] = $rs_data->fields["codestpro4"],-$li_loncodestpro4));
						$ls_codestpro5 = trim(substr($la_estprog[4] = $rs_data->fields["codestpro5"],-$li_loncodestpro5));
						$ls_estcla     = $la_estprog[5] = $rs_data->fields["estcla"];
						$ls_scgcta     = $rs_data->fields["sc_cuenta"];
						$ls_estctaspg  = $rs_data->fields["status"];
						
				        $lb_valido=$io_intspg->uf_spg_saldo_select($la_empresa["codemp"],$la_estprog,$ls_spgcta,&$ls_status,&$adec_asignado, 
				                                           		  &$adec_aumento,&$adec_disminucion,&$adec_precomprometido,
													   	   		  &$adec_comprometido,&$adec_causado,&$adec_pagado);
						$ld_disponible = ($adec_asignado-($adec_comprometido+$adec_precomprometido)+$adec_aumento-$adec_disminucion);
						$ld_disponible = number_format($ld_disponible,2,",",".");						
						if ($ls_estctaspg=='S')
						   {
						     echo "<tr class=celdas-blancas>";
						     echo "<td style=text-align:center>".$ls_spgcta."</td>";
						   }
						elseif($ls_estctaspg=='C')
						   {
						     echo "<tr class=celdas-azules>";
							 echo "<td style=text-align:center><a href=\"javascript: aceptar('$ls_spgcta','$ls_denctaspg','$ls_scgcta');\">".$ls_spgcta."</a></td>";
						   }
						echo "<td style=text-align:center>".$ls_codestpro1."</td>";
						echo "<td style=text-align:center>".$ls_codestpro2."</td>";