";
print "location.href='../sigesp_inicio_sesion.php'";
print "";
}
$ls_logusr=$_SESSION["la_logusr"];
require_once("class_funciones_banco.php");
$io_fun_banco= new class_funciones_banco();
$io_fun_banco->uf_load_seguridad("SCB","sigesp_scb_p_emision_chq.php",$ls_permisos,$la_seguridad,$la_permisos);
$ls_reporte = $io_fun_banco->uf_select_config("SCB","CONFIG","RPP_CHEQUE_VOUCHER","sigesp_scb_rpp_voucher_pdf.php","C");//print $ls_reporte;
$li_diasem = date('w');
switch ($li_diasem){
case '0': $ls_diasem='Domingo';
break;
case '1': $ls_diasem='Lunes';
break;
case '2': $ls_diasem='Martes';
break;
case '3': $ls_diasem='Miércoles';
break;
case '4': $ls_diasem='Jueves';
break;
case '5': $ls_diasem='Viernes';
break;
case '6': $ls_diasem='Sábado';
break;
}
?>
Emisión de Cheques
uf_conectar();
$obj_con = new ddlb_conceptos($ls_conect);
$io_grid = new grid_param();
$io_emiche = new sigesp_scb_c_emision_chq();
$io_update = new class_funciones_banco();
$ls_codemp = $_SESSION["la_empresa"]["codemp"];
$io_disfin = new sigesp_scb_c_disponibilidad_financiera("../");
$ls_tipvaldis = $io_disfin->uf_load_tipo_validacion();
$li_estciespg = $io_fun_banco->uf_load_estatus_cierre($li_estciespi,$li_estciescg);
require_once("sigesp_scb_c_movbanco.php");
$in_classmovbco=new sigesp_scb_c_movbanco($la_seguridad);
if( array_key_exists("operacion",$_POST))
{
$ls_operacion= $_POST["operacion"];
$ls_estdoc=$_POST["status_doc"];
$ls_mov_operacion="CH";
$ls_numdoc=$_POST["txtdocumento"];
$ls_codban=$_POST["txtcodban"];
$ls_denban=$_POST["txtdenban"];
$ls_ctaban=$_POST["txtcuenta"];
$ls_dencuenta_banco=$_POST["txtdenominacion"];
$ls_provbene=$_POST["txtprovbene"];
$ls_desproben=$_POST["txtdesproben"];
if (array_key_exists("rb_provbene",$_POST))
{
$ls_tipproben=$_POST["rb_provbene"];
}
else
{
$ls_tipproben = '-';
}
$ls_chevau = $_POST["txtchevau"];
$ldec_montomov = $_POST["totalchq"];
$ldec_monobjret = $_POST["txtmonobjret"];
$ldec_montoret = $_POST["txtretenido"];
$ldec_montomov = str_replace(".","",$ldec_montomov);
$ldec_montomov = str_replace(",",".",$ldec_montomov);
$ldec_monobjret = str_replace(".","",$ldec_monobjret);
$ldec_monobjret = str_replace(",",".",$ldec_monobjret);
$ldec_montoret = str_replace(".","",$ldec_montoret);
$ldec_montoret = str_replace(",",".",$ldec_montoret);
$ls_estmov = $_POST["estmov"];
$ls_codconmov = $_POST["codconmov"];
$ls_desmov = $_POST["txtconcepto"];
$ls_cuenta_scg = $_POST["txtcuenta_scg"];
$ldec_disponible = $_POST["txtdisponible"];
$ld_fecha = $_POST["txtfecha"];
$ls_numchequera = $_POST["txtchequera"];
$ls_fuente = $_POST["fuente"];
$ls_fuente1x1000 = $_POST["fuente1x1000"];
$ls_lectura = $_POST["txtlectura"];
$li_totfilsel = $_POST["hidtotfilsel"];
$ls_codtipfon = $_POST["hidcodtipfon"];
$ls_numordpagmin = $_POST["txtnumordpagmin"];
$ld_monmaxmov = $_POST["hidmonmaxmov"];
}
else
{
$ls_operacion= "NUEVO" ;
$ls_estdoc="N";
$ls_estmov="N";
$ls_numchequera="";
$ls_anticipo= 'style="display:none"';
// Validando si las retenciones municipales se deben hacer por Banco o por Cuentas por pagar
require_once("sigesp_scb_c_config.php");
$in_classconfig=new sigesp_scb_c_config($la_seguridad);
$ls_fuente=$in_classconfig->uf_select_fuente();
$ls_lectura="";
$ls_fuente1x1000=$in_classconfig->uf_select_fuente_1x1000();
}
$li_row=0;
$li_rows_spg=0;
$li_rows_ret=0;
$li_rows_spi=0;
$li_totfilsel = 0;
$ls_disabled = "";
if ($li_estciescg==1)
{
$ls_disabled = "disabled";
}
if (($li_estciespg==1 || $li_estciespi==1) && $li_estciescg==0 && $ls_operacion=="NUEVO")
{
$io_msg->message("Ya fué procesado el Cierre Presupuestario, sólo serán cargadas Programaciones de Pago asociadas a Recepciones de Documentos netamente Contables !!!");
}
elseif($li_estciespg==1 && $li_estciespi==1 && $li_estciescg==1 && $ls_operacion=="NUEVO")
{
$io_msg->message("Ya fué procesado el Cierre Contable, No pueden efectuarse movimientos, Contacte al Administrador del Sistema !!!");
}
if ($ls_operacion=="VERIFICAR_VAUCHER")
{
$ls_chevaux = $_POST["txtchevau"];
$lb_existe = $in_classmovbco->uf_select_voucher($ls_chevaux);
if ($lb_existe)
{
$io_msg->message("Nº de Voucher ya existe, favor indicar otro");
$ls_chevau="";
}
$ls_operacion="CARGAR_DT";
}
if ($ls_operacion=="CARGAR_DT")
{
$io_emiche->uf_cargar_programaciones($ls_tipproben,$ls_provbene,$ls_codban,$ls_ctaban,$object,$li_rows,$ls_desmov,$ls_numordpagmin,$ls_codtipfon);
if ($li_rows>0 && !empty($ls_codban) && !empty($ls_ctaban))
{
if ($_SESSION["la_empresa"]["confi_ch"]==1)
{
$ls_codusu = $_SESSION["la_logusr"];
$ls_numdoc = $io_update->uf_select_cheques($ls_codban,$ls_ctaban,$ls_codusu,$ls_numchequera);
if (!empty($ls_numdoc))
{
$ls_lectura = "readonly";
}
else
{
$io_msg->message("No tiene Chequera asociada !!!");
$ls_numdoc="";
}
}
}
//---------para buscar pagos de anticipos para los proveedores o beneficiarios----------------------------
$monsal=0;
if ($ls_tipproben=="P")
{
$cod_pro=$ls_provbene;
$ced_bene="----------";
}
else
{
$cod_pro="----------";
$ced_bene=$ls_provbene;
}
$io_emiche->uf_buscar_anticipos($cod_pro, $ced_bene, $monsal);
if ($monsal>0)
{
$ls_anticipo= 'style="display:compact"';
}
else
{
$ls_anticipo= 'style="display:none"';
}
//--------------------------------------------------------------------------------------------------------
}
function uf_nuevo($ls_disabled)
{
global $li_totfilsel,$ls_numordpagmin,$ls_codtipfon,$ld_monmaxmov;
$li_totfilsel = 0;
global $ls_mov_operacion;
global $ls_estdoc;
$ls_estdoc="N";
$ls_mov_operacion="CH";
global $la_seguridad;
global $ls_opepre;
$ls_opepre="";
global $ls_numdoc;
$ls_numdoc="";
global $ls_codban;
$ls_codban="";
global $ls_denban;
$ls_denban="";
global $ls_estmov;
$ls_estmov="N";
global $ls_ctaban;
$ls_ctaban="";
global $ls_dencuenta_banco;
$ls_dencuenta_banco="";
global $ls_provbene;
$ls_provbene="----------";
global $ls_desproben;
$ls_desproben="Ninguno";
global $ls_tipproben;
$ls_tipproben="-";
global $ls_chevau;
require_once("sigesp_scb_c_movbanco.php");
$in_classmovbanco=new sigesp_scb_c_movbanco($la_seguridad);
global $ls_empresa;
global $ldec_disponible;
$ldec_disponible="";
$ls_chevau = $in_classmovbanco->uf_generar_voucher($ls_empresa);
$array_fecha=getdate();
$ls_dia=$array_fecha["mday"];
$ls_mes=$array_fecha["mon"];
$ls_ano=$array_fecha["year"];
global $ld_fecha;
global $io_funcion;
$ld_fecha=$io_funcion->uf_cerosizquierda($ls_dia,2)."/".$io_funcion->uf_cerosizquierda($ls_mes,2)."/".$ls_ano;
global $ldec_montomov;
$ldec_montomov="";
global $ldec_monobjret;
$ldec_monobjret="";
global $ldec_montoret;
$ldec_montoret="";
global $ls_codconmov;
$ls_codconmov='---';
global $ls_desmov;
$ls_desmov="";
global $ls_cuenta_scg;
$ls_cuenta_scg="";
global $ls_benefalt;
$ls_benefalt="";
global $li_rows;
global $li_temp;
global $object;
global $ld_fecha;
$ls_numordpagmin = $ls_codtipfon = "";
$ld_monmaxmov = 0;
if (array_key_exists("la_deducciones",$_SESSION))
{
unset($_SESSION["la_deducciones"]);
}
$li_temp=1;
$li_rows=$li_temp;
$ld_fecha=date("d/m/Y");
$object[$li_temp][1] = "";
$object[$li_temp][2] = "";
$object[$li_temp][3] = "";
$object[$li_temp][4] = "";
$object[$li_temp][5] = "";
$object[$li_temp][6] = "";
}
$title[1]="";
$title[2]="Solicitud";
$title[3]="Concepto Solicitud";
$title[4]="Monto Solicitud";
$title[5]="Monto Pendiente";
$title[6]="Monto a Pagar";
$title[7]="Tipo Solic.";
$grid="grid";
if ($ls_operacion == "NUEVO")
{
$ls_operacion= "" ;
$ls_estmov="N";
$ls_numchequera="";
uf_nuevo($ls_disabled);
$ls_anticipo= 'style="display:none"';
}
if($ls_operacion=="GUARDAR")
{
$li_cont = 0;
if($ls_tipproben=='P')
{
$ls_codpro=$ls_provbene;
$ls_cedbene="----------";
}
else
{
$ls_codpro="----------";
$ls_cedbene=$ls_provbene;
}
require_once("sigesp_scb_c_movbanco.php");
$in_classmovbanco=new sigesp_scb_c_movbanco($la_seguridad);
$ls_estretiva = $_SESSION["la_empresa"]["estretiva"];//Indica si las Retenciones IVA se aplican por Cuentas por Pagar o Banco.
$li_totfilsel = $_POST["hidtotfilsel"];
$li_totalRows = $_POST["totalrows"];
$li_totalretenido = $_POST["txtretenido"];
$li_totalretenido = str_replace(".","",$li_totalretenido);
$li_totalretenido = str_replace(",",".",$li_totalretenido);
$ls_clactacon = $_SESSION["la_empresa"]["clactacon"];
$arr_movbco["codban"] = $ls_codban;
$arr_movbco["ctaban"] = $ls_ctaban;
$arr_movbco["mov_document"] = $ls_numdoc;
$ld_fecdb = $io_funcion->uf_convertirdatetobd($ld_fecha);
$arr_movbco["codope"] = $ls_mov_operacion;
$arr_movbco["fecha"] = $ld_fecha;
$arr_movbco["codpro"] = $ls_codpro;
$arr_movbco["cedbene"] = $ls_cedbene;
$arr_movbco["monto_mov"] = $ldec_montomov;
$arr_movbco["objret"] = $ldec_monobjret;
$arr_movbco["retenido"] = $ldec_montoret;
$arr_movbco["estmov"] = $ls_estmov;
$ls_codfuefin = $_POST["txtcodfuefin1"];
$in_classmovbanco->benefalt=$ls_benefalt;
$ls_codemp = $_SESSION["la_empresa"]["codemp"];
$ls_modageret = $_SESSION["la_empresa"]["modageret"];
//$ls_estbenalt = $_SESSION["la_empresa"]["estbenalt"];
$ls_estbenalt = 1;
$x = 0;
if ($ls_estbenalt =='1')
{
$lb_valido=true;
$ls_nombenalt="";
$ls_nombenalt1="";
$benefalt="";
$x=0;
for($a=1;$a<=$li_totalRows;$a++)
{
if (array_key_exists("chk".$a,$_POST))
{
$ls_nombenalt= $_POST["txtnombenalt".$a];
if($_POST["txtbenefalt".$a]){$ls_nombenalt=$_POST["txtbenefalt".$a];}
if ($x > 0)
{
$ls_a=$a-1;
$ls_nombenalt1=$_POST["txtnombenalt".$ls_a];
if($_POST["txtbenefalt".$ls_a]){$ls_nombenalt1=$_POST["txtbenefalt".$ls_a];}
if ($ls_nombenalt1==$ls_nombenalt)
{
$ls_desproben=$ls_nombenalt;
$in_classmovbanco->benefalt=$ls_nombenalt;
}
else
{
$lb_valido=false;
$io_msg->message("No se puede emitir el cheque debido a que existen beneficiarios alternos distintos!");
break;
}
}
if ($x==0)
{
$ls_desproben=$ls_nombenalt;
$in_classmovbanco->benefalt=$ls_nombenalt;
$x++;
}
}
}
}
//if(!$ls_desproben){$ls_desproben=$_POST["txtdesproben"];}
$ls_desproben=$_POST["txtdesproben"];
$ldec_montoretbanco=$ldec_montoret;
$ls_numconint="";
$in_classmovbanco->io_sql->begin_transaction();
if (($ls_estbenalt =='1')&&($lb_valido))
{
$lb_valido = $in_classmovbanco->uf_guardar_automatico($ls_codban,$ls_ctaban,$ls_numdoc,$ls_mov_operacion,$ld_fecha,$ls_desmov,$ls_codconmov,$ls_codpro,$ls_cedbene,$ls_desproben,$ldec_montomov,$ldec_monobjret,$ldec_montoret,$ls_chevau,$ls_estmov,0,1,$ls_tipproben,'SCBBCH','',$ls_estdoc,$ls_tipproben,$ls_codfuefin,$ls_numordpagmin,$ls_codtipfon,0,$ls_numconint,'0');
}
elseif ($ls_estbenalt =='0')
{
$lb_valido = $in_classmovbanco->uf_guardar_automatico($ls_codban,$ls_ctaban,$ls_numdoc,$ls_mov_operacion,$ld_fecha,$ls_desmov,$ls_codconmov,$ls_codpro,$ls_cedbene,$ls_desproben,$ldec_montomov,$ldec_monobjret,$ldec_montoret,$ls_chevau,$ls_estmov,0,1,$ls_tipproben,'SCBBCH','',$ls_estdoc,$ls_tipproben,$ls_codfuefin,$ls_numordpagmin,$ls_codtipfon,0,$ls_numconint,'0');
}
if ($lb_valido)
{
$lb_valido = $io_emiche->uf_actualizar_estatus_ch($ls_codban,$ls_ctaban,$ls_numdoc,$ls_numchequera);
if (!$lb_valido)
{
$io_msg->message($io_emiche->is_msg_error);
}
}
$lb_pago=false;
if ($lb_valido)
{
$ls_checklist=0;
for ($li_i=1;$li_i<=$li_totalRows;$li_i++)
{
if (array_key_exists("chk".$li_i,$_POST))
{
$li_cont++;
$lb_pago = true;
$ld_montotret = 0;
$ls_numsol = $_POST["txtnumsol".$li_i];
$ldec_monsol = $_POST["txtmonsol".$li_i];
$ldec_monsol = str_replace(".","",$ldec_monsol);
$ldec_monsol = str_replace(",",".",$ldec_monsol);
$ldec_montopendiente = $_POST["txtmontopendiente".$li_i];
$ldec_montopendiente = str_replace(".","",$ldec_montopendiente);
$ldec_montopendiente = str_replace(",",".",$ldec_montopendiente);
$ldec_monto = $_POST["txtmonto".$li_i];
$ldec_monto = str_replace(".","",$ldec_monto);
$ldec_monto = str_replace(",",".",$ldec_monto);
$ls_codfuefin = $_POST["txtcodfuefin".$li_i];
if ($ldec_montopendiente==$ldec_monto)
{
$ls_estsol='C'; //Cancelado
}
else
{
$ls_estsol='P';//Programado
}
$lb_valido = $in_classmovbanco->uf_check_insert_fuentefinancimiento($ls_codemp,$ls_codban,$ls_ctaban,$ls_numdoc,$ls_mov_operacion,$ls_estmov,$ls_codfuefin);
if ($lb_valido)
{
$lb_valido=$io_emiche->uf_procesar_emision_chq($ls_codban,$ls_ctaban,$ls_numdoc,$ls_mov_operacion,$ls_numsol,$ls_estmov,$ldec_monto,$ls_estsol);
}
if ($lb_valido)
{
if ($ls_clactacon==1)
{
$ls_ctaprovbene = $io_emiche->uf_select_ctacxpclasificador($ls_numsol,$ls_tipproben,$ls_provbene);
}
else
{
//MODIFICADO POR OFIMATICA DE VENEZUELA EL 01-06-2011 PARA DIFERENCIAR LAS CANCELACIONES POR REPOSICION DE CAJA CHICA, DE LAS DE BENEFICIARIOS O PROVEEDORES
if($io_emiche->uf_verificar_sol_repcajachica($ls_codemp,$ls_numsol))
{
$ls_ctaprovbene=$_SESSION["la_empresa"]["repcajchi"];
}
else
{
$ls_ctaprovbene = $io_emiche->uf_select_ctaprovbene($ls_tipproben,$ls_provbene,$as_codban,$as_ctaban);
}
////////////////////////////////////////FIN MODIFICACION OFIMATICA DE VENEZUELA////////////////////////////////////////////////////////////////////////////
}
//print "Ret-Iva--> ".$ls_estretiva."
";
//print "ModAgeRet--> ".$ls_modageret."
";
if ($ls_estretiva=='B')//Retenciones aplicadas desde el Módulo de Cuentas Por Pagar y reflejadas en el Módulo Banco.
{
$ls_procede_doc = "CXPSOP";
$la_deducciones1 = $io_emiche->uf_load_retenciones_iva_cxp($ls_codemp,$ls_numsol);
}
elseif($ls_estretiva=='C')//Retenciones aplicadas desde el Módulo de Cuentas Por Pagar.
{
$ls_procede_doc = "SCBBCH";
if (array_key_exists("la_deducciones",$_SESSION))
{
$la_deducciones1=$_SESSION["la_deducciones"];
}
}
$li_total = 0;
if (!empty($la_deducciones1))
{
if ($ls_estretiva=='C')
{
$li_total = count($la_deducciones1["Codded"]);
}
else
{
$li_total = count($la_deducciones1["codded"]);
}
}
if ($ls_modageret=="B")/// se realiza el calculo de la ret. municipal
{
$la_deducciones2=$_SESSION["la_deducciones"];
$li_total2 = count($la_deducciones2["Codded"]);
for ($j=1;$j<=$li_total2;$j++)
{
if (array_key_exists("$j",$la_deducciones2["Codded"]))
{
$ls_ctascg1 = trim($la_deducciones2["SC_Cuenta"][$j]);
$ls_dended1 = $la_deducciones2["Dended"][$j];
$ls_codded1 = $la_deducciones2["Codded"][$j];
$ldec_objret1 = $la_deducciones2["MonObjRet"][$j];
$ldec_montoret1 = round($la_deducciones2["MonRet"][$j],2);
$ld_montotret = $ld_montotret+$ldec_montoret1;
if (!empty($ls_codded1))
{
if ($ls_checklist==0)
{
$lb_valido=$in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_ctascg1,$ls_procede_doc,$ls_dended1,$ls_numsol,'H',$ldec_montoret1,$ldec_objret1,true,$ls_codded1);
$ls_checklist++;
}
}
}
}
}
for ($i=1;$i<=$li_total;$i++)
{
if ($ls_estretiva=='C')
{
if (array_key_exists("$i",$la_deducciones1["Codded"]))
{
$ls_ctascg = trim($la_deducciones1["SC_Cuenta"][$i]);
$ls_dended = $la_deducciones1["Dended"][$i];
$ls_codded = $la_deducciones1["Codded"][$i];
$ldec_objret = $la_deducciones1["MonObjRet"][$i];
$ldec_montoret = round($la_deducciones1["MonRet"][$i],2);
$ld_montotret = $ld_montotret+$ldec_montoret;
if ($ls_codded!="")
{
$lb_valido=$in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_ctascg,$ls_procede_doc,$ls_dended,$ls_numsol,'H',$ldec_montoret,$ldec_objret,true,$ls_codded);
}
}
}
else
{
if (array_key_exists("$i",$la_deducciones1["codded"]))
{
$ls_ctascg = trim($la_deducciones1["sc_cuenta"][$i]);
$ls_dended = $la_deducciones1["dended"][$i];
$ls_codded = $la_deducciones1["codded"][$i];
$ldec_objret = $la_deducciones1["monobjret"][$i];
$ldec_montoret = round($la_deducciones1["monret"][$i],2);
$ld_montotret = $ld_montotret+$ldec_montoret;
if ($ls_codded!="")
{
$lb_valido=$in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_ctascg,$ls_procede_doc,$ls_dended,$ls_numsol,'H',$ldec_montoret,$ldec_objret,true,$ls_codded);
}
}
}
}
if ($ls_estretiva=='B')
{
$ldec_montotot=($ldec_montomov-$ldec_montoretbanco);
//$ldec_montotot=$ldec_montomov;
}
elseif($ls_estretiva=='C')
{
if ($ls_modageret=="B")/// se realiza el calculo de la ret. municipal
{
$ldec_montotot=(round($ldec_montomov,2))-(round($li_totalretenido,2));
}
else
{
$ldec_montotot=$ldec_montomov;
}
}
unset($la_deducciones1);
}
if ($lb_valido)
{
$ldec_monto_spg=0;
$ldec_montospg2=0;
$aa_dt_spgcxp=$io_emiche->uf_buscar_dt_cxpspg($ls_numsol);
//CALCULO TOTAL PRESUPUESTARIO
$ld_totpre=0;
foreach($aa_dt_spgcxp as $dt_cxpspg){
$ld_mon_aux = $dt_cxpspg["monto"];
$li_nota = $dt_cxpspg["nota"];
switch ($li_nota) {
case 0:
$ld_totpre = $ld_totpre + doubleval($ld_mon_aux);
break;
case 1:
$ld_totpre = $ld_totpre - doubleval($ld_mon_aux);
break;
case 2:
$ld_totpre = $ld_totpre + doubleval($ld_mon_aux);
break;
}
}
if ($ls_estsol=="C"){
foreach($aa_dt_spgcxp as $dt_cxpspg){
$ls_codestpro1 = $dt_cxpspg["codestpro1"];
$ls_codestpro2 = $dt_cxpspg["codestpro2"];
$ls_codestpro3 = $dt_cxpspg["codestpro3"];
$ls_codestpro4 = $dt_cxpspg["codestpro4"];
$ls_codestpro5 = $dt_cxpspg["codestpro5"];
$ls_estcla = $dt_cxpspg["estcla"];
$ls_cuentaspg = trim($dt_cxpspg["spg_cuenta"]);
$ls_descripcion = $dt_cxpspg["descripcion"];
$ld_monto_par = $dt_cxpspg["monto"];
$ls_programa = $ls_codestpro1.$ls_codestpro2.$ls_codestpro3.$ls_codestpro4.$ls_codestpro5;
$lb_valido = $in_classmovbanco->uf_procesar_dt_gasto($ls_codban,$ls_ctaban,$ls_numdoc,'CH',$ls_estmov,$ls_programa,$ls_cuentaspg,$ls_numsol,$ls_descripcion,'CXPSOP',$ld_monto_par,'PG',$ls_estcla);
}
}else{
if($ldec_monto<$ld_totpre){
foreach($aa_dt_spgcxp as $dt_cxpspg){
$ls_codestpro1 = $dt_cxpspg["codestpro1"];
$ls_codestpro2 = $dt_cxpspg["codestpro2"];
$ls_codestpro3 = $dt_cxpspg["codestpro3"];
$ls_codestpro4 = $dt_cxpspg["codestpro4"];
$ls_codestpro5 = $dt_cxpspg["codestpro5"];
$ls_estcla = $dt_cxpspg["estcla"];
$ls_cuentaspg = trim($dt_cxpspg["spg_cuenta"]);
$ls_descripcion = $dt_cxpspg["descripcion"];
$ld_monto_par = $dt_cxpspg["monto"];
$ld_monto_spg = round(round($ld_monto_par , 2 ) *($ldec_monto / $ld_totpre),2);
$ls_programa = $ls_codestpro1.$ls_codestpro2.$ls_codestpro3.$ls_codestpro4.$ls_codestpro5;
$lb_valido = $in_classmovbanco->uf_procesar_dt_gasto($ls_codban,$ls_ctaban,$ls_numdoc,'CH',$ls_estmov,$ls_programa,$ls_cuentaspg,$ls_numsol,$ls_descripcion,'CXPSOP',$ld_monto_spg,'PG',$ls_estcla);
}
}
elseif ($ldec_monto>=$ld_totpre){
foreach($aa_dt_spgcxp as $dt_cxpspg){
$ls_codestpro1 = $dt_cxpspg["codestpro1"];
$ls_codestpro2 = $dt_cxpspg["codestpro2"];
$ls_codestpro3 = $dt_cxpspg["codestpro3"];
$ls_codestpro4 = $dt_cxpspg["codestpro4"];
$ls_codestpro5 = $dt_cxpspg["codestpro5"];
$ls_estcla = $dt_cxpspg["estcla"];
$ls_cuentaspg = trim($dt_cxpspg["spg_cuenta"]);
$ls_descripcion = $dt_cxpspg["descripcion"];
$ld_monto_spg = $dt_cxpspg["monto"];
$ls_programa = $ls_codestpro1.$ls_codestpro2.$ls_codestpro3.$ls_codestpro4.$ls_codestpro5;
if($ld_monto_spg>0){
$lb_valido = $in_classmovbanco->uf_procesar_dt_gasto($ls_codban,$ls_ctaban,$ls_numdoc,'CH',$ls_estmov,$ls_programa,$ls_cuentaspg,$ls_numsol,$ls_descripcion,'CXPSOP',$ld_monto_spg,'PG',$ls_estcla);
}
else{
$lb_valido = true;
}
}
}
}
unset($aa_dt_spgcxp);
}
//$ldec_monto+$ld_montotret-$ldec_montoretbanco
$lb_valido = $in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_ctaprovbene,'CXPSOP',$ls_desmov,$ls_numsol,'D',$ldec_monto,$ldec_monobjret,true,'00000');//Se comenta la suma por desconocer bajo que circunstancias se deben sumar las retenciones. Agregada resta de retenciones bancarias.
if ($lb_valido && $li_cont==$li_totfilsel)
{
$lb_valido = $in_classmovbanco->uf_procesar_dt_contable($arr_movbco,$ls_cuenta_scg,'SCBBCH',$ls_desmov,$ls_numdoc,'H',$ldec_montotot,$ldec_monobjret,true,'00000');
}
if($lb_valido)
{
$li_origen=$in_classmovbanco->uf_validar_monto_cancelado($ls_numsol,$ls_numdoc,$ls_codban,$ls_ctaban,$ldec_monto);
if($li_origen==1)
{
$lb_valido=false;
$io_msg->message("La solicitud de pago ".$ls_numsol." ya ha sido cancelada en su totalidad");
}
elseif($li_origen==2)
{
$lb_valido=false;
$io_msg->message("El pago excede el monto estipulado en la solicitud de pago ".$ls_numsol."");
}
}
}
}
}
//break;
if ($lb_valido && $lb_pago)
{
$in_classmovbanco->io_sql->commit();
$io_msg->message("Movimiento registrado !!!");
?>
io_sql->rollback();
$io_msg->message($in_classmovbanco->is_msg_error."; No pudo registrarse el movimiento ");
}
$ls_chevau="";
uf_nuevo($ls_disabled);
$ls_anticipo= 'style="display:none"';
}
if($ls_tipproben=='-')
{
$rb_n="checked";
$rb_p="";
$rb_b="";
}
if($ls_tipproben=='P')
{
$rb_n="";
$rb_p="checked";
$rb_b="";
}
if($ls_tipproben=='B')
{
$rb_n="";
$rb_p="";
$rb_b="checked";
}
?>