function jsaAmortizarLetras($persona, $credito, $letra, $amortizable) { $NLetra = $letra + 1; $xCred = new cCredito($credito); $xCred->init(); if ($xCred->isAFinalDePlazo() == false) { $xPlan = new cPlanDePagos(); $xPlan->initByCredito($credito); $msg = ""; $DPlan = $xPlan->getLetrasInArray(OPERACION_CLAVE_PLAN_CAPITAL, $NLetra); $amortizable = setNoMenorQueCero($amortizable); for ($ixletra = $NLetra; $ixletra <= $xCred->getPagosAutorizados(); $ixletra++) { if (isset($DPlan[$ixletra])) { $monto = setNoMenorQueCero($DPlan[$ixletra]); if ($amortizable > 0) { if ($amortizable >= $monto) { //cancelar $xPlan->setNeutralizarParcialidad($ixletra); } else { $xPlan->setActualizarParcialidad($ixletra, $monto - $amortizable, false, false); } } $msg .= "WARN\t {$ixletra} --- {$amortizable} {$monto};\r\n"; $amortizable -= $monto; } } $msg .= $xPlan->getMessages(); if (MODO_DEBUG == true) { setLog($msg); } } }
function setCreditoPagado($fecha = false) { $fecha = $fecha == false ? fechasys() : $fecha; //efectuar las operaciones de cierre de credito if ($this->getPeriocidadDePago() == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) { $idPlan = $this->getNumeroDePlanDePagos(); if (isset($idPlan) and $idPlan > 1) { $xPlan = new cPlanDePagos($idPlan); $xPlan->setEliminar(); $this->mMessages .= $xPlan->getMessages(); } } $this->setUpdate(array("saldo_conciliado" => 0, "saldo_actual" => 0, "saldo_vencido" => 0, "fecha_conciliada" => $fecha, "fecha_revision" => $fecha, "ultimo_periodo_afectado" => $this->getPagosAutorizados(), "sdo_int_ant" => 0, "fecha_ultimo_mvto" => $fecha)); }
$capital = $xT->cFloat($cont[5], 2); $total_parcial = $xT->cFloat($cont[6], 2); $saldo_inicial = $xT->cFloat($cont[2], 2); $saldo_final = $xT->cFloat($cont[7], 2); $xPlan->setMontoOperado($total_parcial); $xPlan->setSaldoInicial($saldo_inicial); $xPlan->setSaldoFinal($saldo_final); $xPlan->addMvtoDeInteres($interes, $fecha, $periodo); $xPlan->addMvtoDeIVA($fecha, $periodo); $xPlan->addMvtoDeCapital($capital, $fecha, $periodo); } else { $msg .= "WARN\tLINEA OMITIDA\r\n"; } } $msg .= $xCred->getMessages(); $msg .= $xPlan->getMessages(); $mObj = $xPlan->getObjRec(); if ($mObj != null) { $mObj->setFinalizarRecibo(true); $msg .= $mObj->getMessages(OUT_TXT); } } $msg .= $xFil->getMessages(); if (MODO_DEBUG == true) { $xFl = new cFileLog(); $xFl->setWrite($msg); $xFl->setClose(); $xFRM->addHTML($xFl->getLinkDownload("archivo de eventos")); } else { echo JS_CLOSE; }