function getListenPermissions($iMenu)
{
    $sql = "SELECT\n\t\t\t\tmenu_rules\n\t\t\tFROM\n\t\t\t\t`general_menu` `general_menu`\n\t\t\tWHERE idgeneral_menu='{$iMenu}' LIMIT 0,1";
    $Itbl = obten_filas($sql);
    $sPerms = $Itbl["menu_rules"];
    $aPerms = explode(",", $sPerms);
    //Array de Tipos de Permisos
    $aTipoPerms = array(0 => "false", 1 => "rw", 2 => "ro");
    $options = "";
    $sqlP = "SELECT\n\t\t\t\t`general_niveles`.`idgeneral_niveles`,\n\t\t\t\t`general_niveles`.`descripcion_del_nivel` \n\t\t\tFROM\n\t\t\t\t`general_niveles` `general_niveles` WHERE idgeneral_niveles != 99 ";
    $rs = getRecordset($sqlP);
    $xHSel = new cHSelect();
    $xHSel->addOptions(array("" => "Ninguno", "ro" => "Solo Puede Ver", "rw" => "Todo"));
    while ($rw = mysql_fetch_array($rs)) {
        $nivel = $rw["idgeneral_niveles"];
        $desc = $rw["descripcion_del_nivel"];
        $tds = "";
        $selOp = "";
        foreach ($aTipoPerms as $key => $value) {
            if (in_array("{$nivel}@{$value}", $aPerms)) {
                $selOp = $value;
            }
        }
        $xHSel->setDivClass("tx1");
        $mNivel = $xHSel->get("idNiv{$nivel}", "{$desc}", $selOp);
        $options .= $mNivel;
    }
    return $options;
}
 function setGenerarRecibosGlobales()
 {
     //funcion que genera un recibo por dia y asigna operaciones huerfanas al dicho recibo
     $sql = "SELECT COUNT(idoperaciones_mvtos) AS 'mvtos',\r\n\t\t\t\t\tfecha_operacion\r\n\t\t\t\t\tFROM operaciones_mvtos \r\n\t\t\t\t\tWHERE (SELECT COUNT(idoperaciones_recibos) FROM operaciones_recibos \r\n\t\t\t\t\t\t\tWHERE idoperaciones_recibos = operaciones_mvtos.recibo_afectado) = 0\r\n\t\t\t\t\tGROUP BY fecha_operacion";
     $rs = getRecordset($sql);
     $msg = "UTILERIA DE CORRECION DE MVTOS HUERFANOS\r\n";
     while ($rw = mysql_fetch_array($rs)) {
         //generar el recibo
         $fecha_operacion = $rw["fecha_operacion"];
         $mvtos = $rw["mvtos"];
         $cadena = "Documento de Ajuste por {$mvtos} Movimientos Huerfanos";
         $recibo = setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, $fecha_operacion, 1, 10, $cadena, DEFAULT_CHEQUE, DEFAULT_TIPO_PAGO, DEFAULT_RECIBO_FISCAL, DEFAULT_GRUPO);
         $sqlU = "UPDATE operaciones_mvtos SET recibo_afectado={$recibo} WHERE \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(SELECT COUNT(idoperaciones_recibos) FROM operaciones_recibos \r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE idoperaciones_recibos = operaciones_mvtos.recibo_afectado) = 0 \r\n\t\t\t\t\t\t\t\t\tAND fecha_operacion='{$fecha_operacion}' ";
         //actualizar el mvto
         $xT = my_query($sqlU);
         if ($xT["stat"] == true) {
             $msg .= "{$fecha_operacion}\t{$recibo}\t{$mvtos} Movimentos Actualizados\r\n";
         } else {
             $msg .= "{$fecha_operacion}\t{$recibo}\tERROR EN LA ACTUALIZACION\r\n";
         }
     }
     return $msg;
 }
    header("location:../404.php?i=999");
}
$_SESSION["current_file"] = addslashes($theFile);
//<=====	FIN_H
$iduser = $_SESSION["log_id"];
//=====================================================================================================
include_once "../core/entidad.datos.php";
include_once "../core/core.deprecated.inc.php";
include_once "../core/core.fechas.inc.php";
include_once "../core/core.config.inc.php";
include_once "../core/core.common.inc.php";
include_once "../libs/medoo.min.php";
header("Content-type: text/xml");
$txt = "";
$nombre = isset($_GET["nombre"]) ? trim($_GET["nombre"]) : "";
$ByNombre = $nombre != "" ? " AND nombrecompleto LIKE '%{$nombre}%' " : "";
$estado = substr(DEFAULT_NOMBRE_ESTADO, 0, 3);
$sqllike = "SELECT *\n\tFROM\n\t\t`general_colonias`\n\tWHERE\n\t\t`nombre_colonia` LIKE '%" . $nombre . "%'\n\t\tAND estado_colonia LIKE '%" . $estado . "%'\n\tORDER BY\n\t\t`nombre_colonia`\n\tLIMIT 0,20 ";
$rs = getRecordset($sqllike);
//$socios	= new medoo(MY_DB_IN);
//$data		= $suc->select(, "*");
while ($rw = mysql_fetch_array($rs)) {
    $txt .= "<colonia codigo=\"" . $rw["codigo_postal"] . "\" id=\"" . $rw["idgeneral_colonia"] . "\" >";
    $txt .= "<![CDATA[";
    $txt .= htmlentities($rw["nombre_colonia"]);
    //$txt	.= " " . $rw["nombre_colonia"];
    $txt .= "-" . htmlentities($rw["municipio_colonia"]) . "," . htmlentities($rw["estado_colonia"]);
    $txt .= "]]>";
    $txt .= "</colonia>\n";
}
echo "<?xml version =\"1.0\" ?>\n<result>\n" . $txt . "</result>";
 function setPolizaPorCajero($cajero, $FechaDeCorte, $NumeroDePoliza = false, $TipoDePoliza = 1, $TipoDePago = "efectivo", $generador = false)
 {
     $sucess = true;
     $msg = "=======\tGENERAR POLIZA POR USUARIO NUM {$cajero}\r\n";
     //if (GENERAR_CONTABILIDAD == true){
     //($generador == GENERAR_POLIZAS_AL_CIERRE) AND
     if (isset($cajero)) {
         $xUsr = new cOficial($cajero);
         $DUsr = $xUsr->getDatos();
         $UsrName = $DUsr["nombres"] . " " . $DUsr["apellidopaterno"];
         $tipo_de_poliza = $TipoDePoliza;
         $xD = new cFecha(0, $FechaDeCorte);
         $fecha_de_poliza = $FechaDeCorte;
         $ejercicio_de_poliza = $xD->anno();
         $periodo_de_poliza = $xD->mes();
         $numero_de_poliza = $NumeroDePoliza == false ? false : $NumeroDePoliza;
         $concepto_poliza = "{$UsrName}.-Movimientos del Corte de Fecha {$FechaDeCorte}";
         //Obten datos de la Poliza
         $sqlRec = "SELECT\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.*,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.`tipo_poliza_generada`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.`afectacion_en_flujo_efvo`\r\n\t\t\t\t\t\t\t\tFROM\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos` `operaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t\tINNER JOIN `operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`\r\n\t\t\t\t\t\t\t\t\t\tON `operaciones_recibos`.`tipo_docto` =\r\n\t\t\t\t\t\t\t\t\t\t`operaciones_recibostipo`.\r\n\t\t\t\t\t\t\t\t\t\t`idoperaciones_recibostipo`\r\n\t\t\t\t\t\t\t\tWHERE\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`idusuario` = {$cajero} )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`fecha_operacion` = '{$FechaDeCorte}' )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibostipo`.`tipo_poliza_generada` = {$TipoDePoliza} )\r\n\t\t\t\t\t\t\t\t\tAND\r\n\t\t\t\t\t\t\t\t\t(`operaciones_recibos`.`tipo_pago` = '{$TipoDePago}' )\r\n\t\t\t\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`tipo_pago`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`idusuario`,\r\n\t\t\t\t\t\t\t\t\t`operaciones_recibos`.`idoperaciones_recibos`\r\n\t\t\t\t\t\t\t\t\t";
         //$msg		.= "$sqlRec\r\n";
         $rsP = getRecordset($sqlRec);
         //Obtener el la Ultima Poliza Registrada
         //------------------ Agregar Poliza
         $xPol = new cPoliza($tipo_de_poliza, $numero_de_poliza, $ejercicio_de_poliza, $periodo_de_poliza);
         if ($numero_de_poliza != false and $xPol->getCountPolizaByNumero($numero_de_poliza) > 1) {
             $xPol->setDeletePoliza();
         }
         $msg .= $xPol->add($concepto_poliza, $fecha_de_poliza, $numero_de_poliza, 0, 0, $cajero);
         $numero_de_poliza = $xPol->get();
         $msg .= "=====\tPOLIZA NUM: {$numero_de_poliza} | TIPO: {$tipo_de_poliza} | EJERCICIO: {$ejercicio_de_poliza} | PERIODO: {$periodo_de_poliza}\r\n";
         $sucess = $xPol->mRaiseError == true ? false : true;
         //seleccionar todos los recibos
         while ($rwP = mysql_fetch_array($rsP)) {
             $dRec = $rwP;
             $numero_de_recibo = $dRec["idoperaciones_recibos"];
             $recibo_fiscal = strlen($dRec["recibo_fiscal"]) > 2 ? ";RF:" . trim($dRec["recibo_fiscal"]) : "";
             $observacion_recibo = $dRec["observacion_recibo"];
             $flujo_efectivo = $dRec["afectacion_en_flujo_efvo"];
             $cheque = strlen($dRec["cheque_afectador"]) > 2 ? ";Ch:" . $dRec["cheque_afectador"] : "";
             $socio = $dRec["numero_socio"];
             $concepto_mvto = substr("R:" . $numero_de_recibo . $recibo_fiscal . $cheque . ";" . $dRec["observacion_recibo"], 0, 80);
             $msg .= "{$numero_de_recibo}\tRECIBO TIPO: " . $dRec["tipo_docto"] . " SUMA: " . $dRec["total_operacion"] . " \r\n";
             //regenera el perfil contable
             //if ( $Regenerar == true ){
             $xUCont = new cUtileriasParaContabilidad();
             $msg .= $xUCont->setRegenerarPrepolizaContable($dRec["fecha_operacion"], $numero_de_recibo);
             //}
             //------------------ Leer la PROFORMA
             $sqlMvtosToPoliza = "SELECT\r\n\t\t\t\t\t`contable_polizas_proforma`.*,\r\n\t\t\t\t\t`operaciones_tipos`.*\r\n\t\t\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t`operaciones_tipos` `operaciones_tipos`\r\n\t\t\t\t\t\tINNER JOIN `contable_polizas_proforma`\r\n\t\t\t\t\t\t`contable_polizas_proforma`\r\n\t\t\t\t\t\tON `operaciones_tipos`.`idoperaciones_tipos` =\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\r\n\t\t\t\t\t\tAND `contable_polizas_proforma`.`numero_de_recibo` = {$numero_de_recibo}\r\n\t\t\t\t\tORDER BY\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`contable_operacion` DESC,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`socio`,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`documento`,\r\n\t\t\t\t\t\t`contable_polizas_proforma`.`tipo_de_mvto`\t\t\t\r\n\t\t\t\t\t";
             if ($sucess == true) {
                 //$msg		.= "$sqlMvtosToPoliza\r\n";
                 $rs = mysql_query($sqlMvtosToPoliza, cnnGeneral());
                 if (!$rs) {
                     //error en MYSQL
                     $sucess = false;
                     saveError(2, $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"], "Depurar :" . mysql_error() . "|Numero: " . mysql_errno() . "|Instruccion SQL:" . $sqlMvtosToPoliza . "|EN:" . $_SESSION["current_file"]);
                 }
                 while ($rw = mysql_fetch_array($rs)) {
                     $cuenta = CUENTA_DE_CUADRE;
                     $nombre = "";
                     $socio = $rw["socio"];
                     if (CONTABLE_CUENTAS_POR_SOCIO == true) {
                         $xSoc = new cSocio($socio, true);
                         $nombre = $xSoc->getNombreCompleto();
                     }
                     //si la cuenta es de efectivo o similar
                     $documento = $rw["documento"];
                     $monto_movimiento = $rw["monto"];
                     $tipoOp = $rw["tipo_de_mvto"];
                     $tipo_movimiento = $rw["contable_operacion"];
                     $cargo_movimiento = 0;
                     $abono_movimiento = 0;
                     if ($tipo_movimiento == TM_CARGO) {
                         $cargo_movimiento = $monto_movimiento;
                         $abono_movimiento = 0;
                     } else {
                         $cargo_movimiento = 0;
                         $abono_movimiento = $monto_movimiento;
                     }
                     $formula = $rw["cuenta_contable"];
                     //Corregir de urgencia: OK: 06Oct2011
                     $sForms = new cValorarFormulas();
                     $cuenta = $sForms->getCuentaContable($socio, $documento, $formula, $cajero);
                     $msg .= $sForms->getMessages();
                     if ($cuenta != "NO_CONTABILIZAR") {
                         $xCuenta = new cCuentaContable($cuenta);
                         $cuenta = $xCuenta->get();
                         //Carga los datos del Oficial
                         if ($xCuenta->getEsCuentaDeCirculante() == true) {
                             $nombre = "EFVO:{$UsrName}";
                             $msg .= "CUENTA_ADD\tLa Cuenta {$cuenta} de Carga por Cajero [ {$nombre} ]\r\n";
                         } else {
                             $msg .= "CUENTA\tLa Cuenta de Trabajo es {$cuenta} Originado del Socio {$socio}\r\n";
                         }
                         //verifica para dar de alta a la cuenta
                         $Existentes = $xCuenta->getCountCuenta();
                         if ($Existentes == false) {
                             $msg .= "{$numero_de_recibo}\tCUENTA_ADD\tLa Cuenta de Trabajo {$cuenta} NO EXISTE, Se AGREGA\r\n";
                             $cuenta = $xCuenta->add($nombre);
                             if ($xCuenta->mRaiseError == true) {
                                 //$msg				.= "ERROR\tLa Cuenta de Trabajo $cuenta NO EXISTE\r\n";
                                 //$msg		= $xCuenta->getMessages();
                             }
                         }
                         $xCuenta->init();
                         $msg .= $xCuenta->getMessages();
                         $msg .= $xPol->addMovimiento($cuenta, $cargo_movimiento, $abono_movimiento, "{$socio}:{$documento}:{$tipoOp}", $concepto_mvto);
                     } else {
                         $msg .= "{$numero_de_recibo}\tNO_CONT\tEl Movimiento de {$socio} | {$documento} | {$tipoOp} de Monto {$monto_movimiento} se OMITE\r\n";
                     }
                 }
                 //END MOVIMIENTOS
             } else {
                 $msg .= "{$numero_de_recibo}\tEXISTE UN ERROR AL CARGAR EL RECIBO\r\n";
             }
             //	END SUCESS
         }
         //	END RECIBOS
         $xPol->setReestructurarEfvo();
         $msg .= $xPol->setFinalizar();
         $msg .= $xPol->getMessages();
         $this->mIDDePoliza = $xPol->getCodigo();
     }
     //			END VALUE.- GENERAR AL CIERRE DEL DIA
     //}		//			END VALUE.- GENERAR CONTABILIDAD
     return $msg;
 }
     $where = " AND (operaciones_mvtos.docto_afectado={$solicitud}) {$SinEstadisticos} {$solo_este_mvto} {$varByFechas}";
 } else {
     $where = " AND (operaciones_mvtos.docto_afectado={$solicitud}) {$SinEstadisticos} {$solo_este_mvto} {$varByFechas}";
 }
 $sqlST = $xSQL->getEstadoDeCuentaDeCreditos($where);
 $trs = "";
 $cap = 0;
 $ints = 0;
 $otros = 0;
 $iva = 0;
 $sdo = $MontoAutorizado;
 $fecha = false;
 $clsMA = "";
 $mes = 0;
 //exit($sqlmvto);
 $rs = getRecordset($sqlST);
 $i = 1;
 while ($rw = mysql_fetch_array($rs)) {
     $observa = substr($rw[6], 0, 20);
     $sdos = 0;
     $mtd = "";
     if ($rw["tipo_operacion"] == 120) {
         if ($i == 1) {
             $sdo = $MontoAutorizado;
             $sdos = getFMoney($sdo);
         }
         $sdo = $sdo - $rw["monto"];
         $sdos = getFMoney($sdo);
         $cap = $cap + $rw["monto"];
     } else {
         //si es primer mvto
 /**
  * Obtiene una fecha evaluada que es LABORABLE, seleccionando de una Tabla/DB datos previamente guardado
  * 
  * @param date $dia_a_evaluar
  *        	se evalua
  * @return date Laborable
  */
 function getDiaHabil($dia_a_evaluar = false)
 {
     if ($dia_a_evaluar == false) {
         $dia_a_evaluar = $this->mFecha;
     }
     // Dias no Laborables(En Ingles) segun las Necesidades de la Empresa
     $dias_no_laborables = array();
     if (WORK_IN_SATURDAY == false) {
         $dias_no_laborables["Saturday"] = 6;
     }
     $Operador = "+";
     $dias_no_laborables["Sunday"] = 7;
     $fecha_no_festiva = $dia_a_evaluar;
     $sqlnf = "SELECT * FROM general_dias_festivos";
     $rs = getRecordset($sqlnf);
     while ($rw = mysql_fetch_array($rs)) {
         if (strtotime($dia_a_evaluar) == strtotime($rw[0])) {
             $fecha_no_festiva = date("Y-m-d", strtotime("{$dia_a_evaluar}" . $Operador . "1 day"));
         }
     }
     // Evalua los Dias inhabiles
     for ($i = 0; $i <= 5; $i++) {
         $dia_en_la_semana = date("l", strtotime($fecha_no_festiva));
         if (array_key_exists($dia_en_la_semana, $dias_no_laborables)) {
             $fecha_no_festiva = date("Y-m-d", strtotime("{$fecha_no_festiva}" . $Operador . "1 day"));
         } else {
             // Salir del bucle
             break;
         }
     }
     return $fecha_no_festiva;
 }
 function getCampos_InText()
 {
     $sql = "SELECT * FROM general_structure WHERE\n\t\t\t\t\t\ttabla = '" . $this->mTable . "'\n\t\t\t\t\t\tORDER BY tab_num, order_index ASC ";
     $lsF = "";
     $i = 0;
     $rs = getRecordset($sql);
     //mysql_query($sql, cnnGeneral());
     while ($rw = mysql_fetch_array($rs)) {
         if ($i == 0) {
             $lsF .= $rw["campo"];
         } else {
             $lsF .= ", " . $rw["campo"];
         }
         $i++;
     }
     return $lsF;
 }
$permiso = getSIPAKALPermissions($theFile);
if ($permiso === false) {
    header("location:../404.php?i=999");
}
$_SESSION["current_file"] = addslashes($theFile);
//=====================================================================================================
$xHP = new cHPage("REPORTE DE ", HP_REPORT);
$xHP->setIncludes();
$fechaDeInicio = isset($_GET["on"]) ? $_GET["on"] : fechasys();
$fechaFinal = isset($_GET["off"]) ? $_GET["off"] : fechasys();
$oficial = elusuario($iduser);
$xHP->setNoDefaultCSS();
$xHP->addCSS(CSS_REPORT_FILE);
$arrEquivGenero = array(1 => "M", 2 => "F", 99 => "");
$sql = "SELECT\r\n\t\t\t\t\t`socios_cajalocal`.`clave_de_centro`,\r\n\t\t\t\t\t`socios_general`.`codigo`,\r\n\t\t\t\t\t`socios_general`.`fechanacimiento`,\r\n\t\t\t\t\t`socios_general`.`apellidopaterno`,\r\n\t\t\t\t\t`socios_general`.`apellidomaterno`,\r\n\t\t\t\t\t`socios_general`.`nombrecompleto`,\r\n\t\t\t\t\t`socios_general`.`fechaalta`,\r\n\t\t\t\t\t`socios_general`.`genero` \r\n\t\t\t\tFROM\r\n\t\t\t\t\t`socios_general` `socios_general` \r\n\t\t\t\t\t\tINNER JOIN `socios_cajalocal` `socios_cajalocal` \r\n\t\t\t\t\t\tON `socios_general`.`cajalocal` = `socios_cajalocal`.\r\n\t\t\t\t\t\t`idsocios_cajalocal` \r\n\t\t\t\tWHERE\r\n\t\t\t\t\t(`socios_general`.`fechaalta` >='{$fechaDeInicio}')\r\n\t\t\t\t\tAND\r\n\t\t\t\t\t(`socios_general`.`fechaalta` <='{$fechaFinal}') ";
$rs = getRecordset($sql);
header("Content-type: text/x-csv");
//header("Content-type: text/csv");
//header("Content-type: application/csv");
header("Content-Disposition: attachment; filename=reporte-patmir-II.del_{$fechaDeInicio}.al_{$fechaFinal}.csv");
//echo $xHP->getHeader();
//echo $xHP->setBodyinit("initComponents();");
//echo getRawHeader();
/*
<!-- -->
<table       >
	<thead>
		<tr>
			<th colspan="3">REPORTE DE</th>
		</tr>
<!-- DATOS GENERALES DEL REPORTE  -->
 function getOtrosParametrosInArray()
 {
     $xTab = new cSAFETabla(TCREDITOS_PRODUCTOS_OTROS_PARAMETROS);
     $xTab->setWhere("clave_del_producto=" . $this->mClaveDeConvenio);
     $sql = $xTab->getSelect();
     $rs = getRecordset($sql);
     while ($rw = mysql_fetch_array($rs)) {
         $this->mArrDatoExtras[strtoupper($rw["clave_del_parametro"])] = $rw["valor_del_parametro"];
     }
     $this->mInitDExtras = true;
     return $this->mArrDatoExtras;
 }
 function setCredito($credito)
 {
     $this->mDocumento = $credito;
     $xFDE = new cFecha();
     $xLng = new cLang();
     $cCred = new cCredito($credito);
     $cCred->init();
     $idsolicitud = $credito;
     $DCred = $cCred->getDatosDeCredito();
     $DProd = $cCred->getOProductoDeCredito();
     $OOParam = new cProductoDeCreditoOtrosDatosCatalogo();
     $numero_de_socio = $cCred->getClaveDePersona();
     $this->mPersona = $numero_de_socio;
     $cSoc = new cSocio($numero_de_socio);
     $cSoc->init();
     $svar_info_cred = "";
     $tblInfCred = new cFicha(iDE_CREDITO, $idsolicitud);
     $this->setPersona($numero_de_socio);
     $svar_info_cred = $tblInfCred->show(true);
     //Lista de Beneficiados
     $lst_beneficiados = "";
     $this->getListadoDeAvales($idsolicitud);
     $SQLCBen = "SELECT `socios_relacionestipos`.`descripcion_relacionestipos` AS 'relacion', `socios_relaciones`.`nombres`,\t`socios_relaciones`.`apellido_paterno`,\t`socios_relaciones`.`apellido_materno`,\n\t\t\t`socios_consanguinidad`.`descripcion_consanguinidad` AS 'consaguinidad'\n\t\t\tFROM `socios_relaciones` `socios_relaciones` INNER JOIN `socios_consanguinidad` `socios_consanguinidad` ON `socios_relaciones`.`consanguinidad` = `socios_consanguinidad`.`idsocios_consanguinidad`\n\t\t\tINNER JOIN `socios_relacionestipos` `socios_relacionestipos` ON `socios_relaciones`.`tipo_relacion` = `socios_relacionestipos`.`idsocios_relacionestipos`\n\t\t\tWHERE (`socios_relaciones`.`socio_relacionado` ={$numero_de_socio}) AND (`socios_relaciones`.`credito_relacionado` ={$idsolicitud})\tAND\t(`socios_relaciones`.`tipo_relacion`=11)";
     $tblCBen = new cTabla($SQLCBen);
     $lst_beneficiados = $tblCBen->Show();
     $firmas_de_avales = $this->mFirmasAvales;
     // $cSoc->getCoResponsables("firmas", "avales", $idsolicitud );
     //Plan de Pago segun SQL
     $splan_pagos = $cCred->getPlanDePago(OUT_HTML, true, true);
     //==================================================================================
     $fichas_de_avales = $this->mFichasAvales;
     //$cCred->getAvales_InText();
     $fecha_larga_de_documento = $xFDE->getFechaLarga($cCred->getFechaDeMinistracion());
     $fichas_de_respsolidarios = "";
     //TODO: FALTA
     //Otros Datos
     $monto_ministrado = $cCred->getMontoAutorizado();
     $tasa_interes_mensual_ordinario = round($cCred->getTasaDeInteres() / 12 * 100, 2);
     $tasa_interes_anual_ordinario = $cCred->getTasaDeInteres();
     $fecha_de_vencimiento = $cCred->getFechaDeVencimiento();
     $fecha_de_ministracion = $cCred->getFechaDeMinistracion();
     $tasa_garantia_liquida = $DCred["porciento_garantia_liquida"] * 100;
     $monto_garantia_liquida = $monto_ministrado * $tasa_garantia_liquida;
     $tasa_interes_mensual_moratorio = round($cCred->getTasaDeMora() / 12 * 100, 2);
     $dias_del_credito = $cCred->getDiasAutorizados();
     $meses_del_credito = sprintf("%02d", ceil($dias_del_credito / 30.416666666666668));
     $periocidad = $cCred->getPeriocidadDePago();
     //Tipo de Credito por SQL
     $SQLTCred = "SELECT * FROM creditos_modalidades WHERE idcreditos_modalidades=" . $DCred["tipo_credito"];
     $tipo_de_credito = mifila($SQLTCred, "descripcion_modalidades");
     //Datos del Grupo Solidarios por SQL
     $SQLGAsoc = "SELECT * FROM socios_grupossolidarios WHERE idsocios_grupossolidarios=" . $DCred["grupo_asociado"];
     $InfoGrupo = obten_filas($SQLGAsoc);
     $nombre_rep_social = $InfoGrupo["representante_nombrecompleto"];
     $codigo_rep_social = $InfoGrupo["representante_numerosocio"];
     $nombre_voc_vigila = $InfoGrupo["vocalvigilancia_nombrecompleto"];
     $nombre_del_grupo = $InfoGrupo["nombre_gruposolidario"];
     $domicilio_rep_social = domicilio($codigo_rep_social);
     $tabla_asociadas = "";
     $lista_asociadas = "";
     $tasa_de_cat = $cCred->getCAT();
     $DPeriocidad = new cPeriocidadDePago($cCred->getPeriocidadDePago());
     $DPeriocidad->init();
     $monto_con_interes = "";
     $monto_con_interes_letras = "";
     if ($DCred["grupo_asociado"] != DEFAULT_GRUPO) {
         $SQL_get_grupo = "SELECT `socios_general`.`codigo`, CONCAT(`socios_general`.`nombrecompleto`, ' ', `socios_general`.`apellidopaterno`, ' ', `socios_general`.`apellidomaterno`) AS 'nombre_completo'\n\t\t\t\t\t\t\t\t\tFROM `socios_general` `socios_general` WHERE (`socios_general`.`grupo_solidario` =" . $DCred["grupo_asociado"] . ")";
         $rsg = getRecordset($SQL_get_grupo);
         while ($rwt = mysql_fetch_array($rsg)) {
             $lista_asociadas .= ", " . $rwt["nombre_completo"];
         }
     }
     if (EACP_INCLUDE_INTERES_IN_PAGARE == true) {
         if ($periocidad == CREDITO_TIPO_PERIOCIDAD_FINAL_DE_PLAZO) {
             $monto_con_interes = $cCred->getMontoAutorizado() + $cCred->getInteresDiariogenerado() * $cCred->getDiasAutorizados();
         } else {
             $sqlInt = "SELECT `operaciones_mvtos`.`docto_afectado`, `operaciones_mvtos`.`tipo_operacion`, COUNT(`operaciones_mvtos`.`idoperaciones_mvtos`) AS `mvtos`,\n\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real` *\t`eacp_config_bases_de_integracion_miembros`.`afectacion`) AS 'monto'\n\t\t\t\t\tFROM `operaciones_mvtos` `operaciones_mvtos` INNER JOIN `eacp_config_bases_de_integracion_miembros`\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` = `eacp_config_bases_de_integracion_miembros`.`miembro` WHERE (`operaciones_mvtos`.`docto_afectado` = {$idsolicitud})\n\t\t\t\t\tAND (`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2601)\n\t\t\t\t\tGROUP BY `operaciones_mvtos`.`docto_afectado`, `eacp_config_bases_de_integracion_miembros`.`codigo_de_base`\n\t\t\t\t\tORDER BY `eacp_config_bases_de_integracion_miembros`.`codigo_de_base`, `operaciones_mvtos`.`fecha_afectacion`, `operaciones_mvtos`.`socio_afectado`\t";
             $xF = obten_filas($sqlInt);
             $monto_con_interes = $xF["monto"];
         }
         $monto_con_interes_letras = convertirletras($monto_con_interes);
         $monto_con_interes = getFMoney($monto_con_interes);
     }
     $this->mArr["variable_informacion_del_credito"] = $cCred->getFicha();
     //"variable_lista_de_beneficiados" 		=> $lst_beneficiados,
     $this->mArr["variable_tipo_de_credito"] = $tipo_de_credito;
     $this->mArr["variable_monto2_ministrado_con_intereses_en_letras"] = $monto_con_interes_letras;
     $this->mArr["variable_monto2_ministrado_con_intereses"] = $monto_con_interes;
     $this->mArr["variable_monto_ministrado"] = getFMoney($monto_ministrado);
     $this->mArr["variable_tasa_mensual_de_interes_ordinario"] = $tasa_interes_mensual_ordinario;
     $this->mArr["variable_credito_fecha_de_vencimiento"] = $xFDE->getFechaMediana($fecha_de_vencimiento);
     $this->mArr["variable_monto_garantia_liquida"] = getFMoney($monto_garantia_liquida);
     $this->mArr["variable_tasa_mensual_de_interes_moratorio"] = $tasa_interes_mensual_moratorio . "";
     $this->mArr["variable_tasa_de_garantia_liquida"] = $tasa_garantia_liquida . "";
     $this->mArr["variable_plan_de_pagos"] = $splan_pagos;
     $this->mArr["variable_docto_fecha_larga_actual"] = $fecha_larga_de_documento;
     $this->mArr["variable_nombre_de_la_representante_social"] = $nombre_rep_social;
     $this->mArr["variable_listado_de_integrantes"] = $lista_asociadas;
     $this->mArr["variable_nombre_de_la_vocal_de_vigilancia"] = $nombre_voc_vigila;
     $this->mArr["variable_nombre_del_grupo_solidario"] = $nombre_del_grupo;
     $this->mArr["variable_domicilio_de_la_representante_social"] = $domicilio_rep_social;
     $this->mArr["variable_meses_de_duracion_del_credito"] = $meses_del_credito;
     $this->mArr["variable_en_letras_monto_ministrado"] = convertirletras($monto_ministrado);
     $this->mArr["variable_credito_fecha_de_ministracion"] = $xFDE->getFechaCorta($fecha_de_ministracion);
     $this->mArr["variable_tasa_cat"] = $tasa_de_cat;
     $this->mArr["variable_credito_periocidad"] = $DPeriocidad->getNombre();
     $this->mArr["variable_credito_monto_parcialidad_fija"] = getFMoney($cCred->getMontoDeParcialidad());
     $this->mArr["variable_credito_numero_de_pagos"] = $cCred->getPagosAutorizados();
     $this->mArr["variable_tasa_anual_de_interes_moratorio"] = $cCred->getTasaDeInteres() * 2 * 100 . "%";
     $this->mArr["variable_tasa_anual_de_interes_ordinario"] = $cCred->getTasaDeInteres() * 100 . "%";
     //sobreescribir datos de la empresa
     $xEmp = new cEmpresas($cCred->getClaveDeEmpresa());
     $xEmp->init();
     $this->mArr["variable_nombre_de_la_empresa"] = $xEmp->getNombre();
     $this->mArr["variable_nombre_de_empresa"] = $xEmp->getNombre();
     $this->mArr["variable_fecha_de_primer_pago"] = $xFDE->getFechaMediana($cCred->getFechaPrimeraParc());
     $this->mArr["variable_avales_en_fichas"] = $fichas_de_avales;
     $this->mArr["variable_firmas_de_avales"] = $firmas_de_avales;
     $this->mArr["variable_avales_autorizacion_central_riesgo"] = $this->mFichaRiesgoAv;
     $this->mArr["variable_fecha_ultimo_abono"] = $xFDE->getFechaLarga($cCred->getFechaUltimaParc());
     $this->mArr["variable_fecha_de_primer_abono"] = $xFDE->getFechaMediana($cCred->getFechaPrimeraParc());
     //$this->mArr["variable_fecha_de_primer_abono"]						=
     $this->mArr["variable_en_letras_tasa_mensual_de_interes_moratorio"] = convertirletras_porcentaje($tasa_interes_mensual_moratorio);
     $this->mArr["variable_lista_de_avales_con_domicilio"] = $this->mLAvalesConDir;
     /*variable_aval1_nombre_completo variable_aval1_domicilio_completo variable_aval1_domicilio_localidad variable_aval1_domicilio_municipio*/
     //Cargar Avales
     $this->mArr["variable_listado_de_garantias"] = $this->getListadoDeGarantias();
     //$this->mArr["variable_modalidad_de_credito"]					= $cCred->getOEstado()
     $this->mArr["variable_estado_de_credito"] = $cCred->getOEstado()->descripcion_estatus()->v(OUT_TXT);
     //$this->mArr["variable_credito_num_de_pago_actual"]				= $cCred->getPeriodoActual();
     $this->mArr["variable_contrato_id_legal"] = $DProd->getOtrosParametros($OOParam->CONTRATO_ID_LEGAL);
     $this->mArr["variable_producto_comision_apertura"] = $DProd->getOtrosParametros($OOParam->TASA_DE_COMISION_AP);
 }
 function setRepararPlanDePagos()
 {
     $msg = "";
     $msg .= "============= RECONSTRUYENDO LETRAS SISBANCS \r\n";
     //Selecciona todo los pagos segun letra, en una base
     $arrFechas = array();
     $arrMontos = array();
     $sqlLetras = "SELECT SQL_CACHE\n\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`periodo_socio`,\n\t\t\t\t\t\t\tMAX(`operaciones_mvtos`.`fecha_afectacion`) AS 'fecha',\n\t\t\t\t\t\t\tSUM(`operaciones_mvtos`.`afectacion_real`) AS 'monto'\n\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos`\n\t\t\t\t\t\t\t\tINNER JOIN `eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`\n\t\t\t\t\t\t\t\tON `operaciones_mvtos`.`tipo_operacion` =\n\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(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` = 2003)\n\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t(`operaciones_mvtos`.`afectacion_real` >0)\n\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`periodo_socio`\n\t\t\t\t\t\tORDER 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_mvtos`.`docto_afectado`,\n\t\t\t\t\t\t\t`operaciones_mvtos`.`periodo_socio` ";
     $rsA = getRecordset($sqlLetras);
     while ($rw = mysql_fetch_array($rsA)) {
         $arrFechas[$rw["docto_afectado"] . "-" . $rw["periodo_socio"]] = $rw["fecha"];
         $arrMontos[$rw["docto_afectado"] . "-" . $rw["periodo_socio"]] = $rw["monto"];
     }
     $fecha_de_migracion = fechasys();
     //DELETE FROM sisbancs_amortizaciones WHERE credito = 0 AND parcialidad = 1
     $sql = "SELECT\n\t\t\t\t\t\t\t\t`sisbancs_amortizaciones`.*\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`sisbancs_amortizaciones` `sisbancs_amortizaciones` ";
     $rs = getRecordset($sql);
     $contar = 0;
     while ($rw = mysql_fetch_array($rs)) {
         $credito = $rw["credito"];
         $socio = $rw["credito"];
         $parcialidad = $rw["parcialidad"];
         $vencimiento = $rw["fecha_de_vencimiento"];
         $saldo_vigente = $rw["saldo_vigente"];
         $saldo_vencido = 0;
         $interes_vigente = $rw["interes_vigente"];
         $interes_vencido = 0;
         $interes_moratorio = 0;
         $dias_en_mora = 0;
         $estatus = $rw["estatus"];
         $fecha_de_abono = $rw["fecha_de_abono"];
         $iva_normal = 0;
         $iva_moratorio = 0;
         $tasa_normal = 0;
         $tasa_moratorio = 0;
         $monto_abonado = 0;
         $saldo_teorico = 0;
         $DCredito = array();
         //TODO: Actualizar sentencia de obtencion de IVA
         $msg .= "{$contar}\t{$credito}\t{$parcialidad}\t\t=================================================\r\n";
         //Actualizar le fecha de Pago
         if (isset($arrFechas["{$credito}-{$parcialidad}"])) {
             $fecha_de_abono = $arrFechas["{$credito}-{$parcialidad}"];
             $monto_abonado = $arrMontos["{$credito}-{$parcialidad}"];
             //Corrige las idioteces de reestructuras
             if (strtotime($vencimiento) > strtotime($fecha_de_abono)) {
                 $fecha_de_abono = $vencimiento;
                 $msg .= "{$contar}\t{$credito}\t{$parcialidad}\tERROR_DE_FECHA\tLa fecha de abono(" . getFechaMediana($fecha_de_abono) . ") es menor a la de vencimiento " . getFechaMediana($vencimiento) . " \r\n";
             }
             $saldo_teorico = $saldo_vigente - $monto_abonado;
             $msg .= "{$contar}\t{$credito}\t{$parcialidad}\tFECHA_DE_ABONO\tLa fecha de Abono Existente es " . getFechaMediana($fecha_de_abono) . " y suma de {$monto_abonado} (saldo teorico {$saldo_teorico})\r\n";
         }
         if (strtotime($vencimiento) < strtotime($fecha_de_migracion)) {
             $msg .= "{$contar}\t{$credito}\t{$parcialidad}\tFECHA_DE_VCTO\tLa Vencimiento (" . getFechaMediana($vencimiento) . ") es Menor a la Fecha de Migracion\r\n";
             $estatus = 2;
             $saldo_vencido = $saldo_vigente;
             $saldo_vigente = 0;
             $interes_vencido = $interes_vigente;
             $interes_vigente = 0;
             $xCred = new cCredito($credito, $socio);
             $xCred->init();
             $DCredito = $xCred->getDatosDeCredito();
             $tasa_moratorio = $DCredito["tasa_moratorio"];
             $dias_morosos = setNoMenorQueCero(restarfechas($fecha_de_migracion, $fecha_de_abono));
             $interes_moratorio = $saldo_vencido * $dias_morosos * $tasa_moratorio / EACP_DIAS_INTERES;
             $msg .= "{$contar}\t{$credito}\t{$parcialidad}\tINTERES_MORATORIO\tEl Interes Moratorio es {$interes_moratorio}, por {$dias_morosos} dias en Mora y Capital {$saldo_vencido}\r\n";
         }
         $iva_normal = ($interes_vigente + $interes_vencido) * 0.15;
         $iva_moratorio = $interes_moratorio * 0.15;
         $sqlUD = "UPDATE sisbancs_amortizaciones\n\t\t\t\t\t\t\t\t\t\t\t\t    SET  fecha_de_abono='{$fecha_de_abono}', saldo_vigente={$saldo_vigente},\n\t\t\t\t\t\t\t\t\t\t\t\t\tsaldo_vencido={$saldo_vencido}, interes_vigente={$interes_vigente}, interes_vencido={$interes_vencido},\n\t\t\t\t\t\t\t\t\t\t\t\t\tsaldo_interes_vencido=0, interes_moratorio={$interes_moratorio}, estatus={$estatus},\n\t\t\t\t\t\t\t\t\t\t\t\t\tiva_interes_normal={$iva_normal}, iva_interes_moratorio={$iva_moratorio}\n\t\t\t\t\t\t\t\t\t\t\t\t    WHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\tcredito={$credito}, parcialidad={$parcialidad} ";
         my_query($sqlUD);
         $contar++;
     }
     return $msg;
 }
function obten_filas($sql = "")
{
    $mFilas = array();
    if ($sql != "" and strlen($sql) > 6) {
        $rs = getRecordset($sql, cnnGeneral());
        if ($rs != false) {
            $mFilas = mysql_fetch_array($rs);
        } else {
            $errNotice = @mysql_error($cnx);
            $errNumber = @mysql_errno($cnx);
            saveError(2, getUsuarioActual(), "Error :{$errNotice}|Numero: {$errNumber}|SQL: " . $sql . "|" . $_SESSION["current_file"]);
        }
        @mysql_free_result($rs);
    }
    return $mFilas;
}
 function setEliminarCreditosNegativos()
 {
     //Crear un nuevo Recibo de Ajuste
     $cRec = new cReciboDeOperacion(10);
     $xRec = $cRec->setNuevoRecibo(DEFAULT_SOCIO, DEFAULT_CREDITO, fechasys(), 1, 10, "RECIBO_DE_AJUSTES_DE_CREDITOS");
     $msg = "============\tRECIBO\tEl Recibo de Operacion es {$xRec}\r\n";
     $cRec->setNumeroDeRecibo($xRec, true);
     /*Esta funcion servira para eliminar saldos negativos de Créditos */
     $sql = "SELECT\n\t\t\t\t\t`creditos_solicitud`.*,\n\t\t\t\t\t`creditos_tipoconvenio`.*,\n\t\t\t\t\t`creditos_periocidadpagos`.*,\n\t\t\t\t\t`creditos_estatus`.*,\n\t\t\t\t\t`creditos_solicitud`.`tasa_interes` AS `tasa_ordinaria_anual`,\n\t\t\t\t\t`creditos_solicitud`.`tipo_autorizacion` AS `tipo_de_autorizacion`,\n                    `creditos_solicitud`.`tasa_ahorro` AS `tasa_de_ahorro`\n\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t`creditos_tipoconvenio` `creditos_tipoconvenio`\n\t\t\t\t\t\tINNER JOIN `creditos_solicitud` `creditos_solicitud`\n\t\t\t\t\t\tON `creditos_tipoconvenio`.`idcreditos_tipoconvenio`\n\t\t\t\t\t\t= `creditos_solicitud`.`tipo_convenio`\n\t\t\t\t\t\t\tINNER JOIN `creditos_periocidadpagos`\n\t\t\t\t\t\t\t`creditos_periocidadpagos`\n\t\t\t\t\t\t\tON `creditos_periocidadpagos`.\n\t\t\t\t\t\t\t`idcreditos_periocidadpagos` =\n\t\t\t\t\t\t\t`creditos_solicitud`.`periocidad_de_pago`\n\t\t\t\t\t\t\t\tINNER JOIN `creditos_estatus`\n\t\t\t\t\t\t\t\t`creditos_estatus`\n\t\t\t\t\t\t\t\tON `creditos_estatus`.`idcreditos_estatus` =\n\t\t\t\t\t\t\t\t`creditos_solicitud`.`estatus_actual`\n\t\t\t\t\t\t\t\tWHERE saldo_actual < " . TOLERANCIA_SALDOS . " ORDER BY saldo_actual ";
     $rs = getRecordset($sql);
     while ($rw = mysql_fetch_array($rs)) {
         $socio = $rw["numero_socio"];
         $credito = $rw["numero_solicitud"];
         $saldo_actual = $rw["saldo_actual"];
         //Se inicializa una nueva instancia de crédito
         $cCredito = new cCredito($credito, $socio);
         //y se neutralizara con su valor absoluto.
         $cCredito->init($rw);
         $cCredito->setReciboDeOperacion($xRec);
         //Generar un abono a Capital
         $cCredito->setAbonoCapital($saldo_actual);
         $msg .= "{$socio}\t{$credito}\tEliminando el saldo de {$saldo_actual}\r\n";
         $msg .= $cCredito->getMessages("txt");
     }
     $cRec->setFinalizarRecibo(true);
     return $msg;
 }
 function getCatalogoInArray()
 {
     $arrD = array();
     $rs = getRecordset($this->getSelect(0, 100));
     while ($rw = mysql_fetch_array($rs)) {
         $arrD[$rw[$this->getClaveUnica()]] = $rw[1];
     }
     return $arrD;
 }
 function setRegenerarSDPM($PFechaInicial, $PFechaFinal, $GenerarInteres = true, $incluirSinSaldo = false, $NumeroCuenta = false)
 {
     //		$PFechaFinal		= "";
     $mBase = 3100;
     $xT = new cTipos();
     $ql = new MQL();
     $BySaldo = $incluirSinSaldo == false ? " AND captacion_cuentas.saldo_cuenta >=" . TOLERANCIA_SALDOS : "";
     $ByCuentaSDPM = $NumeroCuenta == false ? "" : " AND `captacion_sdpm_historico`.`cuenta` = {$NumeroCuenta} ";
     $ByCuentaMvto = $NumeroCuenta == false ? "" : " AND `operaciones_mvtos`.`docto_afectado` = {$NumeroCuenta} ";
     $ByCuentaCta = $NumeroCuenta == false ? "" : " AND captacion_cuentas.numero_cuenta = {$NumeroCuenta} ";
     $msg = "";
     $msg .= "==========================================================================================\r\n";
     $msg .= "==================\tGenerando SDPM desde el {$PFechaInicial} al {$PFechaFinal}\r\n";
     $msg .= "==========================================================================================\r\n";
     $msg .= "Socio\tCuenta\tOPER\tEjercicio\tPeriodo\tFecha\tDias\tMonto\tSaldo\tSDPM\r\n";
     $sqlM = "SELECT \n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion`  AS 'fecha_operacion',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`recibo_afectado` AS 'recibo_afectado',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`docto_afectado` AS 'docto_afectado',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`afectacion_real` AS 'afectacion_real',\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`valor_afectacion`,\n\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`afectacion` AS 'afectacion'\n\t\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos` `operaciones_mvtos` \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\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\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` ={$mBase})\n\t\t\t\t\t\t\t\t\t{$ByCuentaMvto}\n\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,\n\t\t\t\t\t\t\t\t\t`operaciones_mvtos`.`fecha_operacion` ASC";
     $rsM = getRecordset($sqlM);
     $arrOps = array();
     //Array de montos de operacion
     $arrRecs = array();
     //Array de Recibos de Operacion
     while ($rwM = mysql_fetch_array($rsM)) {
         //clave cuenta fecha
         $cuenta = $rwM["docto_afectado"];
         $fecha = $rwM["fecha_operacion"];
         if (isset($arrOps[$cuenta . "-" . $fecha])) {
             $arrOps[$cuenta . "-" . $fecha] += $rwM["afectacion_real"] * $rwM["afectacion"];
         } else {
             $arrOps[$cuenta . "-" . $fecha] = $rwM["afectacion_real"] * $rwM["afectacion"];
         }
         $arrRecs[$cuenta . "-" . $fecha] = $rwM["recibo_afectado"];
         //$msg					.= "WARN\t$cuenta\tAgregar " . ($rwM["afectacion_real"] * $rwM["afectacion"] ) . "\r\n";
     }
     //Eliminar periodos anteriores
     $sqlDF = "DELETE FROM captacion_sdpm_historico WHERE (fecha>='{$PFechaInicial}' AND fecha<='{$PFechaFinal}') {$ByCuentaSDPM} ";
     my_query($sqlDF);
     //FECHAS
     $xF = new cFecha(0);
     //
     $xTbl = new cSAFETabla(TCAPTACION_CUENTAS);
     $sqlCX = $xTbl->getQueryInicial() . " WHERE captacion_cuentas.tipo_cuenta = " . CAPTACION_TIPO_VISTA . " {$BySaldo} {$ByCuentaCta} ";
     $rs1 = getRecordset($sqlCX);
     while ($rw1 = mysql_fetch_array($rs1)) {
         $socio = $rw1["numero_socio"];
         $cuenta = $rw1["numero_cuenta"];
         $xCta = new cCuentaALaVista($cuenta, $socio);
         $xCta->init($rw1);
         $DCta = $xCta->getDatosInArray();
         $FApertura = $DCta["fecha_apertura"];
         $dias = $xF->setRestarFechas($PFechaFinal, $FApertura);
         $dias += 1;
         $sucursal = $DCta["sucursal"];
         $FechaAnterior = $FApertura;
         $saldoAnterior = 0;
         $xF2 = new cFecha(1);
         for ($i = 0; $i <= $dias; $i++) {
             $OpFecha = $xF->setSumarDias($i, $FApertura);
             $xF->set($OpFecha);
             $OpFechaFin = $xF->getDiaFinal();
             $OpMonto = isset($arrOps[$cuenta . "-" . $OpFecha]) ? $arrOps[$cuenta . "-" . $OpFecha] : 0;
             $idrecibo = isset($arrRecs[$cuenta . "-" . $OpFecha]) ? $arrRecs[$cuenta . "-" . $OpFecha] : DEFAULT_RECIBO;
             //si la operacion es mayor a cero o es FIN DE MES
             if ($OpMonto != 0 or $OpFecha == $OpFechaFin) {
                 $diasTrans = $xF2->setRestarFechas($OpFecha, $FechaAnterior);
                 $xF2->set($OpFecha);
                 $ejercicio = $xF2->anno();
                 $periodo = $xF2->mes();
                 $sdpd = $saldoAnterior * $diasTrans;
                 $nuevatasa = $xCta->getTasaAplicable(0, 0, $saldoAnterior);
                 //corregir fecha
                 $sqlUSPM = "INSERT INTO captacion_sdpm_historico\n\t\t\t\t\t\t\t\t\t\t(ejercicio, periodo, cuenta, fecha, dias, tasa, monto, recibo, numero_de_socio, sucursal)\n\t    \t\t\t\t\t\t\t\tVALUES( {$ejercicio}, {$periodo}, {$cuenta}, '{$OpFecha}', {$diasTrans}, {$nuevatasa}, {$sdpd}, {$idrecibo}, {$socio}, '{$sucursal}') ";
                 //si es valida la operacion, se actualizan
                 if ($OpFecha >= $PFechaInicial and $OpFecha <= $PFechaFinal) {
                     my_query($sqlUSPM);
                     $msg .= "{$socio}\t{$cuenta}\t+SDPM\t{$ejercicio}\t{$periodo}\t{$OpFecha}\t{$diasTrans}\t{$OpMonto}\t{$saldoAnterior}\t{$sdpd}\r\n";
                 } else {
                     $msg .= "{$socio}\t{$cuenta}\t=SDPM\t{$ejercicio}\t{$periodo}\t{$OpFecha}\t{$diasTrans}\t{$OpMonto}\t{$saldoAnterior}\t{$sdpd}\r\n";
                 }
                 $FechaAnterior = $OpFecha;
                 $saldoAnterior += $OpMonto;
             }
         }
     }
     //Agregar Movimientos Finales del MES.
     //FIXME: Corregir incidencias
     //opcional: agregar Interes
     if ($GenerarInteres == true) {
         $xRec = new cReciboDeOperacion(12, false);
         $recibo = $xRec->setNuevoRecibo(DEFAULT_SOCIO, 1, $PFechaFinal, 1, 12, "REGENERAR_INTERES_SDPM_{$PFechaFinal}", "NA", "ninguno", "NA", DEFAULT_GRUPO);
         $msg .= "==========================================================================================\r\n";
         $msg .= "==================\tAGREGADO INTERES :: RECIBO {$recibo}\r\n";
         $msg .= "==========================================================================================\r\n";
         $_SESSION["recibo_en_proceso"] = $recibo;
         //sumar sdpm del mes por cuenta
         $sqlSDPM = "SELECT\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`numero_de_socio`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`cuenta`,\n\t\t\t\t\t\t\t\tSUM(`captacion_sdpm_historico`.`dias`)  AS `dias_transcurridos`,\n\t\t\t\t\t\t\t\tSUM(`captacion_sdpm_historico`.`monto`) AS `sdpm`,\n\t\t\t\t\t\t\t\tROUND( (`captacion_sdpm_historico`.`monto` / `captacion_sdpm_historico`.`dias`), 2) AS `ultimo_saldo`,\n\t\t\t\t\t\t\t\tMAX(`captacion_sdpm_historico`.`fecha`) AS 'UltimaFecha'\n\t\t\t\t\t\t\tFROM\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico` `captacion_sdpm_historico` \n\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` >= '{$PFechaInicial}')\n\t\t\t\t\t\t\t\tAND\n\t\t\t\t\t\t\t\t(`captacion_sdpm_historico`.`fecha` <= '{$PFechaFinal}')\n\t\t\t\t\t\t\t\t{$ByCuentaSDPM}\n\t\t\t\t\t\t\tGROUP BY\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`cuenta`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`ejercicio`,\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`periodo`\n\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t`captacion_sdpm_historico`.`fecha` DESC ";
         $rsCAP = $ql->getDataRecord($sqlSDPM);
         //setLog($sqlSDPM);
         foreach ($rsCAP as $rwC) {
             $socio = $rwC["numero_de_socio"];
             $cuenta = $rwC["cuenta"];
             $dias_de_calc = $rwC["dias_transcurridos"];
             $sumaSDPM = $rwC["sdpm"];
             $FechaI = $rwC["UltimaFecha"];
             $promedio = $xT->cFloat($sumaSDPM / $dias_de_calc, 2);
             //XXX: Solucionar Tasa de Interes y hacer las rapida la consulta
             $xCta = new cCuentaDeCaptacion($cuenta);
             $xCta->init();
             $subtipo = $xCta->getTipoDeSubproducto();
             $tasa_nueva = obtentasa($promedio, CAPTACION_TIPO_VISTA, 0, $subtipo);
             $interes = $sumaSDPM * $tasa_nueva / EACP_DIAS_INTERES;
             $interes = $xT->cFloat($interes, 2);
             //agregar movimiento
             if ($interes > 0) {
                 setNuevoMvto($socio, $cuenta, $recibo, $FechaI, $interes, 222, 1, "CALCULO_AUTOMATICO_DESDE_{$PFechaInicial}");
                 $msg .= "{$socio}\t{$cuenta}\tAGREGAR\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n";
             } else {
                 $msg .= "{$socio}\t{$cuenta}\tIGNORAR\tInteres por {$interes}, tasa {$tasa_nueva}, Promedio {$promedio}, SDPM {$sumaSDPM}, Dias {$dias_de_calc}\r\n";
             }
         }
     }
     return $msg;
 }
     $contrato_corriente == "_NO_ASIGNADO_";
 }
 $tasa_ahorro = $tasa_ahorro * 100;
 echo "\n\t\t<fieldset>\n\t\t<legend>[ Datos Generales del Credito ]</legend>\n\t<table width='100%'>\n\t\t<tr>\n\t\t\t<th>Numero de Solicitud</td>\n\t\t\t<td>{$rwc['0']}</td>\n\t\t\t<th>Periocidad de Pago</td>\n\t\t\t<td>{$perpagos}</td>\n\t\t</tr>\n\n\t\t<!-- <tr>\n\t\t\t<th>Clasificacion del Destino</td>\n\t\t\t<td></td>\n\t\t\t<th>Destino del Recurso</td>\n\t\t\t<td></td>\n\t\t</tr> -->\n<tr>\n\t<th>Plazo En Meses (Aprox)</td>\n\t<td><b>{$plazo_en_meses} Meses</b></td>\n</tr>\n\t\t<tr>\n\t\t\t<th>Destino del Recurso</td>\n\t\t\t<td colspan='3'>{$credito_destino_extendido}</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th>Tasa de Interes Anual Bruta</td>\n\t\t\t<td>{$tasa} %</td>\n\t\t\t<th>Numero de Pagos</td>\n\t\t\t<td>{$rwc['8']}</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th>Monto Solicitado</td>\n\t\t\t<td><b>{$montosol}</b></td>\n\t\t\t<th colspan='2'>( {$montoletras} )</td>\n\t\t</tr>\n\t\t<tr>\n\t\t\t<th>Contrato de Deposito Relacionado</td>\n\t\t\t<td>{$contrato_corriente}</td>\n\t\t\t<th>Tasa de Ahorro</td>\n\t\t\t<td>{$tasa_ahorro} %</td>\n\t\t</tr>\n\t\t</table>\n\t\t</fieldset>";
 // dependientes economicos.
 $sqlde = "SELECT\n\t\t\t`socios_relacionestipos`.`descripcion_relacionestipos` AS `tipo_de_relacion`,\n\t\t\t`socios_relaciones`.`curp`,\n\t\t\tCONCAT(`socios_relaciones`.`nombres`, ' ',\n\t\t    `socios_relaciones`.`apellido_paterno`, ' ',\n\t\t    `socios_relaciones`.`apellido_materno`)                    AS `nombre_completo`,\n\t\t\t`socios_relaciones`.`domicilio_completo`  AS `domicilio`\n\t\t\n\t\tFROM\n\t\t\t`socios_relaciones` `socios_relaciones` \n\t\t\t\tINNER JOIN `socios_relacionestipos` `socios_relacionestipos` \n\t\t\t\tON `socios_relaciones`.`tipo_relacion` = `socios_relacionestipos`.\n\t\t\t\t`idsocios_relacionestipos` \n\t\tWHERE\n\t\t\t(`socios_relaciones`.`socio_relacionado` = {$idsocio}) AND consanguinidad != 99 AND estatus=10 AND `socios_relaciones`.tipo_relacion!=21";
 $xTblPar = new cTabla($sqlde);
 $xTblPar->Show("Dependientes Economicos y Familia del Solicitante", false);
 // referencias personales
 //======================================================================================================================
 $sqldp = "SELECT\n\t\t\t`socios_relacionestipos`.`descripcion_relacionestipos` AS `tipo_de_referencia`,\n\t\t\t`socios_relaciones`.`curp`,\n\t\t\tCONCAT(`socios_relaciones`.`nombres`, ' ',\n\t\t    `socios_relaciones`.`apellido_paterno`, ' ',\n\t\t    `socios_relaciones`.`apellido_materno`)                    AS `nombre_completo`,\n\t\t\t`socios_relaciones`.`domicilio_completo`  AS `domicilio`\n\t\t\n\t\tFROM\n\t\t\t`socios_relaciones` `socios_relaciones` \n\t\t\t\tINNER JOIN `socios_relacionestipos` `socios_relacionestipos` \n\t\t\t\tON `socios_relaciones`.`tipo_relacion` = `socios_relacionestipos`.\n\t\t\t\t`idsocios_relacionestipos` \n\t\tWHERE socio_relacionado={$idsocio} AND (`socios_relaciones`.tipo_relacion=21\n\t\tOR `socios_relaciones`.tipo_relacion=22 OR `socios_relaciones`.tipo_relacion=23) AND estatus=10";
 $xTblRPer = new cTabla($sqldp);
 $xTblRPer->Show("Referencias Personales, Comerciales y Bancarias", false);
 if ($siflujo == "yes") {
     $sql_flujo = $sqlDic->getFlujoDeEfectivo($idsolicitud);
     $rsf = getRecordset($sql_flujo);
     $suma_E = 0;
     $suma_I = 0;
     $tds = "";
     $tde = "";
     while ($rw = mysql_fetch_array($rsf)) {
         $monto = $rw["monto"];
         if ($monto > 0) {
             $monto = getFMoney($monto);
             $tde = "<td class='mny'>{$monto}</td>\n\t\t\t<td></td>";
         } else {
             $monto = getFMoney($monto);
             $tde = "<td></td>\n\t\t\t<td class='mny'>{$monto}</td>";
         }
         $tds = $tds . "\n\t\t<tr>\n\t\t\t<td>{$rw['2']}</td>\n\t\t\t<td>{$rw['5']}</td>\n\t\t\t<td>{$rw['3']}</td>\n\t\t\t<td class='mny'>" . getFMoney($rw[6]) . "</td>\n\t\t\t{$tde}\n\n\t\t</tr>";
     }
 function setValidar()
 {
     $msg = "";
     $sql1 = "UPDATE socios_cajalocal SET localidad = UCASE( (SELECT ciudad_colonia FROM general_colonias WHERE codigo_postal=socios_cajalocal.codigo_postal LIMIT 0,1) )";
     $x1 = my_query($sql1);
     $sql2 = "UPDATE socios_cajalocal SET localidad = UCASE( descripcion_cajalocal ) WHERE ISNULL(localidad) = TRUE OR localidad = '' ";
     $x2 = my_query($sql2);
     $sql3 = "UPDATE socios_cajalocal SET ultimosocio = CONCAT(idsocios_cajalocal, '0001') WHERE ISNULL(ultimosocio) = TRUE OR ultimosocio = 0";
     $x3 = my_query($sql3);
     $sql4 = "UPDATE socios_cajalocal SET estado = UCASE( (SELECT estado_colonia FROM general_colonias WHERE codigo_postal=socios_cajalocal.codigo_postal LIMIT 0,1) )";
     $x4 = my_query($sql4);
     $sql5 = " UPDATE socios_cajalocal SET municipio = UCASE( (SELECT municipio_colonia FROM general_colonias WHERE codigo_postal=socios_cajalocal.codigo_postal LIMIT 0,1) )";
     $x5 = my_query($sql5);
     $msg .= $x1["info"];
     $msg .= $x2["info"];
     $msg .= $x3["info"];
     $msg .= $x4["info"];
     $msg .= $x5["info"];
     $msg .= "===============\tSOCIOS A SUS SUCURSALES\r\n";
     $rs_cl = "SELECT * FROM socios_cajalocal";
     $rsm = getRecordset($rs_cl);
     while ($rwcl = mysql_fetch_array($rsm)) {
         $sql_us = "UPDATE socios_general set sucursal='{$rwcl['4']}' WHERE cajalocal={$rwcl['0']}";
         my_query($sql_us);
         $msg .= date("H:i:s") . "\t\tActualizando la sucursal de la caja local {$rwcl['0']} a {$rwcl['4']}\r\n";
     }
     @mysql_free_result($rsm);
     $xTbl = new cSAFETabla();
     //array de tablas
     $arrTab = $xTbl->getTablasConOperaciones();
     unset($arrTab["socio_general"]);
     unset($arrTab["general_colonias"]);
     //array de socios_por_tabla
     foreach ($arrTab as $key => $value) {
         //Actualizar Cuentas de Credito
         $tabla = $value;
         $xTbl->init($tabla);
         $tablaK = $xTbl->getCampoSocio();
         $sql_us = "UPDATE {$tabla} SET {$tabla}.sucursal = getSucursalBySocio({$tablaK})";
         $t = my_query($sql_us);
         $msg .= date("H:i:s") . "\tActualizando la Tabla {$tabla}\r\n";
         $msg .= $t[SYS_MSG] . "\r\n";
     }
     return $msg;
 }
function listar_cuentas($idcta)
{
    //$idcta = substr($idcta, 1, -1);
    $sucess = true;
    $tds = "";
    $i = 1;
    $xCta = new cCuentaContableEsquema($idcta);
    $sql = "SELECT numero, nombre FROM contable_catalogo WHERE numero LIKE '" . $xCta->CUENTARAW . "%' AND afectable=1  ORDER BY numero LIMIT 0,10";
    if (MODO_DEBUG == true) {
        setLog($sql);
    }
    if (trim($idcta) == "" or (int) $idcta == 0) {
        $sucess = false;
    }
    if ($sucess == true) {
        $rs = getRecordset($sql);
        while ($row = mysql_fetch_array($rs)) {
            $ctaformateada = $row[0];
            $nombrecuenta = substr(htmlentities($row[1]), 0, 20);
            if ($i == 2) {
                $i = 1;
            } else {
                $i++;
            }
            //
            $tds .= " \n\n\t\t\t<option value=\"{$row['0']}\" >{$ctaformateada} - {$nombrecuenta}</option>";
        }
    } else {
        $tds .= " \n<option >NO HAY CUENTAS PARA ({$idcta})</option>";
    }
    if ($sucess = true) {
        return "<select name=\"underCuenta\" id=\"idUnderCuenta\" size=\"10\"\n\t\t\tonclick=\"setNumeroCuenta(this.value);\"\n\t\t\tonblur=\"setNoSearchCatalog();\"\n\t\t\tonkeyup=\"setActionByKey(event);\" >\n\t\t\t\t{$tds}\n\t\t\t</select>";
    }
}
 function setBackup($Fecha)
 {
     $Fecha = $Fecha == false ? date("Y-m-d") : $Fecha;
     $mFile = PATH_BACKUPS . "safeosms-permissions-" . getSucursal() . "-{$Fecha}.sbk";
     $sql = "SELECT idgeneral_menu, menu_rules FROM general_menu";
     $xLog = @fopen($mFile, "w+");
     $rs = getRecordset($sql);
     while ($rw = mysql_fetch_array($rs)) {
         $text = $rw["idgeneral_menu"] . "|" . htmlentities($rw["menu_rules"]) . "\r\n";
         @fwrite($xLog, $text);
     }
     @fclose($xLog);
     return $mFile;
 }
    $es_por_operacion = " AND\n\t(`operaciones_no_estadisticas`.`tipo_de_operacion` ='{$tipo_operacion}')";
}
$f3 = $_GET["f3"];
$input = $_GET["out"];
if (!$input) {
    $input = "default";
}
/* ******************************************************************************/
$setSql = "SELECT socios.nombre, creditos_solicitud.numero_socio AS 'socio', \n\tcreditos_solicitud.numero_solicitud AS 'solicitud', \n\tcreditos_tipoconvenio.descripcion_tipoconvenio AS 'modalidad', \n\tcreditos_periocidadpagos.descripcion_periocidadpagos AS 'condiciones_de_pago', \n\tcreditos_solicitud.fecha_ministracion AS 'fecha_de_otorgamiento', \n\tcreditos_solicitud.monto_autorizado AS 'monto_original', \n\tcreditos_solicitud.fecha_vencimiento AS 'fecha_de_vencimiento', \n\tcreditos_solicitud.tasa_interes AS 'tasa_ordinaria_nominal_anual',\n\t creditos_solicitud.pagos_autorizados AS 'numero_de_pagos', \n\tcreditos_solicitud.periocidad_de_pago AS 'frecuencia', \n\tcreditos_solicitud.saldo_actual AS 'saldo_insoluto', \n\tcreditos_solicitud.fecha_ultimo_mvto, \n\tcreditos_estatus.descripcion_estatus AS 'estatus', \n\tsocios.genero, socios.tipo_ingreso, \n\tcreditos_solicitud.tipo_autorizacion AS 'modaut',\n\t`operaciones_no_estadisticas`.* \n\tFROM \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 `socios` `socios` \n\t\t\tON `creditos_solicitud`.`numero_socio` = `socios`.`codigo` \n\t\t\t\tINNER JOIN `operaciones_no_estadisticas` \n\t\t\t\t`operaciones_no_estadisticas` \n\t\t\t\tON `creditos_solicitud`.`numero_solicitud` = \n\t\t\t\t`operaciones_no_estadisticas`.`documento` \n\t\t\t\t\tINNER JOIN `creditos_tipoconvenio` `creditos_tipoconvenio` \n\t\t\t\t\tON `creditos_solicitud`.`tipo_convenio` = \n\t\t\t\t\t`creditos_tipoconvenio`.`idcreditos_tipoconvenio` \n\t\t\t\t\t\tINNER JOIN `creditos_estatus` `creditos_estatus` \n\t\t\t\t\t\tON `creditos_solicitud`.`estatus_actual` = \n\t\t\t\t\t\t`creditos_estatus`.`idcreditos_estatus`\n\t\n\tWHERE creditos_solicitud.saldo_actual>=0.99\n\tAND\n\t(`creditos_solicitud`.`fecha_ultimo_mvto`>='{$fecha_inicial}')\n\t{$ByAutorizacion}\n\t{$es_por_estatus}\n\t{$es_por_frecuencia}\n\t{$es_por_convenio}\n\t{$es_por_operacion}\n\tAND\n\t(`operaciones_no_estadisticas`.`fecha` >='{$fecha_inicial}')\n\tAND\n\t(`operaciones_no_estadisticas`.`fecha` <='{$fecha_final}')\n\t\n\tORDER BY creditos_solicitud.tipo_autorizacion DESC,\n\t\t\t\tcreditos_solicitud.fecha_ministracion, \n\t\t\tcreditos_estatus.orden_clasificacion ASC, \n\t\t\tcreditos_solicitud.numero_socio, creditos_solicitud.numero_solicitud,\n\t\t\t`operaciones_no_estadisticas`.fecha";
//exit($setSql);
if ($input != OUT_EXCEL) {
    $credito_anterior = false;
    $TR_parent = "";
    $TR_child = "";
    //echo $setSql;
    $rs = getRecordset($setSql);
    $rows = mysql_num_rows($rs);
    $counter = 0;
    while ($rw = mysql_fetch_array($rs)) {
        //$TR_head		= "";
        if ($credito_anterior == false) {
            $credito_anterior = $rw["solicitud"];
        }
        $credito = $rw["solicitud"];
        if ($credito != $credito_anterior) {
            //resetear TR_child
            $TR_parent .= "\n\n  \t\t\t\t{$TR_head}\n\n  \t\t\t\t<tr>\n  \t\t\t\t\t<td colspan='4'>\n  \t\t\t\t\t\t<table width='100%'>\n  \t\t\t\t\t\t\t<thead>\n  \t\t\t\t\t\t\t\t<th width='10%'>[{$counter}]Recibo</th>\n  \t\t\t\t\t\t\t\t<th width='15%'>Fecha</th>\n  \t\t\t\t\t\t\t\t<th width='25%'>Operacion</th>\n  \t\t\t\t\t\t\t\t<th width='20%'>Monto</th>\n  \t\t\t\t\t\t\t\t<th width='30%'>Detalles</th>\n  \t\t\t\t\t\t\t<thead>\n  \t\t\t\t\t\t\t<tbody>\n  \t\t\t\t\t\t\t\t{$TR_child}\n  \t\t\t\t\t\t\t</tbody>\n  \t\t\t\t\t\t</table>\n  \t\t\t\t\t</td>\n  \t\t\t\t\t<tr>\n  \t\t\t\t\t\t<td colspan='4'> <hr /></td>\n  \t\t\t\t\t</tr>\n  \t\t\t\t</tr>\n  \t\t\t\t";
            $TR_child = "";
            $TR_head = "";
        }
        $TR_child .= "\n\t\t\t<tr>\n\t\t\t\t<td>" . $rw["recibo"] . "</td>\n\t\t\t\t<td>" . getFechaMX($rw["fecha"]) . "</td>\n\t\t\t\t<td>" . $rw["tipo_de_operacion"] . "</td>\n\t\t\t\t<td class='mny'>" . getFMoney($rw["monto"]) . "</td>\n\t\t\t\t<td>" . $rw["detalles"] . "</td>\n\t\t\t</tr>";
$permiso = getSIPAKALPermissions($theFile);
if ($permiso === false) {
    header("location:../404.php?i=999");
}
$_SESSION["current_file"] = addslashes($theFile);
//<=====	FIN_H
$iduser = $_SESSION["log_id"];
//=====================================================================================================
include_once "../core/entidad.datos.php";
include_once "../core/core.deprecated.inc.php";
include_once "../core/core.fechas.inc.php";
include_once "../core/core.config.inc.php";
include_once "../core/core.common.inc.php";
header("Content-type: text/xml");
$txt = "";
$iSQL = new cSQLListas();
$persona = isset($_REQUEST["persona"]) ? $_REQUEST["persona"] : "";
$docto = isset($_REQUEST["documento"]) ? $_REQUEST["documento"] : "";
$fecha = isset($_REQUEST["fecha"]) ? $_REQUEST["fecha"] : fechasys();
$mx = isset($_REQUEST["mx"]) ? true : false;
$xF = new cFecha();
if ($mx == true) {
    $fecha = $xF->getFechaISO($fecha);
}
$rs = getRecordset($iSQL->getListadoDeRecibos("", $persona, $docto, $fecha));
while ($rw = mysql_fetch_array($rs)) {
    $txt .= "<recibo codigo=\"" . $rw["numero"] . "\" fecha=\"" . $rw["fecha"] . "\" documento=\"" . $rw["documento"] . "\" persona=\"" . $rw["socio"] . "\">";
    $txt .= "" . $rw["total"];
    $txt .= "</recibo>\n";
}
echo "<?xml version =\"1.0\" ?>\n<result>\n" . $txt . "</result>";