$ds_prorep->updateRow("enero",$ld_div_asig,$i); $ds_prorep->updateRow("febrero",$ld_div_asig,$i); $ds_prorep->updateRow("marzo",$ld_div_asig,$i); $ds_prorep->updateRow("abril",$ld_div_asig,$i); $ds_prorep->updateRow("mayo",$ld_div_asig,$i); $ds_prorep->updateRow("junio",$ld_div_asig,$i); $ds_prorep->updateRow("julio",$ld_div_asig,$i); $ds_prorep->updateRow("agosto",$ld_div_asig,$i); $ds_prorep->updateRow("septiembre",$ld_div_asig,$i); $ds_prorep->updateRow("octubre",$ld_div_asig,$i); $ds_prorep->updateRow("noviembre",$ld_div_asig,$i); $ds_prorep->updateRow("diciembre",$ld_diciembre,$i); $ds_prorep->updateRow("modrep",$ls_modrep,$i); $ds_prorep->updateRow("distribuir",$ls_distribuir,$i); $ls_next_cta = $int_scg->uf_scg_next_cuenta_nivel($ls_cuenta); $li_nivel_cta= $int_scg->uf_scg_obtener_nivel($ls_next_cta);//Obtiene nivel de la cta $li_totrows=$ds_prorep->getRowCount("sc_cuenta"); $ls_cta_ceros = $int_scg->uf_scg_sin_ceros($ls_cuenta); $ld_total_asignado=0; $ld_total_asig=0; $ld_total_diciembre=0; while($li_nivel_cta>1 && !empty($ls_next_cta)) { $ld_total_asignado=0; $ld_total_asig=0; $ld_total_diciembre=0; $ls_cta_aux=$ls_next_cta; $ls_cta_ceros = $int_scg->uf_scg_sin_ceros($ls_next_cta); $pos=$ds_prorep->find("sc_cuenta",$ls_next_cta);
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; }