function getIDExPagar($socio, $fecha = false, $monto = 0)
 {
     if ($fecha == false) {
         $fecha = fechasys();
     }
     //$xF		= new cFecha(0, $fecha);
     $mes = date("m", strtotime($fecha));
     $anno = date("Y", strtotime($fecha));
     $dia_inicial = date("Y-m-", strtotime($fecha)) . "01";
     $dia_final = date("Y-m-t", strtotime($fecha));
     $sqlGravados = "SELECT\r\n\t\t\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto'\r\n\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\r\n\t\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos`\r\n\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`.\r\n\t\t\t\t\t\t\t\t\t`idoperaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros`\r\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\r\n\t\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` =\r\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`miembro`\r\n\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` >='{$dia_inicial}')\r\n\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` <='{$dia_final}')\r\n\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2600)\r\n\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`socio_afectado` = " . $socio . " )\r\n\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = 'efectivo' )\r\n\t\t\t\t\t\tGROUP BY\r\n\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\r\n\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\r\n\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago` ";
     $DGrav = obten_filas($sqlGravados);
     /**
      * Obtiene la formula IDE
      */
     $base_gravada = 0;
     $base_de_calculo = $DGrav["monto"] + $monto;
     $tasa_ide = TASA_IDE;
     $excencion = EXCENCION_IDE;
     $ide = 0;
     $cFormulaIDE = new cFormula("formula_ide");
     $ide_pagado = $this->getIDEPagado($socio, $fecha);
     $this->mIDEPagado = $ide_pagado;
     if ($base_de_calculo > EXCENCION_IDE) {
         eval($cFormulaIDE->getFormula());
         $this->mIDECalculado = $ide;
         $this->mBaseGravadaIDE = $base_gravada;
     } else {
         $this->mMessages .= "NO_IDE\tA la Fecha {$fecha}, no hay IDE por que el Monto Exento(" . EXCENCION_IDE . ") es Mayor a la Base de Calculo {$base_de_calculo} \r\n";
     }
     /**
      * Disminuir el IDE Retenido
      */
     $this->mIDEPendiente = $ide - $ide_pagado;
     $this->mMessages .= "INF_IDE\tEl IDE es de {$ide}, IDE Pagado de {$ide_pagado}, IDE por pagar " . $this->mIDEPendiente . ", Base de Calculo {$base_de_calculo}\r\n";
     return $this->mIDEPendiente;
 }
 //--------------------------------- END ELIMINACION
 if (date("Y-m-d", strtotime($fecha_primer_abono)) <= date("Y-m-d", strtotime($fecha_ministracion))) {
     $msgAlertas .= "ERROR\tLA FECHA DEL PRIMER ABONO({$fecha_primer_abono}) NO PUEDE SER LA MISMA O MENOR QUE LA FECHA DE MINISTRACION({$fecha_ministracion})\r\n";
     $sucess = false;
 }
 //----------------------------------  ELIMINAR EL PLAN DE PAGOS ANTERIOR
 $xPlan = new cPlanDePagos();
 if ($xCred->getNumeroDePlanDePagos() != false) {
     $xPlan->init($xCred->getNumeroDePlanDePagos());
     $xPlan->setEliminar();
 }
 if (MODO_CORRECION == true) {
     //my_query("DELETE FROM operaciones_mvtos WHERE socio_afectado=$socio AND docto_afectado=$solicitud AND (tipo_operacion=410 OR tipo_operacion=412 OR tipo_operacion=413)");
 }
 if ($sucess == true) {
     $FInteres_normal = new cFormula("interes_normal");
     $factor_interes = $xPlan->getFactorIVA($iva_incluido);
     $DatosDePagos = array();
     if ($xCred->initPagosEfectuados() == true) {
         $DatosDePagos = $xCred->getListadoDePagos();
     }
     //=========================== Corrige el Monto extra de bonificaciones ================================================================
     $bonificaciones = 0;
     $xB = new cBases(7022);
     //base son bonificaciones
     $xB->init();
     if ($xB->getIsMember($tipo_monto_extra) == true) {
         $msg .= "{$socio}\t{$solicitud}\tLa operacion {$tipo_monto_extra} es de Bonificaciones\r\n";
         $bonificaciones = round($monto_extra / $PAGOS_AUTORIZADOS, 2);
         $monto_extra = 0;
     }
 function getParcialidadPresumida()
 {
     $FInteres_normal = new cFormula("interes_normal");
     switch ($FormaDePago) {
         case CREDITO_TIPO_PAGO_INTERES_COMERCIAL:
             $parcialidad_presumida = $saldo_insoluto * ($tasa_interes * $factor_interes) * $PERIOCIDAD_DE_PAGO / EACP_DIAS_INTERES;
             $msgC .= "{$socio}\t{$solicitud}\tINTERES COMERCIAL : Interes = {$parcialidad_presumida}\r\n";
             break;
         case CREDITO_TIPO_PAGO_INTERES_PERIODICO:
             break;
         case CREDITO_TIPO_PAGO_PERIODICO:
             for ($simulaciones = 1; $simulaciones <= 10; $simulaciones++) {
                 $sumar_dias = 0;
                 for ($i = 1; $i <= $PAGOS_AUTORIZADOS; $i++) {
                     $saldo_inicial = $i == 1 ? $monto_autorizado : $saldo_final;
                     $fecha_de_referencia = $i == 1 ? $fecha_primer_abono : $fecha_de_pago;
                     $xPlanGen->setPagosAutorizados($PAGOS_AUTORIZADOS);
                     $xPlanGen->setDiasDeAbonoFijo($dia_1_ab, $dia_2_ab, $dia_3_ab);
                     $xPlanGen->setTipoDePlanDePago($tipo_de_plan);
                     $xPlanGen->setPeriocidadDePago($PERIOCIDAD_DE_PAGO);
                     $fecha_de_pago = $xPlanGen->getFechaDePago($fecha_de_referencia, $i);
                     // ------------------------------------ Obtiene la Fecha de Pago ----------------------------------------------
                     $dias_normales = $i == 1 ? restarfechas($fecha_de_pago, $fecha_ministracion) : restarfechas($fecha_de_pago, $fecha_de_referencia);
                     if (PLAN_DE_PAGOS_PLANO == true) {
                         $dias_normales = $PERIOCIDAD_DE_PAGO;
                     }
                     $saldo_insoluto = $saldo_inicial;
                     eval($FInteres_normal->getFormula());
                     if ($PlanMalo == true) {
                         $interes_normal = $saldo_insoluto * ($tasa_interes / 12);
                     }
                     $interes_simulado = PLAN_DE_PAGOS_SIN_REDONDEO == true ? $interes_normal : round($interes_normal, 2);
                     $iva_simulado = PLAN_DE_PAGOS_SIN_REDONDEO == true ? $interes_normal * $tasa_iva : round($interes_normal * $tasa_iva, 2);
                     $parcialidad_simulada = $parcialidad_presumida - ($interes_simulado + $iva_simulado);
                     // + $parcialidad_cargo + $parcialidad_ahorro));
                     $saldo_final = $saldo_inicial - $parcialidad_simulada;
                     $sumar_dias += $dias_normales;
                     if (MODO_DEBUG == true) {
                         $msg .= $i == 1 ? "PERSONA\tCREDITO\t[SIMULACION/DE]\tINTERES\tIVA\tCAPITAL\tFI\tFF\r\n" : "";
                         $msg .= "{$socio}\t{$solicitud}\t[{$simulaciones}/{$i}]\t{$interes_simulado}\t{$iva_simulado}\t{$parcialidad_simulada}\t{$fecha_de_referencia}\t{$fecha_de_pago}\r\n";
                     }
                     $xPlanGen->setSaldoInicial($saldo_inicial);
                     $xPlanGen->setSaldoFinal($saldo_final);
                     if ($i == $PAGOS_AUTORIZADOS) {
                         $desviacion_simulada = $saldo_final != 0 ? $saldo_final / $PAGOS_AUTORIZADOS : 0;
                         //echo "<p class='aviso'>$desviacion_simulada	= ($saldo_final != 0) ? ($saldo_final / $PAGOS_AUTORIZADOS)</p>";
                         //Verificar db ser años que dura en credito
                         if ($sumar_dias > 367) {
                             $factor_annios = $sumar_dias / 365;
                             $desviacion_simulada = $desviacion_simulada / $factor_annios;
                             $msg .= "DIVIDIR ANIOS {$factor_annios} por {$desviacion_simulada}\r\n";
                         }
                         $desviacion_simulada = PLAN_DE_PAGOS_SIN_REDONDEO == true ? $desviacion_simulada : round($desviacion_simulada, 2);
                         $parcialidad_presumida += $desviacion_simulada;
                         $msg .= "{$socio}\t{$solicitud}\t[{$simulaciones}/{$i}]\tLa Parcialidad Presumida es {$parcialidad_presumida} por {$desviacion_simulada} Desviados, Saldo Final {$saldo_final} en dias {$sumar_dias}\r\n";
                     }
                 }
             }
             break;
     }
 }
 function getIDExPagarByPeriodo($fecha = false, $monto = 0, $tipodepago = "efectivo")
 {
     $fecha = $fecha == false ? fechasys() : $fecha;
     $xF = new cFecha(0, $fecha);
     $mes = $xF->mes();
     $anno = $xF->anno();
     $dia_inicial = $xF->getDiaInicial();
     $dia_final = $xF->getDiaFinal();
     $monto = $tipodepago != "efectivo" ? 0 : $monto;
     $xT = new cTipos();
     $monto = 0;
     if (CAPTACION_IMPUESTOS_A_DEPOSITOS_ACTIVO == true) {
         $sqlGravados = "SELECT\n\t\t\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos`\n\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`.\n\t\t\t\t\t\t\t\t\t`idoperaciones_recibos`\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` =\n\t\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`miembro`\n\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` >='{$dia_inicial}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_afectacion` <='{$dia_final}')\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2600)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`socio_afectado` = " . $this->mCodigo . " )\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = 'efectivo' )\n\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\n\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago` ";
         $DGrav = obten_filas($sqlGravados);
         /**
          * Obtiene la formula IDE
          */
         $base_gravada = isset($DGrav["monto"]) ? $DGrav["monto"] : 0;
         $base_de_calculo = $base_gravada + $monto;
         $base_gravada = $base_de_calculo;
         $this->mMessages .= "WARN\tINF_IDE\tLa Base Gravada Registrada es {$base_gravada}, y el Monto de Referencia es {$monto}\r\n";
         $tasa_ide = TASA_IDE;
         $excencion = EXCENCION_IDE;
         $this->mMessages .= "WARN\tINF_IDE\tLa Tasa de IDE es {$tasa_ide}, y la Excencion es de {$excencion}\r\n";
         $ide = 0;
         $cFormulaIDE = new cFormula("formula_ide");
         $ide_pagado = $this->getIDEPagadoByPeriodo($fecha);
         $this->mIDEPagado = $ide_pagado;
         if ($base_de_calculo > EXCENCION_IDE) {
             eval($cFormulaIDE->getFormula());
             $this->mIDECalculado = $xT->cFloat($ide, 2);
             $this->mBaseGravadaIDE = $xT->cFloat($base_gravada, 2);
             $this->mMessages .= "WARN\tINF_IDE\tA la Fecha {$fecha}, La Base de Calculo es " . $this->mBaseGravadaIDE . ", el IDE Pagado es " . $this->mIDEPagado . " y el IDE Calculado es " . $this->mIDECalculado . "\r\n";
         } else {
             $this->mMessages .= "OK\tNO_IDE\tA la Fecha {$fecha}, no hay IDE por que el Monto Exento(" . EXCENCION_IDE . ") es Mayor a la Base de Calculo {$base_de_calculo} \r\n";
         }
         /**
          * Disminuir el IDE Retenido
          */
         $this->mIDEPendiente = $ide - $ide_pagado;
         $this->mMessages .= "WARN\tINF_IDE\tEl IDE es de {$ide}, IDE Pagado de {$ide_pagado}, IDE por pagar " . $this->mIDEPendiente . ", Base de Calculo {$base_de_calculo}\r\n";
         $this->mIDEAsSet = true;
         $monto = $this->mIDEPendiente;
     }
     return $monto;
 }
</body>
<script  >
var jsTmpFile 	= "../js/socios.common.js.php";
var jsDivChar	= '<?php 
echo STD_LITERAL_DIVISOR;
?>
';
function setScoreReference(varID){
	<?php 
//Obtiene el Maximo de ScoreTiempo
$SqlMaxTime = "SELECT max(valor_calificacion_por_referencia) AS 'score'\n\t\t\t\t\t\tFROM socios_tiempo";
$mxTime = mifila($SqlMaxTime, "score");
?>
	var ScoreNeto		= 0;
	var ScoreTiempo		= document.getElementById("idScoreTiempo" + varID).value;
	var ScoreOpinion	= document.getElementById("idScoreOpinion" + varID).value;
	var maxScoreTiempo	= Number(<?php 
echo $mxTime;
?>
);
	<?php 
$mForm = new cFormula("score_reference");
echo $mForm->getFormula();
?>
	//alert(ScoreNeto);
	var Params	= varID + jsDivChar + ScoreNeto;
		jsrsExecute(jsTmpFile, msgbox,'Common_97de3870795ecc1247287ab941d9719b', Params);
}
</script>
</html>