";
print "location.href='../sigesp_inicio_sesion.php'";
print "";
}
require_once("class_funciones_gasto.php");
$io_fun_spg = new class_funciones_gasto();
$ls_formato = $io_fun_spg->uf_select_config("SPG","REPORTE","MOD_PRE_INSUBSISTENCIA","sigesp_spg_rpp_insubsistencia.php","C");
?>
Comprobante de Insubsistencia
uf_sss_select_permisos($ls_empresa,$ls_logusr,$ls_sistema,$ls_ventana);
}
////////////////////////////////////////////// SEGURIDAD /////////////////////////////////////////////
$sig_inc=new sigesp_include();
$con=$sig_inc->uf_conectar();
$fun_db=new class_funciones_db($con);
$in_classcmp=new sigesp_spg_c_mod_presupuestarias();
$fun=new class_funciones();
$int_scg=new class_sigesp_int_scg();
$int_spg=new class_sigesp_int_spg();
$msg=new class_mensajes();
$io_grid=new grid_param();
$int_fec=new class_fecha();
$la_emp=$_SESSION["la_empresa"];
$li_estmodest=$la_emp["estmodest"];
if(array_key_exists("operacion",$_POST))
{
$ls_operacion=$_POST["operacion"];
$ls_procede = $_POST["txtproccomp"];
$ls_comprobante = $_POST["txtcomprobante"];
$ls_fecha = $_POST["txtfecha"];
$ls_descripcion = $_POST["txtdesccomp"];
$ls_procede = $_POST["txtproccomp"];
$li_estapro = $_POST["estapro"];
$li_fila = 0;
$ls_fuefin = $_POST["cmbfuefin"];
$ls_coduniadm = $_POST["txtuniadm"];
$ls_denuniadm = $_POST["txtdenuni"];
$ls_contipo= $_POST["tipomod"];
$ls_codtipo= $_POST["codtipomod"];
//$ls_compread="readonly";
$ls_compread="";
$ls_existe=$_POST["existe"];
}
else
{
$ls_operacion="NUEVO";
$ls_existe="N";
$_SESSION["ACTUALIZAR"]="NO";
$_SESSION["ib_new"] =true;
$array_fecha=getdate();
$ls_dia=$array_fecha["mday"];
$ls_mes=$array_fecha["mon"];
$ls_ano=$array_fecha["year"];
$ls_fecha=$fun->uf_cerosizquierda($ls_dia,2)."/".$fun->uf_cerosizquierda($ls_mes,2)."/".$ls_ano;
$li_fila = 0;
$ls_fuefin = "--";
$ls_coduniadm = "-----";
$ls_denuniadm="";
}
if($ls_operacion=="VALIDAFECHA")
{
$readonly="";
$ls_comprobante = $_POST["txtcomprobante"];
$ls_procede = $_POST["txtproccomp"];
$ls_fecha = $_POST["txtfecha"];
$ls_descripcion = $_POST["txtdesccomp"];
$ls_codemp=$la_emp["codemp"];
$ls_existe=$_POST["existe"];
$ls_contipo= $_POST["tipomod"];
$ls_codtipo= $_POST["codtipomod"];
if ($ls_contipo==0)
{
$ls_compread="";
}
else
{
//$ls_compread="readonly";
$ls_compread="";
}
$lb_valido=$int_fec->uf_valida_fecha_periodo($ls_fecha,$ls_codemp);
if(!($lb_valido))
{
$msg->message($int_fec->is_msg_error);
$ls_fecha="01/01/1900";
}
else
{
if ($ls_existe=="N")
{
$lb_existe=$in_classcmp->uf_verificar_comprobante($ls_codemp,$ls_procede,$ls_comprobante);
if (($ls_comprobante=="000000000000000")&&($ls_contipo==1))
{
$msg->message(" Debe Seleccionar un Tipo de Modificación Presupuestaria para generar el Número del Comprobante");
}
if($lb_existe)
{
$msg->message(" El Comprobante ya existe. El Sistema generara un nuevo numero de Comprobante");
$ls_comprobante = $in_classcmp->uf_generar_num_cmp($la_emp["codemp"],'SPGINS');
}
}
else
{
$ls_comprobante=$_POST["txtcomprobante"];
}
}
$li_fila= 0;
$prov_sel="";
$bene_sel="";
$ning_sel="selected";
$totalpre=1;
$totalcon=1;
$li_estmodest=$la_emp["estmodest"];
if($li_estmodest==1)
{
$li_size=32;
$li_maxlength=29;
}
else
{
$li_size=40;
$li_maxlength=33;
}
$object[1][1]="";
$object[1][2]="";
$object[1][3]="";
$object[1][4]="";
$object[1][5]="";
$object[1][6]="";
$object[1][7]="";
$object[1][8] ="";
$ldec_totspg=0;
}
//Titulos de la tabla de Detalle Presupuestario.
$title[1]="Cuenta";
if($li_estmodest==1)
{
$title[2]="Imputación Presupuestaria";
}
else
{
$title[2]="Programatico";
}
$title[3]="Documento";
$title[4]="Descripción";
$title[5]="Procede";
$title[6]="Operación";
$title[7]="Monto";
$title[8]="Edición";
$grid1="grid_SPG";
//Titulos de la tabla de Detalle Contable
if($ls_operacion=="NUEVO")//Acciones para un comprobante nuevo
{
$ls_existe="N";
$ls_procede = "SPGINS";
//$ls_comprobante = $in_classcmp->uf_generar_num_cmp($la_emp["codemp"],'SPGINS');
$ls_codtipo="";
$ls_contipo= $in_classcmp->uf_buscar_tipos($la_emp["codemp"]);
if ($ls_contipo==0)
{
//$ls_comprobante = $in_classcmp->uf_generar_num_cmp($la_emp["codemp"],'SPGREC');
$ls_comprobante = $in_classcmp->uf_generar_num_cmp($la_emp["codemp"],'SPGINS');
$ls_compread="";
}
else
{
//$ls_compread="readonly";
$ls_compread="";
print("");
$ls_comprobante="";
}
$ls_tipomod=""; // codigo del tipo de modificación presupuestaria
$ls_descripcion = "";
$ls_tipo = "";
$li_fila = 0;
$ldec_mondeb=0;
$ldec_diferencia=0;
$ldec_monhab=0;
$ldec_totspg=0;
$prov_sel="";
$bene_sel="";
$ning_sel="selected";
$totalpre=1;
$totalcon=1;
$li_estapro = 0;
$ls_coduniadm = "-----";
$ls_denuniadm = "";
$li_estmodest=$la_emp["estmodest"];
if($li_estmodest==1)
{
$li_size=32;
$li_maxlength=29;
}
else
{
$li_size=40;
$li_maxlength=33;
}
$object[1][1]="";
$object[1][2]="";
$object[1][3]="";
$object[1][4]="";
$object[1][5]="";
$object[1][6]="";
$object[1][7]="";
$object[1][8] ="";
}
if(($ls_operacion=="CARGAR_DT")||($ls_operacion=="VALIDAFECHA"))
{
$ls_comprobante=$_POST["txtcomprobante"];
$ld_fecha =$_POST["txtfecha"];
$ls_proccomp =$_POST["txtproccomp"];
$ls_desccomp =$_POST["txtdesccomp"];
$ls_provbene ="----------";
$ls_tipo ="-";
$ldec_mondeb=0;
$ldec_diferencia=0;
$ldec_monhab=0;
$ls_fuefin = $_POST["cmbfuefin"];
$ls_coduniadm = $_POST["txtuniadm"];
$ls_denuniadm = $_POST["txtdenuni"];
$ls_contipo= $_POST["tipomod"];
$ls_codtipo= $_POST["codtipomod"];
if($ls_tipo=="P")
{
$ls_prov=$ls_provbene;
$ls_bene="----------";
$prov_sel="selected";
$bene_sel="";
$ning_sel="";
}
else
{
$ls_bene=$ls_provbene;
$ls_prov="----------";
$prov_sel="";
$bene_sel="selected";
$ning_sel="";
}
$ls_existe=$_POST["existe"];
uf_cargar_dt($la_emp["codemp"],$ls_proccomp,$ls_comprobante,$ld_fecha);
}
if($ls_operacion=="GUARDAR")
{
$ls_codemp=$la_emp["codemp"];
$ls_existe="C";
$ls_comprobante=$_POST["txtcomprobante"];
$ld_fecha=$_POST["txtfecha"];
$ls_procedencia=$_POST["txtproccomp"];
$ls_descripcion=$_POST["txtdesccomp"];
$ls_tipo="-";
$int_int->is_tipo=$ls_tipo;
$int_int->is_cod_prov="----------";
$int_int->is_ced_ben="----------";
$int_int->ib_procesando_cmp=false;
$int_int->is_fecha=$fun->uf_convertirdatetobd($ld_fecha);
$ls_codban = "---";
$ls_ctaban = "-------------------------";
$ls_codemp=$la_emp["codemp"];
$ls_fuefin = $_POST["cmbfuefin"];
$ls_coduniadm = $_POST["txtuniadm"];
$ls_denuniadm = $_POST["txtdenuni"];
$ls_contipo= $_POST["tipomod"];
$ls_codtipo= $_POST["codtipomod"];
$lb_valido=$int_fec->uf_valida_fecha_periodo($ld_fecha,$ls_codemp);
if(!($lb_valido))
{
$msg->message($int_fec->is_msg_error);
$ls_fecha="01/01/1900";
}
else
{
$lb_valido=$in_classcmp->uf_guardar_automatico($ls_comprobante,$ld_fecha,$ls_procedencia,$ls_descripcion,
$int_int->is_cod_prov,$int_int->is_ced_ben,$ls_tipo,2,0,
$ls_fuefin,$ls_coduniadm);
if(!$lb_valido)
{
$msg->message($in_classcmp->is_msg_error);
}
else
{
$msg->message("Comprobante Guardado Satisfactoriamente");
}
}
uf_cargar_dt($la_emp["codemp"],$ls_procedencia,$ls_comprobante,$ld_fecha);
}
if($ls_operacion=="ELIMINAR")
{
$lb_valido=false;
$ls_existe="N";
$ls_coduniadm = $_POST["txtuniadm"];
$ls_denuniadm = $_POST["txtdenuni"];
$ls_codemp=$la_emp["codemp"];
$ls_comprobante=$_POST["txtcomprobante"];
$ld_fecha=$_POST["txtfecha"];
$ls_procedencia=$_POST["txtproccomp"];
$ls_descripcion=$_POST["txtdesccomp"];
$ls_tipo="-";
$in_classcmp->is_tipo=$ls_tipo;
$in_classcmp->is_cod_prov="----------";
$in_classcmp->is_ced_ben="----------";
$in_classcmp->ib_procesando_cmp=false;
$in_classcmp->is_fecha=$fun->uf_convertirdatetobd($ld_fecha);
$ls_fuente = "----------";
$in_classcmp->is_cod_prov="----------";
$in_classcmp->is_ced_ben="----------";
$ls_comprobantes=$ls_comprobante;
$ld_fechas=$ld_fecha;
$ls_contipo= $_POST["tipomod"];
$ls_codtipo= $_POST["codtipomod"];
$lb_valido=$in_classcmp->uf_delete_all_comprobante($ls_codemp,$ls_comprobante,$ld_fecha,$ls_procedencia);
if($lb_valido)
{
$msg->message("Comprobante eliminado satisfactoriamente");
$ls_comprobante="";
$ld_fecha="";
$ls_descripcion="";
$li_estapro = 0;
///////////////////////////////// SEGURIDAD /////////////////////////////
$ls_evento="DELETE";
$ls_desc_event="Elimino el Comprobante ".$ls_comprobante." de fecha ".$ld_fecha." con procedencia ".$ls_procedencia;
$ls_variable= $io_seguridad->uf_sss_insert_eventos_ventana($ls_empresa,$ls_sistema,$ls_evento,$ls_logusr,$ls_ventana,$ls_desc_event);
//////////////////////////////// SEGURIDAD //////////////////////////////
$int_spg->io_sql->commit();
}
else
{
$int_spg->io_sql->rollback();
$msg->message("Error".$in_classcmp->is_msg_error);
}
uf_cargar_dt($la_emp["codemp"],$ls_procedencia,$ls_comprobantes,$ld_fechas);
}
if($ls_operacion=="DELETESPG")
{
$ls_comprobante=$_POST["txtcomprobante"];
$ld_fecha =$_POST["txtfecha"];
$ls_proccomp =$_POST["txtproccomp"];
$ls_desccomp =$_POST["txtdesccomp"];
$ls_provbene ="----------";
$ls_tipo ="-";
$li_fila =$_POST["fila"];
$ls_prov=$ls_provbene;
$ls_bene=$ls_provbene;
$ls_coduniadm = $_POST["txtuniadm"];
$ls_denuniadm = $_POST["txtdenuni"];
$li_estmodest=$la_emp["estmodest"];
$ls_contipo= $_POST["tipomod"];
$ls_codtipo= $_POST["codtipomod"];
$ls_loncodestpro1 = $_SESSION["la_empresa"]["loncodestpro1"];
$ls_incio1=0;
$ls_loncodestpro2 = $_SESSION["la_empresa"]["loncodestpro2"];
$ls_incio2=$ls_loncodestpro1;
$ls_loncodestpro3 = $_SESSION["la_empresa"]["loncodestpro3"];
$ls_incio3=$ls_loncodestpro1+$ls_loncodestpro2;//25-$ls_loncodestpro3;
$ls_loncodestpro4 = $_SESSION["la_empresa"]["loncodestpro4"];
$ls_incio4=$ls_incio3+$ls_loncodestpro3;//25-$ls_loncodestpro4;
$ls_loncodestpro5 = $_SESSION["la_empresa"]["loncodestpro5"];
$ls_incio5=$ls_incio4+$ls_loncodestpro4;//25-$ls_loncodestpro5;
if($li_estmodest==2)
{
$estprog[0]=substr($_POST["txtprogramatico".$li_fila],$ls_incio1,$ls_loncodestpro1);
$estprog[1]=substr($_POST["txtprogramatico".$li_fila],$ls_incio2,$ls_loncodestpro2);
$estprog[2]=substr($_POST["txtprogramatico".$li_fila],$ls_incio3,$ls_loncodestpro3);
$estprog[3]=substr($_POST["txtprogramatico".$li_fila],$ls_incio4,$ls_loncodestpro4);
$estprog[4]=substr($_POST["txtprogramatico".$li_fila],$ls_incio5,$ls_loncodestpro5);
}
else
{
$estprog[0]=substr($_POST["txtprogramatico".$li_fila],$ls_incio1,$ls_loncodestpro1);
$estprog[1]=substr($_POST["txtprogramatico".$li_fila],$ls_incio2,$ls_loncodestpro2);
$estprog[2]=substr($_POST["txtprogramatico".$li_fila],$ls_incio3,$ls_loncodestpro3);
$estprog[3]=$fun->uf_cerosizquierda(0,25);
$estprog[4]=$fun->uf_cerosizquierda(0,25);
}
$estprog[0] = $fun->uf_cerosizquierda($estprog[0],25);
$estprog[1] = $fun->uf_cerosizquierda($estprog[1],25);
$estprog[2] = $fun->uf_cerosizquierda($estprog[2],25);
$estprog[3] = $fun->uf_cerosizquierda($estprog[3],25);
$estprog[4] = $fun->uf_cerosizquierda($estprog[4],25);
$estprog[5] = $_POST["txtestcla".$li_fila];
$ls_cuenta=trim($_POST["txtcuenta".$li_fila]);
$ls_procede_doc=$_POST["txtprocede".$li_fila];
$ls_descripcion=$_POST["txtdescripcion".$li_fila];
$ls_documento=$_POST["txtdocumento".$li_fila];
$ls_operacion=$_POST["txtoperacion".$li_fila];
$ldec_monto_anterior=$_POST["txtmonto".$li_fila];
$ldec_monto_actual=0;
$li_tipo_comp=2;
$ls_mensaje=$int_spg->uf_operacion_codigo_mensaje($ls_operacion);
$int_spg->is_codemp=$la_emp["codemp"];
$int_spg->is_fecha=$fun->uf_convertirdatetobd($ld_fecha);
$int_spg->is_procedencia=$ls_proccomp;
$int_spg->is_comprobante=$ls_comprobante;
$int_spg->is_tipo=$ls_tipo;
$int_spg->is_cod_prov=$ls_prov;
$int_spg->is_ced_ben=$ls_bene;
$int_spg->ib_AutoConta=true;
if ($ls_tipo=="B")
{ $ls_fuente = $ls_bene; }
else
{
if ($ls_tipo=="P")
{
$ls_fuente = $ls_prov;
}
else
{
$ls_fuente = "----------";
}
}
if(!$int_spg->uf_spg_select_cuenta($la_emp["codemp"],$estprog,$ls_cuenta,$ls_status,$ls_denominacion,$ls_sc_cuenta))
{
$msg->message(" La cuenta ".$ls_cuenta." no existe ...");
return false;
}
$lb_valido=$in_classcmp->uf_int_spg_delete_movimiento($la_emp["codemp"],$ls_proccomp,$ls_comprobante,$ld_fecha,$ls_tipo,$ls_fuente,$ls_prov,$ls_bene,
$estprog,$ls_cuenta,$ls_procede_doc,$ls_documento,$ls_descripcion,$ls_mensaje,$li_tipo_comp,
$ldec_monto_anterior,$ldec_monto_actual,$ls_sc_cuenta);
if($lb_valido)
{
$msg->message("El Movimiento fue Eliminado ...");
///////////////////////////////// SEGURIDAD /////////////////////////////
$ls_evento="DELETE";
$ls_desc_event="Elimino el movimiento presupuestario ".$ls_documento." con operacion".$ls_operacion." por un monto de
".$ldec_monto_anterior." para la cuenta ".$ls_cuenta." correspondiente a la estructura programatica ".$estprog[0]."-".
$estprog[1]."-".$estprog[2]."-".$estprog[3]."-".$estprog[4]."; para el comprobante ".$ls_comprobante." de fecha ".$ld_fecha;
$ls_variable= $io_seguridad->uf_sss_insert_eventos_ventana($ls_empresa,$ls_sistema,$ls_evento,$ls_logusr,$ls_ventana,$ls_desc_event);
//////////////////////////////// SEGURIDAD //////////////////////////////
$int_spg->io_sql->commit();
}
else
{
$int_spg->io_sql->rollback();
$msg->message("El Movimiento no fue Eliminado ...");
}
uf_cargar_dt($la_emp["codemp"],$ls_proccomp,$ls_comprobante,$ld_fecha);
}
function uf_cargar_dt($ls_codemp,$ls_proccomp,$ls_comprobante,$ld_fecha)
{
global $in_classcmp;
global $la_emp;
global $totalpre;
global $totalcon;
global $object;
global $object2;
global $ldec_mondeb;
global $ldec_monhab;
global $ldec_diferencia;
global $ldec_totspg;
$ldec_mondeb=0;
$ldec_monhab=0;
$ldec_diferencia=0;
$i=0;
$rs_dtcmp=$in_classcmp->uf_cargar_dt_comprobante($la_emp["codemp"],$ls_proccomp,$ls_comprobante,$ld_fecha);
$li_numrows=$in_classcmp->io_sql->num_rows($rs_dtcmp);
$ldec_totspg=0;
$totalpre=1;
$totalcon=1;
if($li_numrows>0)
{
$totalpre=$li_numrows;
while($row=$in_classcmp->io_sql->fetch_row($rs_dtcmp))
{
$i=$i+1;
$ls_cuenta=$row["spg_cuenta"];
$li_estmodest = $_SESSION["la_empresa"]["estmodest"];
$ls_loncodestpro1 = $_SESSION["la_empresa"]["loncodestpro1"];
$ls_incio1=25-$ls_loncodestpro1;
$ls_loncodestpro2 = $_SESSION["la_empresa"]["loncodestpro2"];
$ls_incio2=25-$ls_loncodestpro2;
$ls_loncodestpro3 = $_SESSION["la_empresa"]["loncodestpro3"];
$ls_incio3=25-$ls_loncodestpro3;
$ls_loncodestpro4 = $_SESSION["la_empresa"]["loncodestpro4"];
$ls_incio4=25-$ls_loncodestpro4;
$ls_loncodestpro5 = $_SESSION["la_empresa"]["loncodestpro5"];
$ls_incio5=25-$ls_loncodestpro5;
if($li_estmodest==2)
{
$ls_programatico=substr($row["codest1"],$ls_incio1,$ls_loncodestpro1).substr($row["codest2"],$ls_incio2,$ls_loncodestpro2).substr($row["codest3"],$ls_incio3,$ls_loncodestpro3).substr($row["codest4"],$ls_incio4,$ls_loncodestpro4).substr($row["codest5"],$ls_incio5,$ls_loncodestpro5);
}
else
{
$ls_programatico=substr($row["codest1"],$ls_incio1,$ls_loncodestpro1).substr($row["codest2"],$ls_incio2,$ls_loncodestpro2).substr($row["codest3"],$ls_incio3,$ls_loncodestpro3);
}
$ls_codprog=$row["codest1"].$row["codest2"].$row["codest3"].$row["codest4"].$row["codest5"];
$ls_documento=$row["documento"];
$ls_descripcion=$row["descripcion"];
$ls_procede=$row["procede_doc"];
$ls_operacion=$row["operacion"];
$ldec_monto=$row["monto"];
$ls_estcla=trim($row["estcla"]);
if($li_estmodest==1)
{
$li_size=32;
$li_maxlength=29;
}
else
{
$li_size=40;
$li_maxlength=33;
}
$object[$i][1]="";
$object[$i][2]="".
"".
"";
$object[$i][3]="";
$object[$i][4]="";
$object[$i][5]="";
$object[$i][6]="";
$object[$i][7]="";
$object[$i][8] ="
";
$ldec_totspg=$ldec_totspg+$ldec_monto;
}
$in_classcmp->io_sql->free_result($rs_dtcmp);
}
else
{
$li_estmodest=$la_emp["estmodest"];
if($li_estmodest==1)
{
$li_size=32;
$li_maxlength=29;
}
else
{
$li_size=40;
$li_maxlength=33;
}
$object[1][1]="";
$object[1][2]="";
$object[1][3]="";
$object[1][4]="";
$object[1][5]="";
$object[1][6]="";
$object[1][7]="";
$object[1][8] ="";
}
}
?>