function setFinalizar($ForzarSumas = false) { //Forzar Sumas S/N $ajuste = 0; $msg = ""; $xT = new cTipos(); $this->mTotalCargos = $xT->cFloat($this->mTotalCargos, 2); $this->mTotalAbonos = $xT->cFloat($this->mTotalAbonos, 2); if (setNoMenorQueCero($this->mTotalAbonos + $this->mTotalAbonos) <= 0) { $msg .= "ELIMINAR\tPOLIZA SIN MOVIMIENTOS\r\n"; $this->setDeletePoliza(); } else { if ($this->mTotalCargos > $this->mTotalAbonos) { $ajuste = $this->mTotalCargos - $this->mTotalAbonos; $this->addMovimiento(CUENTA_DE_CUADRE, 0, $ajuste, "Ajuste {$ajuste}"); $msg .= "CUADRE\tABONO\tSe Ajustan los Abonos por {$ajuste}\r\n"; } elseif ($this->mTotalCargos < $this->mTotalAbonos) { $ajuste = $this->mTotalAbonos - $this->mTotalCargos; $this->addMovimiento(CUENTA_DE_CUADRE, $ajuste, 0, "Ajuste {$ajuste}"); $msg .= "CUADRE\tCARGO\tSe ajustan los Cargos por {$ajuste}\r\n"; } $totalCargos = $this->mTotalCargos; $totalAbonos = $this->mTotalAbonos; if ($this->mReestructurarEfvo == true) { //reestructurar la poliza //obtener el listado de cambio de afectacion por suma //agregar una cuenta global por sum //eliminar las otras cuentas //$arrEfvo; //FIXME: Componer $xCEfvo = new cCuentaContable(CUENTA_CONTABLE_EFECTIVO); $ExtraM = $xCEfvo->getMayor(); $sqlRF = "SELECT\n\t\t\t\t\t\t\t\t\t\t`contable_movimientos`.`numerocuenta` AS `NCuenta`,\n\t\t\t\t\t\t\t\t\t\t`contable_movimientos`.`tipomovimiento` AS `TMvto`,\n\t\t\t\t\t\t\t\t\t\tSUM(`contable_movimientos`.`importe`) AS `TImporte`,\n\t\t\t\t\t\t\t\t\t\tMAX(`contable_movimientos`.`fecha`) AS `FechaM`,\n\t\t\t\t\t\t\t\t\t\tSUM(`contable_movimientos`.`cargo`) AS `cargos`,\n\t\t\t\t\t\t\t\t\t\tSUM(`contable_movimientos`.`abono`) AS `abonos`\n\t\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t\t`contable_movimientos` `contable_movimientos` \n\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`ejercicio` = " . $this->mEjercicioPoliza . ") \n\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`periodo` = " . $this->mPeriodoPoliza . ") \n\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`tipopoliza` =" . $this->mTipoDePoliza . ") \n\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`numeropoliza` =" . $this->mNumeroDePoliza . ")\n\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`numerocuenta` LIKE \"{$ExtraM}%\")\n\t\t\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t\t\t`contable_movimientos`.`numerocuenta`,\n\t\t\t\t\t\t\t\t\t\t`contable_movimientos`.`tipomovimiento` "; //$msg .= "$sqlRF\r\n"; $rsNV = mysql_query($sqlRF, cnnGeneral()); while ($r1 = mysql_fetch_array($rsNV)) { $mCuenta = $r1["NCuenta"]; $mTMvto = $r1["TMvto"]; $mTMonto = $r1["TImporte"]; $mFecha = $r1["FechaM"]; $mCargos = $r1["cargos"]; $mAbonos = $r1["abonos"]; $sqlDM = "DELETE FROM `contable_movimientos` WHERE\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`ejercicio` = " . $this->mEjercicioPoliza . ") \n\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`periodo` = " . $this->mPeriodoPoliza . ") \n\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`tipopoliza` =" . $this->mTipoDePoliza . ") \n\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`numeropoliza` =" . $this->mNumeroDePoliza . ")\n\t\t\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t\t\t(`contable_movimientos`.`numerocuenta` = {$mCuenta} ) AND `contable_movimientos`.`tipomovimiento` = {$mTMvto} "; my_query($sqlDM); //$msg .= "$sqlDM\r\n"; $msg .= $this->addMovimiento($mCuenta, $mCargos, $mAbonos, "", "RST"); } } $arrUp = array("cargos" => $totalCargos, "abonos" => $totalAbonos); $msg .= $this->setUpdatePoliza($arrUp); } $this->mMessages .= $msg; return $msg; }