function uf_valida_cuenta($as_cuenta ) { $li_nivel =0; $lb_valido=true; $ls_pad_cuenta="";$ls_denominacion="";$ls_status="";$ls_NextCuenta="";$ls_mensaje_error=""; $int_scg=new class_sigesp_int_scg(); $msg=new class_mensajes(); $dat=$_SESSION["la_empresa"]; $ls_formplan=$dat["formplan"]; $is_codemp=$dat["CodEmp"]; $ls_pad_cuenta = $int_scg->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