";
print "location.href='../sigesp_inicio_sesion.php'";
print "";
}
?>
Definición de Plan de Cuentas.
 |
| Sistema de Contabilidad Patrimonial |
|
| |
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uf_pad_cuenta_plan($ls_formplan ,$as_cuenta);
if(!$int_scg->uf_select_plan_unico_cuenta($ls_pad_cuenta,$ls_denominacion))
{
$msg->message("La cuenta no existe en el Plan Unico de Cuentas.");
return false;
}
/*if($int_scg->uf_scg_select_cuenta($is_codemp,$as_cuenta,$ls_status,$ls_denominacion))
{
$msg->message("La cuenta ya existe en el Plan de Cuentas.");
return false;
}*/
// verifico si el nivel es el apropiado
//$msg->message($as_cuenta);
$int_scg->uf_init_niveles();
$li_nivel = $int_scg->uf_scg_obtener_nivel($as_cuenta);
if($li_nivel<=1)
{
$msg->message("Las cuentas de nivel 1 no son validas.");
return false;
}
// verifico si no hay cuentas con movimientos de nivel superior
if($li_nivel > 1)
{
$ls_NextCuenta = $int_scg->uf_scg_next_cuenta_nivel($as_cuenta);
do
{
if($int_scg->uf_scg_select_cuenta($is_codemp,$ls_NextCuenta,$ls_status,$ls_denominacion))
{
if ($ls_status == "C")
{
$msg_message("Existen cuentas de nivel superior con Movimiento.");
return false;
}
}
$ls_NextCuenta = $int_scg->uf_scg_next_cuenta_nivel($ls_NextCuenta);
$li_nivel=$int_scg->uf_scg_obtener_nivel($ls_NextCuenta);
}while( $li_nivel > 1);
}
return $lb_valido;
}//uf_valida_cuenta
if(array_key_exists("operacion",$_POST))
{
$ls_operacion=$_POST["operacion"];
}
else
{
$ls_operacion="";
}
//print $ls_operacion;
if($ls_operacion=="CAT")
{
$ls_cuenta=$_POST["txtcuenta"];
$_SESSION["ls_cuenta"]=$ls_cuenta;
$ls_denominacion=$_POST["txtdenominacion"];
$_SESSION["ls_denominacion"]=$ls_denominacion;
$ls_status=$_POST["txtstatus"];
$_SESSION["ls_status"]=$ls_status;
$disabled="";
}
if($ls_operacion=="EDITAR")
{
$ls_cuenta=$_POST["txtcuenta"];
$_SESSION["ls_cuenta"]=$ls_cuenta;
$ls_denominacion=$_POST["txtdenominacion"];
$_SESSION["ls_denominacion"]=$ls_denominacion;
$ls_status=$_POST["txtstatus"];
$_SESSION["ls_status"]=$ls_status;
$disabled="readonly";
}
elseif($ls_operacion=="CAMBIAR")
{
$msg=new class_mensajes();
//Tomo los valores actuales de las cajas de texto.
$ls_cuenta2=$_POST["txtcuenta"];
$ls_denominacion2=$_POST["txtdenominacion"];
$ls_status=$_POST["txtstatus"];
//Tomo los valores anteriores de la cuenta y denominacion.
$ls_cuenta=$_SESSION["ls_cuenta"];
$ls_denominacion=$_SESSION["ls_denominacion"];
if($ls_status=="C")
{
$lb_valido=$int_scg->uf_scg_update_cuenta($dat["codemp"],$ls_cuenta,$ls_denominacion2,"Error al actualizar");
//print $lb_valido;
$ls_cuenta="";
$ls_denominacion="";
$ls_status="";
$msg->message("Denominación Actualizada");
$disabled="";
}
elseif($ls_status=="S")
{
$msg->message("La cuenta no es de movimiento, no puede actualizar");
$ls_cuenta="";
$ls_denominacion="";
$ls_status="";
$disabled="";
}
}
elseif($ls_operacion=="GUARDAR")
{
$ls_cuenta_valid=$_POST["txtcuenta"];
$ls_denominacion_cta=$_POST["txtdenominacion"];
$msg=new class_mensajes();
$fun=new class_funciones();
//$ls_cuenta_valid = trim(str_replace("-"," ",$ls_cuenta_valid));
$dat=$_SESSION["la_empresa"];
$ls_formplan=$dat["formplan"];
$is_codemp=$dat["codemp"];
$lb_valido=true;
if( ($ls_cuenta_valid=="")||($ls_denominacion_cta==""))
{
$msg->message("Debe compeltar todos los campos") ;
}
else
{
$ls_cuenta_valid = $int_scg->uf_pad_scg_cuenta($dat["formcont"],$ls_cuenta_valid);
if(uf_valida_cuenta($ls_cuenta_valid))
{
//$ls_cuenta="";
//$ls_denominacion="";
//Tomo los valores actuales de las cajas de texto.
$ls_cuenta=$_POST["txtcuenta"];
$ls_denominacion=$_POST["txtdenominacion"];
$ls_status=$_POST["txtstatus"];
//Tomo los valores anteriores de la cuenta y denominacion.
if($int_scg->uf_scg_select_cuenta($is_codemp,$ls_cuenta,$ls_status,$ls_denominacion))
{
$lb_valido=$int_scg->uf_scg_update_cuenta($is_codemp,$ls_cuenta,$ls_denominacion,"Error al actualizar");
$lb_valido=$int_scg->uf_sql_transaction($lb_valido);
$ls_cuenta="";
$ls_denominacion="";
$ls_status="";
$msg->message("Denominación Actualizada");
$disabled="";
}
else
{
$ls_cuenta_tempo = $ls_cuenta_valid;
$ls_denominacion = "";
$ls_NextCuenta = $int_scg->uf_scg_next_cuenta_nivel($ls_cuenta_valid);
$li_Nivel = $int_scg->uf_scg_obtener_nivel($ls_NextCuenta);
$li_fila = 1 ;
$lds_cuenta_temp=new class_datastore();
do
{
if(!$int_scg->uf_scg_select_cuenta($is_codemp,$ls_NextCuenta,$as_status,$as_denominacion))
{
$ls_status=$as_status;
$ls_denominacion=$as_denominacion;
$ls_PadNextCuenta =$int_scg->uf_pad_cuenta_plan($dat["formplan"] , $ls_NextCuenta) ;
$int_scg->uf_select_plan_unico_cuenta($ls_PadNextCuenta,$as_denominacion_plan);
if($li_Nivel > 1)
{
$ls_cuenta_ref = $int_scg->uf_scg_next_cuenta_nivel( $ls_NextCuenta );
}
else
{
$ls_cuenta_ref = " ";
}
$lds_cuenta_temp->insertRow("SC_cuenta",$ls_NextCuenta);
$lds_cuenta_temp->insertRow("denominacion",$as_denominacion_plan);
$lds_cuenta_temp->insertRow("sc_cuenta_ref",$ls_cuenta_ref);
$lds_cuenta_temp->insertRow("Nivel",$li_Nivel);
$li_fila = $li_fila + 1;
}
if ($li_Nivel > 1)
{
$ls_NextCuenta = $int_scg->uf_scg_next_cuenta_nivel( $ls_NextCuenta );
$li_Nivel = $int_scg->uf_scg_obtener_nivel( $ls_NextCuenta );
}
else
{
$li_Nivel = 0 ;
}
}while( $li_Nivel >= 1);
$li_total = $lds_cuenta_temp->getRowCount("SC_cuenta");
if($li_total>0)
{
for($li_fila=1;$li_fila<=$li_total;$li_fila++)
{
$ls_cuenta = $lds_cuenta_temp->getValue("SC_cuenta",$li_fila);
$ls_denominacion= $lds_cuenta_temp->getValue("denominacion",$li_fila) ;
$ls_cuenta_ref = $lds_cuenta_temp->getValue("sc_cuenta_ref",$li_fila) ;
$li_Nivel = $lds_cuenta_temp->getValue("Nivel",$li_fila);
$ls_mensaje_error="Error en Guardar";
$ls_status = "S";
$int_scg->SQL->begin_transaction();
$lb_valido = $int_scg->uf_scg_insert_cuenta($is_codemp,$ls_cuenta,$ls_denominacion,$ls_status,$li_Nivel,$ls_cuenta_ref,$ls_mensaje_error);
if (!$lb_valido)
{
break;
}
}
}
if($lb_valido)
{
$ls_cuenta = $ls_cuenta_tempo;
$ls_Cuenta_temp = $int_scg->uf_pad_cuenta_plan( $dat["formplan"] , $ls_cuenta);
if($int_scg->uf_select_plan_unico_cuenta($ls_Cuenta_temp,$as_denominacion_plan))
{
$ls_NextCuenta = $int_scg->uf_scg_next_cuenta_nivel($ls_cuenta);
$li_Nivel = $int_scg->uf_scg_obtener_nivel($ls_cuenta);
$lb_valido = $int_scg->uf_scg_insert_cuenta($is_codemp,$ls_cuenta,$ls_denominacion_cta,"C",$li_Nivel,$ls_NextCuenta,$ls_mensaje_error);
}
}
if ($lb_valido)
{
if(!$int_scg->uf_sql_transaction( $lb_valido ))
{
$msg->message("Error al grabar en la base de datos.");
}
else
{
$msg->message("La cuenta fue grabada.");
}
}
else
{
$msg->message($int_scg->is_msg_error);
}
}
}
}
$ls_cuenta="";
$ls_denominacion="";
$ls_status="";
$disabled="";
//return true;
}
elseif($ls_operacion=="ELIMINAR")
{
global $int_scg;
$ls_cuenta = $_POST["txtcuenta"];
$ls_denominacion = $_POST["txtdenominacion"];
$msg=new class_mensajes();
$fun=new class_funciones();
//$ls_cuenta_valid = trim(str_replace("-"," ",$ls_cuenta_valid));
$dat = $_SESSION["la_empresa"];
$ls_formplan = $dat["formplan"];
$is_codemp = $dat["codemp"];
$ls_mensaje_error="";$ls_cuenta_cero="";$ls_status="";$ls_denominacion="";
$lb_valido=false ;
$li_total_rows=0;
$lb_valido = $int_scg->uf_scg_select_cuenta_movimiento( $is_codemp,$ls_cuenta,$ls_mensaje_error) ;
if ($int_scg->ib_db_error )
{
$msg->message($ls_mensaje_error) ;
$int_scg->ib_db_error = false;
//return false;
}
if ($lb_valido)
{
$msg->message("Existen movimientos asociados a esta cuenta ... no se puede eliminar.");
// return false ;
}
else
{
$ls_cuenta_cero = $int_scg->uf_scg_sin_ceros($ls_cuenta) ;
$li_total_rows = $int_scg->uf_scg_select_cuenta_sin_cero($is_codemp,$ls_cuenta_cero);
if($li_total_rows > 1)
{
$msg->message("Existen cuentas de nivel inferior ... no se puede eliminar.");
//return false;
}
else
{
$lb_valido = $int_scg->uf_scg_delete_cuenta( $is_codemp,$ls_cuenta);
$msg->message($int_scg->is_msg_error);
if($int_scg->ib_db_error)
{
$msg->message($int_scg->is_msg_error);
$int_scg->ib_db_error = false;
// return false;
}
}
}
$ls_cuenta="";
$ls_denominacion="";
$ls_status="";
$disabled="";
}
else
{
$ls_cuenta="";
$ls_denominacion="";
$ls_status="";
$disabled="";
}
?>