for($i=1;$i<=$li_pos;$i++) { $li_indice = $li_indice + 1; $li_lenCta = strlen(trim($ls_new_cad)); $li_pos = $fun->uf_posocurrencia( $ls_formcont, "-", $li_indice ); if ($li_pos > 0) { $ls_sub = substr($ls_new_cad, 0, $li_pos ); $len=$li_lenCta - $li_pos; $ls_new_cad = $ls_sub . "-" . substr($ls_new_cad,$li_pos,$len ); $li_max_nivel= $li_max_nivel + 1; } }//for $li_nivel_cta = $int_scg->uf_scg_obtener_nivel($ls_cuenta); //Obtiene nivel de la cta $ls_cta_ceros = $int_scg->uf_scg_sin_ceros($ls_cuenta ); //devuelve la cta sin ceros $ls_sc_cuenta = $iscg_procesos->uf_disable_cta_inferior( $ls_cta_ceros, $ls_cuenta, $ls_cod_report); $ls_opcion=$_POST["radiobutton"]; if ($ls_opcion=="N") { $ds_prorep->data=$_SESSION["objact"];echo "AJA 6<br>"; $i=$_POST["fila"]; $ld_asignado=str_replace('.','',$ld_asignado); $ld_asignado=str_replace(',','.',$ld_asignado); $ds_prorep->updateRow("asignado",$ld_asignado,$i); $ls_modrep="1"; //Modalidad Mensual $ls_distribuir="1"; $total=count($ls_sc_cuenta); for($li=1;$li<=$total;$li++) {echo "AJA 7<br>";
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
function uf_reprocesar_plancuenta($ls_codemp, $aa_seguridad) { //////////////////////////////////////////////////////////////////////////////////////////////////// // Function: uf_reprocesar_plancuenta // Access: public // Arguments: // Returns: Boolean //Description: Este método realiza la actualización del plan de cuenta con cuentas contables que no existan //////////////////////////////////////////////////////////////////////////////////////////////////// $lb_valido = true; $int_scg = new class_sigesp_int_scg(); $int_scg->is_codemp = $ls_codemp; $this->io_sql->begin_transaction(); $ls_mensaje = ""; //Obtengo los movimientos contables realizados $ls_sql = "SELECT sc_cuenta " . " FROM scg_cuentas " . " WHERE codemp ='" . $ls_codemp . "'" . " AND status ='C'" . " ORDER BY sc_cuenta "; $rs_data = $this->io_sql->select($ls_sql); if ($rs_data === false) { $this->io_message->message("CLASE->Reprocesar SCG MÉTODO->uf_reprocesar_saldos ERROR->" . $this->io_function->uf_convertirmsg($this->io_sql->message)); $lb_valido = false; } else { while (!$rs_data->EOF && $lb_valido) { $ls_cuenta = $rs_data->fields["sc_cuenta"]; $ls_nextCuenta = $ls_cuenta; $li_nivel = $int_scg->uf_scg_obtener_nivel($ls_nextCuenta); do { $ls_status = ''; $ls_denominacion = ''; if ($int_scg->uf_scg_select_cuenta($ls_codemp, $ls_nextCuenta, &$ls_status, &$ls_denominacion)) { $ls_denominacionant = $ls_denominacion; } else { $li_nivel = $int_scg->uf_scg_obtener_nivel($ls_nextCuenta); $ls_referencia = $int_scg->uf_scg_next_cuenta_nivel($ls_nextCuenta); $ls_mensaje = $ls_mensaje . ' CUENTA ' . $ls_nextCuenta . ' - NIVEL ' . $li_nivel . ' - REFERENCIA ' . $ls_referencia . '\\n'; $lb_valido = $int_scg->uf_scg_insert_cuenta($ls_codemp, $ls_nextCuenta, $ls_denominacionant, 'S', $li_nivel, $ls_referencia, ''); } if ($int_scg->uf_scg_obtener_nivel($ls_nextCuenta) == 0) { break; } $ls_nextCuenta = $int_scg->uf_scg_next_cuenta_nivel($ls_nextCuenta); if ($ls_nextCuenta != "") { $li_nivel = $int_scg->uf_scg_obtener_nivel($ls_nextCuenta); } } while ($li_nivel >= 1 && $lb_valido && $ls_nextCuenta != ""); $rs_data->MoveNext(); } } if ($lb_valido) { ///////////////////////////////// SEGURIDAD ///////////////////////////// $ls_evento = "PROCESS"; $ls_descripcion = "Reproceso el plan de cuentas Contable"; $lb_valido = $this->io_seguridad->uf_sss_insert_eventos_ventana($aa_seguridad["empresa"], $aa_seguridad["sistema"], $ls_evento, $aa_seguridad["logusr"], $aa_seguridad["ventanas"], $ls_descripcion); ///////////////////////////////// SEGURIDAD ///////////////////////////// } if ($lb_valido) { $this->io_sql->commit(); } else { $this->io_sql->rollback(); } if ($ls_mensaje != "") { $ls_mensaje = ' SE INSERTARON LAS SIGUIENTES CUENTAS CONTABLES \\n\\n ' . $ls_mensaje; $this->io_message->message($ls_mensaje); } else { $ls_mensaje = ' EL PLAN DE CUENTAS ESTA CORRECTO \\n\\n ' . $ls_mensaje; $this->io_message->message($ls_mensaje); } return $lb_valido; }