function addTipoDeOperacion($base = false, $base2 = false)
 {
     $base = setNoMenorQueCero($base);
     if ($base > 0) {
         $xHSel = new cHSelect();
         $xSel = $xHSel->getListaDeOperacionesPorBase($base, "idtipo_de_operacion", $base2);
     } else {
         $xTb = new cOperaciones_tipos();
         $xSel = new cSelect("idtipo_de_operacion", "idtipo_de_operacion", $xTb->get());
     }
     $xSel->addEspOption(SYS_TODAS);
     $xSel->setOptionSelect(SYS_TODAS);
     $this->mJsVars .= "var idtipo_de_operacion\t= \$('#idtipo_de_operacion').val();\r\n";
     $this->mURL .= " + \"&operacion=\" + idtipo_de_operacion ";
     $v = $xSel->get("TR.Tipo de Operacion", true);
     //TODO. Agregar indentificadores de tipo de operacion
     $this->mStruct .= $v;
 }
    $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);
include_once "../core/go.login.inc.php";
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.Tipo de Operaciones", HP_GRID);
$xF = new cFecha();
$tipo = parametro("tipo", SYS_TODAS);
$xTabla = new cOperaciones_tipos();
$aGridSQL[SYS_TODAS] = "idoperaciones_tipos,descripcion_operacion,clasificacion,subclasificacion,cuenta_contable,descripcion,recibo_que_afecta,tipo_operacion,visible_reporte,class_efectivo,mvto_que_afecta,afectacion_en_recibo,afectacion_en_notificacion,producto_aplicable,constituye_fondo_automatico,integra_vencido,afectacion_en_sdpm,cargo_directo,codigo_de_valoracion,periocidad_afectada,integra_parcialidad,es_estadistico,formula_de_calculo,formula_de_cancelacion,importancia_de_neutralizacion,preservar_movimiento,tasa_iva,nombre_corto,estatus";
$aGridSQL["GENERAL"] = "idoperaciones_tipos,descripcion_operacion,clasificacion,subclasificacion,descripcion,tasa_iva,nombre_corto,estatus";
$aGridSQL["CLASE"] = "idoperaciones_tipos,descripcion_operacion,clasificacion,subclasificacion,recibo_que_afecta,tipo_operacion,visible_reporte,class_efectivo,mvto_que_afecta,afectacion_en_recibo,afectacion_en_notificacion,producto_aplicable,constituye_fondo_automatico,integra_vencido,afectacion_en_sdpm,cargo_directo,periocidad_afectada,integra_parcialidad,es_estadistico";
$aGridSQL["FORMULAS"] = "idoperaciones_tipos,descripcion_operacion,formula_de_calculo,formula_de_cancelacion,importancia_de_neutralizacion,preservar_movimiento";
$aGridSQL["CONTABLE"] = "idoperaciones_tipos,descripcion_operacion,cuenta_contable";
$xHP->setNoDefaultCSS();
echo $xHP->getHeader(true);
//HTML Object END
echo '<body onmouseup="SetMouseDown(false);" ><div id="onGrid">';
// Define your grid
$_SESSION["grid"]->SetDatabaseConnection(MY_DB_IN, USR_DB, PWD_DB);
//Propiedades del GRID
$mGridTitulo = $xHP->getTitle();
$mGridKeyField = $xTabla->getKey();
//Nombre del Campo Unico