$out = parametro("out", SYS_DEFAULT);
$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);
$xODat = new cPersonasCatalogoOtrosDatos();
$sql = "SELECT\r\n\t`socios`.`codigo`,\r\n\t`socios`.`nombre`,\r\n\t`socios_otros_parametros`.`clave_del_parametro` \r\nFROM\r\n\t`socios_otros_parametros` `socios_otros_parametros` \r\n\t\tINNER JOIN `socios` `socios` \r\n\t\tON `socios_otros_parametros`.`clave_de_persona` = `socios`.`codigo` \r\nWHERE\r\n\t(`socios_otros_parametros`.`clave_del_parametro` ='" . $xODat->AML_PEP_PRINCIPAL . "')\r\n\t\t\tOR\r\n\t(`socios_otros_parametros`.`clave_del_parametro` ='" . $xODat->AML_PEP_AFINIDAD . "')\t\t\t\r\n\tOR\r\n(`socios_otros_parametros`.`clave_del_parametro` ='" . $xODat->AML_PEP_CONSANGUINIDAD . "')\t\t\t\r\n\t\tOR\r\n(`socios_otros_parametros`.`clave_del_parametro` ='" . $xODat->AML_PEP_VINCULO_ECONOM . "')\t";
$titulo = "";
$archivo = "";
$xRPT = new cReportes($titulo);
$xRPT->setFile($archivo);
$xRPT->setOut($out);
$xRPT->setSQL($sql);
$xRPT->setTitle($xHP->getTitle());
//============ Reporte
$xT = new cTabla($sql, 1);
$xT->setTipoSalida($out);
$body = $xRPT->getEncabezado($xHP->getTitle(), $FechaInicial, $FechaFinal);
$xRPT->setBodyMail($body);
$xRPT->addContent($body);
//$xT->setEventKey("jsGoPanel");
//$xT->setKeyField("creditos_solicitud");
$xRPT->addContent($xT->Show());
//============ Agregar HTML
//$xRPT->addContent( $xHP->init($jsEvent) );
//$xRPT->addContent( $xHP->end() );
$xRPT->setResponse();
        //header("Content-type: text/x-csv");
        header("Content-type: text/plain");
        //header("Content-type: application/csv");
        header("Content-Disposition: attachment; filename={$archivo}");
        echo $rpt;
        if ($definitivo == true) {
            //Guardar
            $sqlUpdate = " UPDATE `aml_risk_register` SET `estado_de_envio` = 1, `fecha_de_envio`= " . $xF->getInt() . "\n\t\t\tWHERE (SELECT `tipo_de_riesgo` FROM `aml_risk_catalog` WHERE\n\t\t\t(`clave_de_control`= `aml_risk_register`.`tipo_de_riesgo`= " . AML_CLAVE_OPERACIONES_INTERNAS . "\n\t\t\t\tOR\n\t\t\t`clave_de_control`= `aml_risk_register`.`tipo_de_riesgo`= " . AML_CLAVE_OPERACIONES_INUSUALES . ")\n\t\t\tAND (getFechaByInt(`aml_risk_register`.`fecha_de_reporte`) <='{$FechaFinal}')\n\t\t\tAND (`aml_risk_register`.`estado_de_envio` =0)\n\t\t\tAND (`aml_risk_register`.`reporte_inmediato` =1)\t\t\t\n\t\t\t";
            $query->setRawQuery($sqlUpdate);
            //enviar por mail al administrador
            $xMail = new cNotificaciones();
            $xMail->sendMail($archivo, $rpt, ADMIN_MAIL);
        }
    } else {
        $xRPT = new cReportes();
        $xRPT->setOut(OUT_HTML);
        $xRPT->addContent($xRPT->getHInicial($xHP->getTitle(), $FechaInicial, $FechaFinal));
        $arrTitulos = array();
        foreach ($Estructura as $indice => $propiedades) {
            $xCampo = new cReportes_LayoutTipos($propiedades);
            $arrTitulos[] = $xCampo->getNombre();
        }
        $xHTable->addTitles($arrTitulos);
        if ($msg != "") {
            $xRPT->addFooterBar("<h3>El reporte contiene los siguientes errores</h3>" . $msg);
        }
        $xRPT->addContent($xHTable->get());
        $xRPT->setToPrint();
        echo $xRPT->render(true);
    }
}
         //$xTbl->addTD($adr);
         $xTbl->addRaw("<tr><td colspan='3'><h1>" . $xLng->getT("TR.Direcciones") . "<h1><hr />{$adr}</td></tr>");
         //$xTbl->endRow()
         $xFld = new cHFieldset($flTitle);
         $xFld->addHElem($xTbl->get());
         $txtLst .= $xFld->get();
     }
 }
 if ($getPDF == true) {
     //base64_encode($sql)
     $xFMT = new cFormato(8801);
     $xFMT->setProcesarVars(array("variable_listado_de_cedulas" => $txtLst, "variable_item_buscado" => "{$nombre} / {$apaterno} / {$amaterno}", "variable_cadena_consulta" => ""));
     $xRPT = new cReportes($xHP->getTitle());
     $xRPT->getEncabezado($xHP->getTitle());
     if ($ret == true) {
         $xRPT->setOut(OUT_HTML);
         $xRPT->setFile("ofacs_list_");
         $xRPT->addContent($xFMT->get());
         $xRPT->render(true);
         $dompdf = new DOMPDF();
         $dompdf->load_html($xRPT->render(true));
         $dompdf->set_paper("letter", "portrait");
         $dompdf->render();
         $json["pdf"] = base64_encode($dompdf->output());
     } else {
         $xRPT->setSenders($mails);
         $xRPT->setOut(OUT_PDF);
         $xRPT->setFile("ofacs_list_");
         $xRPT->addContent($xFMT->get());
         $xRPT->render(true);
     }
	`creditos_solicitud`.`fuente_de_fondeo`,
	`creditos_solicitud`.`fecha_de_primer_pago`,
	COUNT(`operaciones_mvtos`.`tipo_operacion`) AS `operaciones`,
	MAX(`operaciones_mvtos`.`fecha_afectacion`) AS `fecha`,
	SUM(
	IF(`operaciones_mvtos`.`tipo_operacion` = 120,	`operaciones_mvtos`.`afectacion_real`, 0	)
	)  AS `abonos`
FROM
	`operaciones_mvtos` `operaciones_mvtos` 
		RIGHT OUTER JOIN `creditos_solicitud` `creditos_solicitud` 
		ON `operaciones_mvtos`.`docto_afectado` = `creditos_solicitud`.
		`numero_solicitud` 
			INNER JOIN `operaciones_recibos` `operaciones_recibos` 
			ON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`.
			`idoperaciones_recibos` */
$sql = "\nSELECT\n\t`creditos_solicitud`.`numero_solicitud`                  AS `contrato`,\n\t`creditos_tipoconvenio`.`descripcion_tipoconvenio`       AS `producto`,\n\t`socios`.`codigo`                                        AS `persona`,\n\t`socios`.`nombre`                                        AS `nombre`,\n\t`socios`.`alias_dependencia`                             AS `empresa`,\n\t`creditos_solicitud`.`monto_autorizado`                  AS `monto_original`\n\t,\n\t`creditos_solicitud`.`plazo_en_dias`,\n\t`creditos_solicitud`.`fecha_ministracion`                AS \n\t`fecha_de_desembolso`,\n\t`creditos_solicitud`.`tasa_interes`                      AS \n\t`tasa_de_interes`,\n\t`creditos_solicitud`.`pagos_autorizados`                 AS \n\t`numero_de_pagos`,\n\tIF(`creditos_solicitud`.`periocidad_de_pago` = " . CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO . ", 0,`creditos_solicitud`.`monto_parcialidad`)                 AS \n\t`monto_de_amortizacion`,\n\t'?' AS `tipo`,\n\t`creditos_solicitud`.`fecha_de_primer_pago`,\n\t`creditos_periocidadpagos`.`descripcion_periocidadpagos` AS `frecuencia`,\n\t`creditos_solicitud`.`ultimo_periodo_afectado`           AS \n\t`ultima_parcialidad` ,\n\tCOUNT(`operaciones_mvtos`.`tipo_operacion`) AS `operaciones`,\n\tMAX(`operaciones_mvtos`.`fecha_afectacion`) AS `fecha`,\n\tSUM(\n\tIF(`operaciones_mvtos`.`tipo_operacion` = 120,\t`operaciones_mvtos`.`afectacion_real`, 0\t)\n\t)  AS `abonos`,\n\t(`creditos_solicitud`.`monto_autorizado`  - \tSUM(\n\tIF(`operaciones_mvtos`.`tipo_operacion` = 120,\t`operaciones_mvtos`.`afectacion_real`, 0\t)\n\t)) AS 'saldo',\n\t`creditos_solicitud`.`saldo_actual` AS 'saldo_sistema'  \nFROM\n\t`creditos_solicitud` `creditos_solicitud` \n\t\tINNER JOIN `creditos_periocidadpagos` `creditos_periocidadpagos` \n\t\tON `creditos_solicitud`.`periocidad_de_pago` = \n\t\t`creditos_periocidadpagos`.`idcreditos_periocidadpagos` \n\t\t\tINNER JOIN `creditos_tipoconvenio` `creditos_tipoconvenio` \n\t\t\tON `creditos_solicitud`.`tipo_convenio` = `creditos_tipoconvenio`.\n\t\t\t`idcreditos_tipoconvenio` \n\t\t\t\tINNER JOIN `socios` `socios` \n\t\t\t\tON `creditos_solicitud`.`numero_socio` = `socios`.`codigo` \n\t\t\t\t\tRIGHT OUTER JOIN `operaciones_mvtos` `operaciones_mvtos` \n\t\t\t\t\tON `operaciones_mvtos`.`docto_afectado` = \n\t\t\t\t\t`creditos_solicitud`.`numero_solicitud`\n\t\t\t\nWHERE\n\t(\n\t(`operaciones_mvtos`.`tipo_operacion` =120) \n\tOR\n\t(`operaciones_mvtos`.`tipo_operacion` =110))\n\tAND\n\t(`operaciones_mvtos`.`fecha_afectacion` <= '{$fechaFinal}') \n\t{$ByProducto} {$BySucursal}\nGROUP BY\n\t`operaciones_mvtos`.`docto_afectado`\n\t\nHAVING saldo > 0\n\nORDER BY `creditos_solicitud`.`fecha_ministracion`\n \n";
//$sql				= "CALL sp_saldos_al_cierre('$fechaFinal')";
//exit($sql);
$xTbl = new cTabla($sql);
$xTbl->setFootSum(array(5 => "monto_original", 17 => "abonos", 18 => "saldo"));
/*$xTbl->setFootSum(array(
	3 => "monto_autorizado",
		52 => "abonos",
		53 => "saldo"
));*/
$xRPT->setSQL($xTbl->getSQL());
$xTbl->setTipoSalida($formato);
$xRPT->setOut($formato);
$xRPT->addContent($xTbl->Show());
//$xRPT->setResponse();
echo $xRPT->render(true);