function uf_calcular_cargo()
	{
		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_calcular_cargo
		//		   Access: private
		//	    Arguments: 
		//	  Description: Funcin que obtiene e imprime los resultados de la busqueda del detalle de los cargos de la recepcion y calcula en base a los nuevos montos
		//	   Creado Por: Ing. Nelson Barraez
		// Fecha Creacin:  02/06/2007 								Fecha ltima Modificacin : 03/06/2007
		////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		global $io_funciones_sob;
		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/grid_param.php");
		$io_grid=new grid_param();		
        require_once("../../shared/class_folder/evaluate_formula.php");
		$io_formula       = new evaluate_formula();
		$li_total=$io_funciones_sob->uf_obtenervalor("total",0);
		for($li=1;$li<=$li_total;$li++)
		{
			$lb_chk=$io_funciones_sob->uf_obtenervalor("chk".$li,0); 
			$ls_codestpro=$io_funciones_sob->uf_obtenervalor("txtcodestpro".$li,""); 
			$ls_formula=$io_funciones_sob->uf_obtenervalor("txtformula".$li,""); 
			$ls_spgcuenta=$io_funciones_sob->uf_obtenervalor("txtspgcuenta".$li,""); 
			$ls_scgcuenta=$io_funciones_sob->uf_obtenervalor("txtscgcuenta".$li,""); 
			$ls_denscg=$io_funciones_sob->uf_obtenervalor("txtdenscgcuenta".$li,""); 
			$ldec_baseimp=$io_funciones_sob->uf_obtenervalor("txtbaseimp".$li,""); 
			$ls_dencuenta=$io_funciones_sob->uf_obtenervalor("txtdencuenta".$li,"");
			$ldec_baseaux=str_replace(".","",$ldec_baseimp);
			$ldec_baseaux=str_replace(",",".",$ldec_baseaux); 			
			if($lb_chk==1)
			{				
				if ($ldec_baseaux>0)
				{					
				  $ldec_monto = $io_formula->uf_evaluar_formula($ls_formula,$ldec_baseaux);
				}
				else
				{
				  $ldec_monto = 0;
				}
				$ldec_monto=round($ldec_monto,2);
				$lo_object[$li][1]="<input type=checkbox name=chk".$li."      id=chk".$li." class=sin-borde onClick='javascript:ue_calcular($li);' checked>";
			}
			else
			{
				$lo_object[$li][1]="<input type=checkbox name=chk".$li."      id=chk".$li." class=sin-borde onClick='javascript:ue_calcular($li);' >";
				$ldec_monto = 0;
			}
			$lo_object[$li][2]="<input type=text name=txtcodestpro".$li."    class=sin-borde style=text-align:center size=37 value='".$ls_codestpro."'    readonly><input type=hidden name=txtformula".$li."  value='".$ls_formula."'>";
			$lo_object[$li][3]="<input type=text name=txtspgcuenta".$li."    class=sin-borde style=text-align:center size=16  value='".$ls_spgcuenta."'     readonly><input type=hidden name=txtscgcuenta".$li."  value='".$ls_scgcuenta."'><input type=hidden name=txtdenscgcuenta".$li."  value='".$ls_denscg."'>"; 
			$lo_object[$li][4]="<input type=text name=txtbaseimp".$li."        class=sin-borde style=text-align:right  size=20 value='".number_format($ldec_baseaux,2,",",".")."' onBlur='javascript:uf_format(this,true,$li);'  onKeyPress=return(ue_formatonumero(this,'.',',',event));>";
			$lo_object[$li][5]="<input type=text name=txtmonto".$li."        class=sin-borde style=text-align:right  size=20 value='".number_format($ldec_monto,2,",",".")."' readonly>";
			$lo_object[$li][6]="<input type=text name=txtdencuenta".$li."    class=sin-borde style=text-align:left  size=50 value='".$ls_dencuenta."' readonly>";
		}
		if($li==0)
		{
			$io_mensajes->uf_mensajes_ajax("Informacion","No hay datos para mostrar",true,"javascript: ue_close();"); 				
		}
			// Titulos del Grid de Bienes
		$lo_title[1]=" ";
		$lo_title[2]="Codigo Programatico";
		$lo_title[3]="Codigo Estadistico";
		$lo_title[4]="Base Imponible";
		$lo_title[5]="Monto";
		$lo_title[6]="Denominaci&oacute;n";
		print "<input name=totalrows type=hidden id=totalrows value=".($li-1).">";
		print "<input name=selected type=hidden id=selected value=0>";
		$io_grid->makegrid(($li-1),$lo_title,$lo_object,758,"Catalogo de Cargos","grid");
		unset($io_mensajes);
		unset($io_funciones);
		unset($ls_codemp);
	}
			$chk_islr="";
			$object[$z][1]="<input name=chk".$z." type=checkbox id=chk".$z." value=1 class=sin-borde><input name=formula".$z." type=hidden id=formula".$z." value=''> ";
			$object[$z][2]="<input type=text name=txtdoc".$z." value=''     id=txtdoc".$z." class=sin-borde readonly style=text-align:right  size=17 maxlength=15>";
			$object[$z][3]="<input name=txtcodded".$z." type=hidden id=txtcodded".$z." value=''><input type=text name=txtdended".$z." value='' id=txtdended".$z." class=sin-borde readonly style=text-align:left   size=25 maxlength=254>";
			$object[$z][4]="<input type=text name=txtmonobjret".$z." value='".number_format(0,2,',','.')."' id=txtmonobjret".$z." class=sin-borde style=text-align:right  size=10 maxlength=20 onBlur=javascript:uf_calcular_monret($z);>";
			$object[$z][5]="<input type=text name=txtmonret".$z." value='".number_format(0,2,',','.')."' id=txtmonret".$z." class=sin-borde readonly style=text-align:right  size=10 maxlength=20>";
			$object[$z][6]="<input type=text name=txtmonded".$z." value='".number_format(0,2,',','.')."' id=txtmonded".$z." class=sin-borde readonly style=text-align:right  size=10 maxlength=20>";
			$object[$z][7]="<input name=chkislr".$z." type=checkbox id=chkislr".$z." value=1 class=sin-borde onClick='return false;' ".$chk_islr." ><input name=txtcuenta".$z." type=hidden id=txtcuenta".$z." value=''>";
			$totrow=0;		
		}
	 }
  }
elseif($ls_operacion=="EVALUAR")
{
	require_once("../shared/class_folder/evaluate_formula.php");
	$io_evaluate=new evaluate_formula();
	
	$totrow=$_POST["total"];

	for($z=1;$z<=$totrow;$z++)
	{
		
		$ls_codded=$_POST["txtcodded".$z];
		$ls_dended=$_POST["txtdended".$z];
		$ls_formula=$_POST["formula".$z];
		$ls_documento=$_POST["txtdoc".$z];
		$ldec_objret=$_POST["txtmonobjret".$z];
		$ldec_objret=str_replace('.','',$ldec_objret);
		$ldec_objret=str_replace(',','.',$ldec_objret);
		$ldec_monded=$_POST["txtmonded".$z];
		$ldec_monded=str_replace('.','',$ldec_monded);
require_once("../shared/class_folder/class_sql.php");
require_once("class_folder/sigesp_sob_class_obra.php");
require_once("class_folder/sigesp_sob_class_asignacion.php");
require_once("class_folder/sigesp_sob_c_funciones_sob.php");
require_once("../shared/class_folder/grid_param.php");
require_once("../shared/class_folder/class_mensajes.php");
require_once("../shared/class_folder/class_datastore.php");
require_once("../shared/class_folder/class_funciones.php");
require_once("../shared/class_folder/evaluate_formula.php");
require_once("class_folder/sigesp_sob_c_puntodecuenta.php");
$io_puntodecuenta=new sigesp_sob_c_puntodecuenta();
$io_asignacion=new sigesp_sob_class_asignacion();
$io_obra=new sigesp_sob_class_obra();
$io_funcsob=new sigesp_sob_c_funciones_sob();
$io_evalform=new evaluate_formula();
$io_grid=new grid_param();
$io_msg=new class_mensajes();
$io_datastore=new class_datastore();
$io_function=new class_funciones();
$io_datastore=new class_datastore();



$ls_titulopartidas="Partidas Asignadas";
$li_anchopartidas=600;
$ls_nametable="grid";
$la_columpartidas[1]="";
$la_columpartidas[2]="Código";
$la_columpartidas[3]="Partida";
$la_columpartidas[4]="Uni. Med.";
/**************************************** DECLARACIONES  ********************************************************************************/
require_once("../shared/class_folder/class_sql.php");
require_once("class_folder/sigesp_sob_class_obra.php");
require_once("class_folder/sigesp_sob_class_asignacion.php");
require_once("class_folder/sigesp_sob_c_valuacion.php");
require_once("class_folder/sigesp_sob_c_funciones_sob.php");
require_once("../shared/class_folder/grid_param.php");
require_once("../shared/class_folder/class_mensajes.php");
require_once("../shared/class_folder/class_datastore.php");
require_once("../shared/class_folder/class_funciones.php");
require_once("../shared/class_folder/evaluate_formula.php");
$io_asignacion=new sigesp_sob_class_asignacion();
$io_valuacion=new sigesp_sob_c_valuacion();
$io_obra=new sigesp_sob_class_obra();
$io_funcsob=new sigesp_sob_c_funciones_sob();
$io_evalform=new evaluate_formula();
$io_grid=new grid_param();
$io_msg=new class_mensajes();
$io_datastore=new class_datastore();
$io_function=new class_funciones();
$io_datastore=new class_datastore();

$ls_tituloretenciones="Retenciones Asignadas";
$li_anchoretenciones=600;
$ls_nametable="grid";
$la_columretenciones[1]="Código";
$la_columretenciones[2]="Descripción";
$la_columretenciones[3]="Cuenta";
$la_columretenciones[4]="Deducible";
$la_columretenciones[5]="Monto";
$la_columretenciones[6]="Total";
require_once("../shared/class_folder/class_datastore.php");
$io_datastore=new class_datastore();
require_once("../shared/class_folder/class_funciones.php");
$io_function=new class_funciones();
require_once("../shared/class_folder/class_datastore.php");
$io_datastore=new class_datastore();
require_once ("class_folder/sigesp_sob_c_funciones_sob.php");
$io_funsob= new sigesp_sob_c_funciones_sob();
require_once("class_folder/sigesp_sob_class_obra.php");
$io_obra=new sigesp_sob_class_obra(); 
require_once("class_folder/sigesp_sob_c_anticipo.php");
$io_anticipo=new sigesp_sob_c_anticipo(); 
require_once("class_folder/sigesp_sob_c_contrato.php");
$io_contrato=new sigesp_sob_c_contrato(); 
require_once("../shared/class_folder/evaluate_formula.php");
$io_formula=new evaluate_formula();
require_once("class_folder/sigesp_sob_class_mensajes.php");
$io_mensaje=new sigesp_sob_class_mensajes();
$la_empresa=$_SESSION["la_empresa"];
$ls_codemp=$la_empresa["codemp"];

$ls_tituloretenciones="Retenciones Asignadas";
$li_anchoretenciones=600;
$ls_nametable="grid";
$la_columretenciones[1]="Código";
$la_columretenciones[2]="Descripción";
$la_columretenciones[3]="Cuenta";
$la_columretenciones[4]="Deducible";
$la_columretenciones[5]="Monto";
$la_columretenciones[6]="Total";
$la_columretenciones[7]="Edición";
require_once "../../shared/class_folder/class_mensajes.php";
require_once "../../shared/class_folder/evaluate_formula.php";
require_once "../../shared/class_folder/sigesp_c_check_relaciones.php";
$io_conect = new sigesp_include();
//Instanciando la Sigesp_Include.
$conn = $io_conect->uf_conectar();
//Asignacion de valor a la variable $conn a traves del metodo uf_conectar de la clase sigesp_include.
$io_sql = new class_sql($conn);
//Instanciando la Clase Class Sql.
$io_deducciones = new sigesp_cxp_c_deducciones($conn);
//Instanciando la Clase Sigesp Definiciones.
$io_funcion = new class_funciones();
//Instanciando la Clase Class_Funciones.
$io_funciondb = new class_funciones_db($conn);
$io_msg = new class_mensajes();
$io_formula = new evaluate_formula();
$io_chkrel = new sigesp_c_check_relaciones($conn);
$lb_existe = "";
$lb_valido = "";
//////////////////////////////////////////////         SEGURIDAD               /////////////////////////////////////////////
require_once "../../shared/class_folder/sigesp_c_seguridad.php";
$io_seguridad = new sigesp_c_seguridad();
$arre = $_SESSION["la_empresa"];
$ls_empresa = $arre["codemp"];
$ls_codemp = $ls_empresa;
$ls_logusr = $_SESSION["la_logusr"];
$ls_sistema = "CFG";
$ls_ventanas = "sigesp_cxp_d_deducciones.php";
$la_seguridad["empresa"] = $ls_empresa;
$la_seguridad["logusr"] = $ls_logusr;
$la_seguridad["sistema"] = $ls_sistema;
	require_once("../shared/class_folder/class_sql.php");
    require_once("../shared/class_folder/class_funciones.php");
	require_once("../shared/class_folder/grid_param.php");
    require_once("../shared/class_folder/class_datastore.php");
	require_once("sigesp_scb_c_cmp_ret_iva.php");
	require_once("../shared/class_folder/class_fecha.php");
	require_once("../shared/class_folder/evaluate_formula.php"); 

	$msg         = new class_mensajes();	
	$fun         = new class_funciones();	
	$io_function = new class_funciones();
	$lb_guardar  = true;	
	$io_grid	 = new grid_param();
	$ds_sol      = new class_datastore();
	$fec         = new class_fecha();
	$io_formula  = new evaluate_formula();
	$io_cmpret   = new sigesp_scb_c_cmp_ret_iva('0000000003');	

	global $object;
	global $li_total;

	$arre       = $_SESSION["la_empresa"];
	$ls_empresa = $arre["codemp"];
	
	if( array_key_exists("operacion",$_POST)) 
	{
		$ls_operacion = $_POST["operacion"];
		$ls_numcom    = $_POST["txtcomprobante"];
		$ls_codret    = $_POST["txtcodret"];
		$ls_codsujret = $_POST["txtprovbene"];
		$ls_nomsujret = $_POST["txtdesproben"];
$io_conect = new sigesp_include();
//Instanciando la Sigesp_Include.
$conn = $io_conect->uf_conectar();
//Asignacion de valor a la variable $conn a traves del metodo uf_conectar de la clase sigesp_include.
$io_sql = new class_sql($conn);
//Instanciando la Clase Class Sql.
$io_otroscreditos = new sigesp_cxp_c_otroscreditos($conn);
//Instanciando la Clase Sigesp Definiciones.
$io_msg = new class_mensajes();
//Instanciando la Clase Class  Mensajes.
$io_dscargos = new class_datastore();
//Instanciando la Clase Class  DataStore.
$io_funcion = new class_funciones();
//Instanciando la Clase Class_Funciones.
$io_funciondb = new class_funciones_db($conn);
$io_formula = new evaluate_formula();
$io_chkrel = new sigesp_c_check_relaciones($conn);
$lb_existe = "";
//////////////////////////////////////////////         SEGURIDAD               /////////////////////////////////////////////
require_once "../../shared/class_folder/sigesp_c_seguridad.php";
$io_seguridad = new sigesp_c_seguridad();
$arre = $_SESSION["la_empresa"];
$ls_empresa = $arre["codemp"];
$ls_codemp = $ls_empresa;
$li_estmodest = $arre["estmodest"];
$ls_logusr = $_SESSION["la_logusr"];
$ls_sistema = "CFG";
$ls_ventanas = "sigesp_cxp_d_otroscreditos.php";
$la_seguridad["empresa"] = $ls_empresa;
$la_seguridad["logusr"] = $ls_logusr;
$la_seguridad["sistema"] = $ls_sistema;
                $object[1][1] = "<input name=chk1 type=checkbox id=chk1 value=1 class=sin-borde>";
                $object[1][2] = "<input type=text name=txtdoc1 value=''     id=txtdoc1 class=sin-borde readonly style=text-align:right  size=17 maxlength=15>";
                $object[1][3] = "<input type=text name=txtcodcar1 value='' id=txtcodcar1 class=sin-borde readonly style=text-align:center size=15 maxlength=10 >";
                $object[1][4] = "<input type=text name=txtdencar1 value='' id=txtdencar1 class=sin-borde readonly style=text-align:left   size=25 maxlength=254>";
                $object[1][5] = "<input type=text name=txtporcar1 value='' id=txtporcar1 class=sin-borde readonly style=text-align:right  size=10 maxlength=20>";
                $object[1][6] = "<input type=text name=txtmonobjret1 value='" . number_format(0, 2, ',', '.') . "' id=txtmonobjret1 class=sin-borde readonly style=text-align:right  size=10 maxlength=20>";
                $object[1][7] = "<input type=text name=txtmonret1 value='" . number_format(0, 2, ',', '.') . "' id=txtmonret1 class=sin-borde readonly style=text-align:right  size=10 maxlength=20>";
                $totrow = 1;
            }
        } else {
            $io_msg->message("No se han definido deducciones");
        }
    }
} elseif ("EVALUAR") {
    require_once "class_foldervaluate_formula.php";
    $io_evaluate = new evaluate_formula();
    $totrow = $_POST["total"];
    for ($z = 1; $z <= $totrow; $z++) {
        $ls_codcar = $_POST["txtcodcar" . $z];
        $ls_dencar = $_POST["txtdencar" . $z];
        $ld_porcar = $_POST["txtporcar" . $z];
        $ls_formula = $_POST["formula" . $z];
        $ls_documento = $_POST["txtdoc" . $z];
        $ldec_montoobjret = $_POST["txtmonobjret" . $z];
        $ldec_montoobjret = str_replace('.', '', $ldec_montoobjret);
        $ldec_montoobjret = str_replace(',', '.', $ldec_montoobjret);
        if (array_key_exists("chk" . $z, $_POST)) {
            $ldec_montoret = $io_evaluate->uf_evaluar($ls_formula, $ldec_montoobjret);
            $lb_sel = "checked";
        } else {
            $ldec_montoret = 0;
	function uf_siv_load_cargosarticulo($as_codemp,$as_codart,$as_numordcom,$ai_preuniart,$ai_pendiente,$ai_unidad,&$aa_moncar,&$aa_spgcuenta,
										&$ai_i)
	{
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//	     Function: uf_siv_load_cargosarticulo
		//         Access: public  
		//      Argumento: $as_codemp    // codigo de empresa 
		//                 $as_codart    // codigo de articulo
		//                 $ai_preuniart // precio unitario del articulo
		//                 $ai_pendiente // cantidad de articulos que no se entregaron en el almacen
		//                 $ai_unidad    // cantidad de articulos por unidad
		//                 $aa_moncar    // arreglo de montos  de los cargos por articulo
		//                 $aa_spgcuenta // arreglo de cuentas presupuestarias de los  cargos
		//                 $ai_i         // cantidad de cargos por articulos
		//	      Returns: Retorna un Booleano
		//    Description: Funcion que obtiene los cargos asociados al determinado articulo
		//	   Creado Por: Ing. Luis Anibal Lang
		// Fecha Creación: 08/09/2006 								Fecha Última Modificación : 
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		$lb_valido=true;
		require_once("../shared/class_folder/evaluate_formula.php");
		$io_evaluate= new evaluate_formula();
		
		$ls_sql="SELECT codcar,formula,".
				"      (SELECT spg_cuenta FROM sigesp_cargos".
				"	     WHERE soc_dta_cargos.codemp = sigesp_cargos.codemp".
				"          AND soc_dta_cargos.codcar = sigesp_cargos.codcar) AS spg_cuenta".
				"  FROM soc_dta_cargos".
				" WHERE codemp='".$as_codemp."'".
				"   AND numordcom='".$as_numordcom."'".
				"   AND codart='".$as_codart."'";
		
		/*$ls_sql = "SELECT codcar,".
				  "       (SELECT spg_cuenta FROM sigesp_cargos".
				  "	        WHERE siv_cargosarticulo.codemp = sigesp_cargos.codemp".
				  "           AND siv_cargosarticulo.codcar = sigesp_cargos.codcar) AS spg_cuenta,".
				  "       (SELECT porcar FROM sigesp_cargos".
				  "	        WHERE siv_cargosarticulo.codemp = sigesp_cargos.codemp".
				  "           AND siv_cargosarticulo.codcar = sigesp_cargos.codcar) AS porcar".
				  "  FROM siv_cargosarticulo".
				  "	WHERE siv_cargosarticulo.codemp='".$as_codemp."'".
				  "   AND siv_cargosarticulo.codart='".$as_codart."'";*/
		$rs_data=$this->io_sql->select($ls_sql);
		if($rs_data===false)
		{
			$this->io_msg->message("CLASE->cerrar_oc MÉTODO->uf_siv_load_cargosarticulo ERROR->".$this->io_funcion->uf_convertirmsg($this->io_sql->message));
			$lb_valido=false;
		}
		else
		{
			
			if($row=$this->io_sql->fetch_row($rs_data))
			{
				$ai_formula=$row["formula"];
				$ls_spgcuenta= $row["spg_cuenta"];
				$li_moncarart=$io_evaluate->uf_evaluar($ai_formula,$ai_preuniart,$lb_valido);
				$li_moncar=($ai_pendiente  * $li_moncarart);
				$this->ds->insertRow("spg_cuenta",$ls_spgcuenta);
				$this->ds->insertRow("moncar",$li_moncar);
				$this->io_sql->free_result($rs_data);
			}
		}
		return $lb_valido;
	}  // end function uf_siv_load_cargosarticulo
}
a:hover {
	color: #006699;
}
a:active {
	color: #006699;
}
-->
</style></head>

<body>
<?php 
require_once "../shared/class_folder/class_mensajes.php";
require_once "../shared/class_folder/evaluate_formula.php";
$io_msg = new class_mensajes();
$io_formula = new evaluate_formula();
$lb_formulavalida = false;
if (array_key_exists("operacion", $_POST)) {
    $ls_operacion = $_POST["operacion"];
    $ls_formula = "";
} else {
    $ls_formula = $_GET["txtformula"];
    $ls_operacion = "";
}
if ($ls_operacion == "VERIFICAR") {
    $ls_formula = $_POST["txtformula"];
    $ldec_monto = $_POST["txtmonto"];
    $ldec_monto = str_replace('.', '', $ldec_monto);
    $ldec_monto = str_replace(',', '.', $ldec_monto);
    $lb_valido = false;
    $ld_monto = $io_formula->uf_evaluar($ls_formula, $ldec_monto, $lb_valido);