$fecha_inicial = $xF->getFechaISO($fecha_inicial);
}
//http://localhost/rptotros/rpt_mvtos_x_tipo_segun_fechas.php
//estado=todas
//out=default
//empresa=todas
//convenio=todas
//tipodepago=transferenci
//usuario=todas
$BySucursal = $sucursal == SYS_TODAS ? "" : "  AND operaciones_mvtos.sucursal = '{$sucursal}'  ";
$xmlFile = "report73.nomina";
$ByPersona = $persona == SYS_NINGUNO ? "" : " AND operaciones_mvtos.socio_afectado={$persona} ";
$ByOperacion = $operacion == SYS_TODAS ? "" : " AND `operaciones_mvtos`.`tipo_operacion` = {$operacion} ";
$ByPago = $forma_de_pago == SYS_TODAS ? "" : " AND operaciones_recibos.tipo_pago ='{$forma_de_pago}' ";
$tipo = $operacion;
if ($ByOperacion != "") {
    $cMov = new cOperaciones_tipos();
    $cMov->setData($cMov->query()->initByID($tipo));
    $tipo = $cMov->descripcion_operacion()->v();
}
$setSql = " SELECT\n\t\t\t\toperaciones_mvtos.sucursal,\n\t\t\t\toperaciones_recibos.tipo_pago \t\t\t\tAS 'tipo_de_pago',\n\t\t\t\toperaciones_mvtos.socio_afectado \t\t\tAS 'numero_de_socio',\n\t\t\t\t\n\t\t\t\t`socios`.`nombre` AS `nombre_completo`,\n\t\t\t\t`socios`.`alias_dependencia` AS `empresa`,\n\t\t\t\t\n\t\t\t\toperaciones_tipos.descripcion_operacion \tAS 'tipo_de_operacion',\n\t\t\t\toperaciones_mvtos.fecha_afectacion \t\t\tAS 'fecha',\n\t\t\t\t`operaciones_mvtos`.`idoperaciones_mvtos`\tAS `operacion`,\n\t\t\t\t`operaciones_mvtos`.`recibo_afectado`   \tAS `recibo`,\n\t\t\t\t`operaciones_recibos`.`recibo_fiscal`   \tAS `fiscal`,\n\t\t\t\toperaciones_mvtos.docto_afectado \t\t\tAS 'documento',\n\t\t\t\toperaciones_mvtos.afectacion_real\t\t\tAS 'monto',\n\t\t\t\toperaciones_mvtos.detalles \t\t\t\t\tAS 'observaciones'\n\t\t\t\tFROM\n\t\t\t\t`operaciones_mvtos` `operaciones_mvtos` \n\t\t\t\t\tINNER JOIN `operaciones_tipos` `operaciones_tipos` \n\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` = `operaciones_tipos`.\n\t\t\t\t\t`idoperaciones_tipos` \n\t\t\t\t\t\tINNER JOIN `socios` `socios` \n\t\t\t\t\t\tON `socios`.`codigo` = `operaciones_mvtos`.`socio_afectado` \n\t\t\t\t\t\t\tINNER JOIN `operaciones_recibos` `operaciones_recibos` \n\t\t\t\t\t\t\tON `operaciones_mvtos`.`recibo_afectado` = `operaciones_recibos`\n\t\t\t\t\t\t\t.`idoperaciones_recibos`\n\t\t\t\t\t\t\n\t\t\t\tWHERE\n\t\t\t\toperaciones_mvtos.fecha_afectacion>='{$fecha_inicial}'\n\t\t\t\tAND\n\t\t\t\toperaciones_mvtos.fecha_afectacion<='{$fecha_final}'\n\t\t\t\t\t{$ByPersona}\n\t\t\t\t\t{$BySucursal}\n\t\t\t\t\t{$ByOperacion}\n\t\t\t\t\t{$ByPago}\n\t\t\tORDER BY\n\t\t\t\t`operaciones_mvtos`.`sucursal`,\n\t\t\t\t`operaciones_recibos`.`fecha_operacion`,\n\t\t\t\t`operaciones_recibos`.`idoperaciones_recibos`,\n\t\t\t\t`operaciones_mvtos`.`idoperaciones_mvtos` ";
//exit($setSql);
$xRPT = new cReportes("TR.Reporte de operaciones - {$tipo}");
$output = $output == SYS_DEFAULT ? OUT_RXML : $output;
$xRPT->setOut($output);
$xRPT->setSenders($senders);
$body = $xRPT->getEncabezado("", $fecha_inicial, $fecha_final);
$xRPT->setBodyMail($body);
$xRPT->setFile($xmlFile);
$xRPT->setSQL($setSql);
$xRPT->render(true);
$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();
$xRPT->setSenders($senders);
	`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);