function jsaGetIngresosMensualesPorDependencias($fecha)
{
    $xD = new cFecha();
    $fecha = $xD->getFechaISO($fecha);
    $fi = $xD->getDiaInicial();
    $ff = $xD->getDiaFinal();
    $sql = new cSQLListas();
    $xT = new cTabla($sql->getBasesPorFechasPorDependencia($fi, $ff, 2002));
    $xT->setKeyField($sql->getClave());
    $xT->setPrepareChart();
    $xT->setFootSum(false);
    return $xT->Show("Reporte de Ingresos Mensuales por Empresas", true, "tingresos");
}
 function getIDEPagado($socio, $fecha = false)
 {
     if ($fecha == false) {
         $fecha = fechasys();
     }
     $xF = new cFecha(0, $fecha);
     $dia_inicial = $xF->getDiaInicial();
     $dia_final = $xF->getDiaFinal();
     $mvto_ide = 235;
     $idePagado = 0;
     if (!isset($this->mIDEPagado) or $this->mIDEPagado <= 0) {
         $sqlIDE = "SELECT\r\n\t\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion`,\r\n\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\r\n\t\t\t\t\t\tCOUNT(`operaciones_mvtos`.`idoperaciones_mvtos`) AS 'numero',\r\n\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto',\r\n\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion`\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\r\n\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t(`operaciones_mvtos`.`tipo_operacion` = {$mvto_ide})\r\n\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t(`operaciones_mvtos`.`socio_afectado` =" . $socio . ")\r\n\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_operacion` >='{$dia_inicial}')\r\n\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t(`operaciones_mvtos`.`fecha_operacion` <='{$dia_final}')\r\n\t\t\t\t\tGROUP BY\r\n\t\t\t\t\t\t`operaciones_mvtos`.`tipo_operacion`,\r\n\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`";
         $MD = obten_filas($sqlIDE);
         $idePagado = $MD["monto"];
         if (!isset($idePagado)) {
             $idePagado = 0;
         }
         $this->mIDEPagado = $idePagado;
         unset($MD);
     }
     return $this->mIDEPagado;
 }
$xRec->setGenerarPoliza();
$xRec->setForceUpdateSaldos();
$idrecibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, $fechaop, 1, 12, "CIERRE_DE_COLOCACION_{$fechaop}", DEFAULT_CHEQUE, DEFAULT_TIPO_PAGO, DEFAULT_RECIBO_FISCAL, DEFAULT_GRUPO);
$xRec->setNumeroDeRecibo($idrecibo);
$messages .= "=======================================================================================\r\n";
$messages .= "=========================\t\t" . EACP_NAME . " \r\n";
$messages .= "=========================\t\t" . getSucursal() . " \r\n";
$messages .= "=======================================================================================\r\n";
$messages .= "=========================\t\tINICIANDO EL CIERRE DE COLOCACION ====================\r\n";
$messages .= "=========================\t\tRECIBO: {$idrecibo}\t\t\t\t   ====================\r\n";
//reconstruir db de pagos
$ql->setRawQuery("CALL `proc_historial_de_pagos` ");
$xCUtils = new cUtileriasParaCreditos();
$messages .= $xCUtils->setEstatusDeCreditos($idrecibo, $fechaop, false, true);
if (date("Y-m-t", strtotime($fechaop)) == date("Y-m-d", strtotime($fechaop))) {
    $messages .= $xCUtils->setGenerarMvtoFinDeMes($xF->getDiaInicial(), $xF->getDiaFinal());
}
if (CREDITO_CIERRE_FORZAR_DEVENGADOS == true) {
    $messages .= $xCUtils->setReestructurarSDPM_Planes(true, false, false, false, $xF->getDiaInicial(), false);
    $messages .= $xCUtils->setReestructurarSDPM(true, false, false, false, false, $xF->getDiaInicial(), false);
    $messages .= $xCUtils->setRegenerarInteresDevengado(false, $xF->get(), $xF->get());
}
$messages .= $xCUtils->setAcumularIntereses();
$xRec->setFinalizarRecibo(true);
$xLog->setWrite($messages);
$xLog->setClose();
if (ENVIAR_MAIL_LOGS == true) {
    $xLog->setSendToMail("TR.Eventos del Cierre del colocacion");
}
if ($parser != false) {
    header("Location: ./cierre_de_captacion.frm.php?s=true&k=" . $key . "&f={$fechaop}");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Inicio se semana==" . $xF->getFechaDeInicioDeSemana() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Inicio se nombre semana==" . $xF->getDayName($xF->getFechaDeInicioDeSemana()) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Dias del Mes==" . $xF->getDiasDelMes() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, En Fecha Corta==" . $xF->getFechaCorta() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha Larga==" . $xF->getFechaLarga() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, En Fecha Mediana==" . $xF->getFechaMediana() . "</p>");
//$xHFrm->addHElem(  );
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha Operativa Maxima==" . $xF->getFechaMaximaOperativa() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, El Mes Anterior==" . $xF->getFechaMesAnterior() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, dos meses atras==" . $xF->getFechaMesAnterior(false, 2) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}  - 30 Dias==" . $xF->setRestarDias(30) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}  + 30 Dias==" . $xF->setSumarDias(30) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}  + 2 meses==" . $xF->setSumarMeses(2) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}  - 2 meses==" . $xF->setRestarMeses(2) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Nombre del Dia==" . $xF->getDayName() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Dia Inicial del mes==" . $xF->getDiaInicial() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Obtener Dia Habil==" . $xF->getDiaHabil() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Dias desde el 31Dic2013==" . $xF->setRestarFechas($xF->get(), "2013-12-31") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Buscar Sabado(D6) para el dia de hoy==" . $xF->getDiaAbonoSemanal(6) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Buscar NOMBRE Sabado(D6) para el dia de hoy==" . $xF->getDayName($xF->getDiaAbonoSemanal(6)) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-02") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-11") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-18") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-20") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-24") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-29") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Fecha de Pago Decenal 1==" . $xF->getDiaAbonoDecenal(10, 20, 30, "2014-03-31") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Obtener dias Loborales en el mes==" . $xF->getDiasHabilesEnRango("2014-03-31", "2014-03-01") . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, Obtener entero del mes==" . $xF->getInt(fechasys()) . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, DIAS CORRIENTES DE MES" . $xF->getDiasCorrientesDeMes() . "</p>");
$xHFrm->addHElem("<p class='aviso'>La {$miFecha}, sumar  7 dias time stamp 84600==" . $xF->getFechaByInt($xF->getInt(fechasys()) + (7 + 1) * 84600) . "</p>");
 function getGenerarBaseGravadaMensualIDE($fecha = false)
 {
     if ($fecha == false) {
         $fecha = fechasys();
     }
     $msg = "";
     $msg .= "============== GENERANDO EL MOVIMIENTO DE BASE GRAVABLE DEL IDE\t==========\r\n";
     $msg .= "============== FECHA: {$fecha}                                    ==========\r\n";
     $xF = new cFecha(0, $fecha);
     $dia_inicial = $xF->getDiaInicial();
     $dia_final = $xF->getDiaFinal();
     $sqlGravados = "SELECT\n\t\t\t\t\t\t\t\t`operaciones_mvtos`.`socio_afectado`,\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_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` ";
     //$msg		.= "$sqlGravados\r\n";
     //Agregar Recibo
     $xRec = new cReciboDeOperacion(10);
     //$xRec->setGenerarPoliza();
     $xRec->setForceUpdateSaldos();
     $idrecibo = $xRec->setNuevoRecibo(1, 1, $fecha, 1, 10, "BASE_REMANENTE_GRAVABLE_AL_IDE", "NA", "ninguno", "NA", DEFAULT_GRUPO);
     $xRec->setNumeroDeRecibo($idrecibo);
     $rs = getRecordset($sqlGravados);
     while ($rw = mysql_fetch_array($rs)) {
         $socio = $rw["socio_afectado"];
         $excencion = EXCENCION_IDE;
         $base_gravada = setNoMenorQueCero($rw["monto"] - $excencion);
         if ($base_gravada > 0) {
             $xRec->setNuevoMvto($dia_final, $base_gravada, 9302, 1, "", 1, false, $socio, 1);
         }
     }
     $xRec->setFinalizarRecibo();
     $msg .= $xRec->getMessages("txt");
     return $msg;
 }
//---------------- Valuar Tipo de Cuenta ----------------
$tipo_cuentas = parametro("tipo", SYS_TODAS, MQL_RAW);
$nivel_cuentas = parametro("nivel", SYS_TODAS, MQL_RAW);
$incluir_cuentas = parametro("estado", SYS_TODAS, MQL_RAW);
$ByCuentas = "";
$ByCuentasSaldos = "";
if ($cuenta_inicial > 0 and $cuenta_final > 0) {
    $xCtaInit = new cCuentaContableEsquema($cuenta_inicial);
    $cuenta_inicial = $xCtaInit->CUENTA;
    $ByCuentas .= " AND (`contable_catalogo`.`numero`>={$cuenta_inicial}) ";
    $xCtaFin = new cCuentaContableEsquema($cuenta_final);
    $cuenta_final = $xCtaFin->CUENTA;
    $ByCuentas .= " AND (`contable_catalogo`.`numero`<={$cuenta_final}) ";
    $ByCuentasSaldos = "  AND (`contable_movimientos`.`numerocuenta` >= {$cuenta_inicial}) AND  (`contable_movimientos`.`numerocuenta` <= {$cuenta_final}) ";
}
$FechaInicial = $xF->getDiaInicial("{$ejercicio}-{$periodo}-01");
$FechaFinal = $xF->getDiaFinal("{$ejercicio}-{$periodo}-01");
$xRPT = new cReportes($xHP->getTitle());
$xRPT->addContent($xRPT->getEncabezado($xHP->getTitle(), $FechaInicial, $FechaFinal));
$InitRecords = parametro("init", 0, MQL_INT);
$xRPT->addCSSFiles("../css/flags.css");
$xRPT->setOut($out);
//=================================================================================================================
//$xRPT->setToPagination($InitRecords);
/**
 * Paginacion
 * I.- Parte
 */
$rowLimit = 1500;
//4Paginas aprox
//marca el Final de los Registros
$persona = parametro("persona", DEFAULT_SOCIO, MQL_INT);
$persona = parametro("socio", $persona, MQL_INT);
$persona = parametro("idsocio", $persona, MQL_INT);
$FechaInicial = parametro("on", false);
$FechaInicial = parametro("fecha-0", $FechaInicial);
$FechaInicial = $FechaInicial == false ? FECHA_INICIO_OPERACIONES_SISTEMA : $xF->getFechaISO($FechaInicial);
$FechaFinal = parametro("off", false);
$FechaFinal = parametro("fecha-1", $FechaFinal);
$FechaFinal = $FechaFinal == false ? fechasys() : $xF->getFechaISO($FechaFinal);
$jsEvent = $out != OUT_EXCEL ? "initComponents()" : "";
$senders = getEmails($_REQUEST);
$xSoc = new cSocio($persona);
$xSoc->init();
$idnucleo = $xSoc->getIDNucleoDeRiesgo();
$xF->set($FechaFinal);
$FechaInicial = $xF->getDiaInicial();
$sql = "\r\nSELECT\r\n    `personas_relaciones_recursivas`.`persona`     AS `persona`,\r\n    \r\n    `personas_relaciones_recursivas`.`relacion`     AS `relacion`,\r\n\tCONCAT(`socios_general`.`nombrecompleto`,' ',\r\n\t`socios_general`.`apellidopaterno`, ' ',\r\n\t`socios_general`.`apellidomaterno`) AS  `nombre_de_relacion`,\r\n\t    \r\n    `personas_relaciones_recursivas`.`nivel`,\r\n    `operaciones_recibos`.`idusuario`                    AS `usuario`,\r\n    `usuarios`.`nombrecompleto` AS 'nombre_de_usuario',\r\n    \r\n     `operaciones_recibos`.`fecha_operacion`    AS `fecha`,\r\n    COUNT(`operaciones_recibos`.`idoperaciones_recibos`) AS `operaciones`,\r\n    SUM(`operaciones_recibos`.`total_operacion`) AS `monto`\r\n\t\r\n\r\nFROM\r\n\t`personas_relaciones_recursivas` `personas_relaciones_recursivas` \r\n\t\tINNER JOIN `socios_general` `socios_general` \r\n\t\tON `personas_relaciones_recursivas`.`relacion` = `socios_general`.\r\n\t\t`codigo` \r\n\t\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos` \r\n\t\t\tON `operaciones_recibos`.`numero_socio` = \r\n\t\t\t`personas_relaciones_recursivas`.`persona` \r\n\t\t\t\tINNER JOIN `usuarios` `usuarios` \r\n\t\t\t\tON `operaciones_recibos`.`idusuario` = `usuarios`.`idusuarios` \r\nWHERE\r\n    (`operaciones_recibos`.`origen_aml` >0)\r\n\tAND (`personas_relaciones_recursivas`.`persona` = {$idnucleo})\r\n\tAND (`operaciones_recibos`.`fecha_operacion` >='{$FechaInicial}')\r\n    GROUP BY\r\n        `personas_relaciones_recursivas`.`persona`,\r\n        `operaciones_recibos`.`idusuario`,\r\n        `operaciones_recibos`.`fecha_operacion`,\r\n        `personas_relaciones_recursivas`.`relacion`\r\n\t\t\t\t\r\n\t\t";
$titulo = "";
$archivo = "";
$xRPT = new cReportes($titulo);
$xRPT->setFile($archivo);
$xRPT->setOut($out);
$xRPT->setSQL($sql);
$xRPT->setTitle($xHP->getTitle());
//============ Reporte
$xSoc2 = new cSocio($idnucleo);
$xSoc2->init();
$xT = new cTabla($sql, 2);
$xT->setTipoSalida($out);
//$xT->setFootSum(array( 4 => "monto", 9 => "unidades", 10 => "equivalencia"));
$body = $xRPT->getEncabezado($xHP->getTitle(), $FechaInicial, $FechaFinal);
 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 onLoad="javascript:window.print();">
<?php 
echo $head_pagina;
?>
<span class="Estilo1">

<p class="bigtitle">ESTADO DE CUENTA DE CREDITOS CON TODAS SUS OPERACIONES</p>
<hr>
<?php 
//rptedoctacredito.php?pb=2005228&f18=yes&f19=999&f50=20052&on=1998-1-16&off=2012-1-16
$idsolicitud = $_GET["solicitud"];
$ids = $_GET["pb"];
$TipoOp = isset($_GET["f19"]) ? $_GET["f19"] : "todas";
$FechaFinal = isset($_GET["off"]) ? $_GET["off"] : fechasys();
$xF = new cFecha(0, $FechaFinal);
$FechaInicial = isset($_GET["on"]) ? $_GET["on"] : $xF->getDiaInicial();
$ByTipo = $TipoOp == "todas" ? "" : " AND (`operaciones_mvtos`.`tipo_operacion` = {$TipoOp}) ";
if (!$idsolicitud) {
    $idsolicitud = $ids;
    //exit($msg_rpt_exit);
}
if (!$idsolicitud && !$ids) {
    exit($msg_rpt_exit);
}
// datos de la solicitud
$xCred = new cCredito($idsolicitud);
$xCred->init();
echo $xCred->getFichaDeSocio();
echo $xCred->getFicha();
echo "<hr />";
$sqlmvto = "SELECT\n\t`operaciones_mvtos`.`fecha_operacion`       AS `fecha`,\n\t`operaciones_mvtos`.`recibo_afectado`       AS `recibo`,\n\t`operaciones_recibos`.`tipo_pago`           AS `tipo_de_pago`,\n\t`operaciones_recibos`.`recibo_fiscal`       AS `recibo_fiscal`,\n\n\t`operaciones_mvtos`.`periodo_socio`         AS `parcialidad`,\n\t`operaciones_tipos`.`descripcion_operacion` AS `operacion`,\n\t`operaciones_mvtos`.`afectacion_real`       AS `monto`,\n\n\t`operaciones_mvtos`.`detalles`              AS `observaciones`\nFROM\n\t`operaciones_mvtos` `operaciones_mvtos` \n\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos` \n\t\tON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`.\n\t\t`idoperaciones_recibos` \n\t\t\tINNER JOIN `operaciones_tipos` `operaciones_tipos` \n\t\t\tON `operaciones_mvtos`.`tipo_operacion` = `operaciones_tipos`.\n\t\t\t`idoperaciones_tipos` \nWHERE\n\t(`operaciones_mvtos`.`docto_afectado` ={$idsolicitud}) \n\tAND\n\t(\n\t(`operaciones_mvtos`.`fecha_operacion` >='{$FechaInicial}')\n\tAND\n\t(`operaciones_mvtos`.`fecha_operacion`<='{$FechaFinal}' )\n\t)\n\t{$ByTipo}\nORDER BY\n\t`operaciones_mvtos`.`fecha_operacion`,\n\t`operaciones_tipos`.`descripcion_operacion` ";
 function addFechaInicial($fecha = false)
 {
     $xF = new cFecha(0, $fecha);
     $this->mOFRM->ODate("idfechainicial", $xF->getDiaInicial(), "TR.Fecha Inicial");
 }
include_once "../core/core.error.inc.php";
include_once "../core/core.html.inc.php";
include_once "../core/core.init.inc.php";
include_once "../core/core.db.inc.php";
$theFile = __FILE__;
$permiso = getSIPAKALPermissions($theFile);
if ($permiso === false) {
    header("location:../404.php?i=999");
}
$_SESSION["current_file"] = addslashes($theFile);
//=====================================================================================================
$xHP = new cHPage("TR.REPORTE DE MOVIMIENTOS DE AUXILIARES", HP_REPORT);
$xL = new cSQLListas();
$xF = new cFecha();
$ql = new MQL();
$fecha_inicial = parametro("on", $xF->getDiaInicial(), MQL_DATE);
$fecha_final = parametro("off", $xF->getDiaFinal(), MQL_DATE);
$cuenta_inicial = parametro("for", 0, MQL_INT);
$cuenta_final = parametro("to", 0, MQL_INT);
$out = parametro("out", SYS_DEFAULT, MQL_RAW);
//---------------- Valuar Tipo de Cuenta ----------------
$tipo_cuentas = parametro("tipo", SYS_TODAS, MQL_RAW);
$nivel_cuentas = parametro("nivel", SYS_TODAS, MQL_RAW);
$incluir_cuentas = parametro("estado", SYS_TODAS, MQL_RAW);
$netoCargoRpt = 0;
$netoAbonoRpt = 0;
$ByCuentas = "";
$xRPT = new cReportes($xHP->getTitle());
$xRPT->addContent($xRPT->getEncabezado($xHP->getTitle(), $fecha_inicial, $fecha_final));
$InitRecords = parametro("init", 0, MQL_INT);
$xRPT->setOut($out);
 function setProcesarProgramacion($id, $arrVars = false, $data = false, $fecha = false)
 {
     $xF = new cFecha();
     $xT = new cTipos();
     $xLog = new cCoreLog();
     $arrVars = $arrVars == false ? $this->mArrVars : $arrVars;
     //idprograma, nombre_del_aviso, forma_de_creacion, programacion, destinatarios, microformato, tipo_de_medios, intent_check, intent_command
     $sql = "SELECT *\tFROM sistema_programacion_de_avisos WHERE idprograma={$id} LIMIT 0,1";
     $d = $data == false ? obten_filas($sql) : $data;
     $mOb = new cSistema_programacion_de_avisos();
     $mOb->setData($d);
     $emails = array();
     $tels = array();
     $enviar = false;
     $fecha = $fecha == false ? fechasys() : $fecha;
     $nombredia = $xF->getDayName();
     $diadelmes = date("j", $xF->getInt());
     $EnviarNota = true;
     $EnviarMail = true;
     $EnviarSMS = false;
     $xLoc = new cLocal();
     //procesar cuerpo del contenido
     $arrVars["fecha"] = !isset($arrVars["fecha"]) ? $fecha : $arrVars["fecha"];
     $arrVars["fecha_dia_siguiente"] = $xF->setSumarDias(1, $fecha);
     $arrVars["fecha_inicio_de_semana"] = $xF->getFechaDeInicioDeSemana($fecha);
     $arrVars["fecha_inicio_de_mes"] = $xF->getDiaInicial($fecha);
     //Dia de la semana inicial
     $arrVars["hora"] = date("H");
     $arrVars["usuario"] = $xLoc->getNombreUsuario();
     $arrVars["clave_de_usuario"] = !isset($arrVars["clave_de_usuario"]) ? getUsuarioActual() : $arrVars["clave_de_usuario"];
     //interpretar DIA
     if (strtoupper($mOb->forma_de_creacion()->v()) == SYS_ALERTA_POR_EVENTO) {
         $enviar = true;
     } else {
         //if($mOb->programacion())
         $programacion = strtoupper($mOb->programacion()->v());
         $periodo = explode(":", $programacion);
         //INTERPRETAR DIA
         if ($periodo[0] == "PROGRAMACION_SEMANAL") {
             if (strpos($nombredia, $programacion) !== false) {
                 $enviar = true;
             }
         } else {
             if ($periodo[0] == "PROGRAMACION_DIARIA") {
                 $enviar = true;
             } else {
                 if (isset($periodo[1])) {
                     $dias = explode(",", $periodo[1]);
                     foreach ($dias as $dias => $iddia) {
                         $mes = $xF->mes();
                         $anno = $xF->anno();
                         if (date("Y-m-d", strtotime("{$anno}-{$mes}-{$iddia}")) == $fecha) {
                             $enviar = true;
                         }
                     }
                 }
             }
         }
     }
     //1.- extraer emails
     $destinatarios = explode("|", $mOb->destinatarios()->v());
     foreach ($destinatarios as $key => $cnt) {
         if (trim($cnt) != "") {
             //1.1 Desfragmentar destinos
             $DS = explode(":", $cnt);
             $mdestino = isset($DS[0]) ? strtoupper($DS[0]) : "";
             switch ($mdestino) {
                 case "OFICIALES":
                     if (isset($DS[1])) {
                         $oficiales = explode(",", $DS[1]);
                         foreach ($oficiales as $ofc => $ofkey) {
                             $xOf = new cOficial($ofkey);
                             $xOf->init();
                             $mail = $xOf->getEmail();
                             $emails[] = $mail;
                             $xLog->add("OK\tOFICIAL\tAgregar mail {$mail}  \r\n", $xLog->DEVELOPER);
                         }
                     }
                     break;
                 case "EMPRESAS":
                     if (isset($DS[1])) {
                         $empresas = explode(",", $DS[1]);
                         foreach ($empresas as $emp => $empkey) {
                             $xEmp = new cEmpresas($empkey);
                             $xEmp->init();
                             //$mail		= $xEmp->getEmailsDeEnvio();
                             //$emails[]	= $mail;
                             $emails = array_merge($emails, $xEmp->getEmailsDeEnvio());
                             $xLog->add("OK\tEMPRESAS\tAgregar mail de la empresa {$empkey}  \r\n", $xLog->DEVELOPER);
                         }
                     }
                     break;
                 case "PERSONAS":
                     if (isset($DS[1])) {
                         $personas = explode(",", $DS[1]);
                         foreach ($personas as $ofc => $ofkey) {
                             $xSoc = new cSocio($ofkey);
                             $xSoc->init();
                             $mail = $xSoc->getCorreoElectronico();
                             $emails[] = $mail;
                             $xLog->add("OK\tPERSONA\tAgregar mail {$mail}  \r\n", $xLog->DEVELOPER);
                             if ($xT->cNumeroTelefonico($xSoc->getTelefonoPrincipal()) != false) {
                                 $EnviarSMS = true;
                                 $tels[] = $xT->cNumeroTelefonico($xSoc->getTelefonoPrincipal());
                             }
                         }
                     }
                     break;
                 case "CORREO":
                     if (isset($DS[1])) {
                         $personas = explode(",", $DS[1]);
                         foreach ($personas as $ofc => $ofkey) {
                             if (filter_var($ofkey, FILTER_VALIDATE_EMAIL)) {
                                 $emails[] = $ofkey;
                             }
                             $xLog->add("OK\tCORREO\tAgregar mail {$ofkey}  \r\n", $xLog->DEVELOPER);
                         }
                     }
                     break;
             }
             //1.1.1 Validar oficiales, empresas, personas
             //if(strpos("OFICIALES:", $needle))
         }
     }
     $this->mMessages .= $xLog->getMessages();
     $texto = $mOb->microformato()->v();
     foreach ($arrVars as $variable => $valor) {
         $texto = str_replace("{" . $variable . "}", $valor, $texto);
     }
     if ($enviar == true) {
         $url = $mOb->intent_command()->v(OUT_TXT);
         //2 procesado del comando
         if (trim($url) == "") {
             $titulo = strtoupper($mOb->nombre_del_aviso()->v());
             $xNot = new cNotificaciones();
             //enviar mail normal
             if ($EnviarSMS == true) {
                 foreach ($tels as $pitm => $ptel) {
                     $xNot->sendSMS($ptel, $texto);
                 }
             }
             if ($EnviarMail == true) {
                 foreach ($emails as $itm => $pmail) {
                     $xNot->sendMail($titulo, $texto, $pmail);
                 }
             }
         } else {
             //execute command
             //rpttesoreria/corte_de_caja.rpt.php?on=2014-5-3&off=2014-5-3&cajero=todas&dependencia=todas
             $smail = "";
             $xHO = new cHObject();
             foreach ($arrVars as $variable => $valor) {
                 $url = str_replace("{" . $variable . "}", $valor, $url);
             }
             foreach ($emails as $id => $rmail) {
                 //$smail	.= ($smail == "") ? "email$id=$rmail" : "&email$id=$rmail";
                 $smail .= "&email{$id}={$rmail}";
             }
             //Iniciar session en contexto &on=$fecha&off=$fecha
             $xSysUser = new cSystemUser();
             $xSysUser->init();
             $url = $url . $smail . "&ctx=" . $xSysUser->getCTX();
             if (MODO_DEBUG == true) {
                 setLog($url);
             }
             $xHO->navigate($url);
         }
     } else {
         $this->mMessages .= "OK\tNo e envia el reporte\r\n";
     }
     setLog($this->mMessages);
     $this->mObProgAv = $mOb;
     //return $this->mObProgAv;
 }