function setVerificarDocumentosCompletos($fecha_de_verificacion = false)
 {
     $xB = new cBases();
     $xSoc = $this->getOPersona();
     $mems = $xSoc->getEsPersonaFisica() == true ? $xB->getMembers_InArray(false, BASE_DOCTOS_PERSONAS_FISICAS) : $xB->getMembers_InArray(false, BASE_DOCTOS_PERSONAS_MORALES);
     $sql = "SELECT `clave_de_control`, `tipo_de_documento`,`clave_de_persona` FROM `personas_documentacion` WHERE \n\t\t\t\t\t(`clave_de_persona` =" . $this->mClaveDePersona . ") AND (`estado_en_sistema` =" . AML_KYC_DOCTO_ACTIVO . ") ";
     $mql = new cPersonas_documentacion();
     $tdoctos = new cPersonas_documentacion_tipos();
     $TipoDeAlerta = 801005;
     $PersonaDeDestino = AML_OFICIAL_DE_CUMPLIMIENTO;
     $q = $mql->query()->select();
     $q->set($sql);
     $data = $q->exec();
     $doctos = array();
     $msg = "";
     foreach ($data as $campos) {
         $v = $campos[$mql->tipo_de_documento()->get()];
         $doctos[$v] = $v;
         //$this->mMessages	.= "Agregar " . $doctos[$mql->tipo_de_documento()->get()]	 . "\r\n";
     }
     if (MODO_DEBUG == true) {
         //$this->mMessages	.= $q->log();
     }
     foreach ($mems as $clave => $valor) {
         $tdoctos->setData($tdoctos->query()->initByID($valor));
         //var_dump($doctos[$valor]);
         if (!isset($doctos[$valor])) {
             $msg .= "ERROR\t" . $this->mClaveDePersona . "\tDocumento ({$valor}) " . $tdoctos->nombre_del_documento()->v() . " NO encontrado\r\n";
         } else {
             $msg .= "OK\t" . $this->mClaveDePersona . "\tDocumento " . $tdoctos->nombre_del_documento()->v() . " encontrado\r\n";
         }
     }
     //TODO: Verificar domicilios
     $dv = $xSoc->getODomicilio();
     if ($dv == null) {
         $msg .= "ERROR\t" . $this->mClaveDePersona . "\tNo existen datos de la Vivienda\r\n";
     } else {
         if ($dv->isInit() == false) {
             $msg .= "ERROR\t" . $this->mClaveDePersona . "\tNo existen datos de la Vivienda\r\n";
         }
     }
     //TODO. Verificar Actividad Economica
     $da = $xSoc->getOActividadEconomica();
     if ($da == null) {
         $msg .= "ERROR\t" . $this->mClaveDePersona . "\tNo existen datos del la Actividad Economica\r\n";
     } else {
         if ($da->isInit() == false) {
             $msg .= "ERROR\t" . $this->mClaveDePersona . "\tNo existen datos del Actividad Economica\r\n";
         }
     }
     $this->mMessages .= $msg;
     if ($this->mForceAvisos == true) {
         //generar aviso
         $xAml = new cAML();
         $xAml->setForceAlerts(true);
         $xAml->sendAlerts(getUsuarioActual(), $PersonaDeDestino, $TipoDeAlerta, $msg);
     }
 }
 function setRecibo($recibo)
 {
     $xRec = new cReciboDeOperacion(false, false, $recibo);
     if ($xRec->init() == true) {
         $this->setPersona($xRec->getCodigoDeSocio());
         $OTipo = $xRec->getOTipoRecibo();
         $origen = $OTipo->getOrigen();
         $afectEfvo = $OTipo->getAfectacionEnEfvo();
         $xCant = new cCantidad($xRec->getTotal());
         $QL = new MQL();
         $xF = new cFecha();
         $describe = "";
         $xCta = null;
         $xCred = null;
         //Bases de Operaciones de Captacion en Inversiones
         $xB3100 = new cBases(3100);
         $DB3100 = $xB3100->getMembers_InArray();
         $xB3200 = new cBases(3200);
         $DB3200 = $xB3200->getMembers_InArray();
         switch ($origen) {
             case RECIBOS_ORIGEN_MIXTO:
                 $this->setCredito($xRec->getCodigoDeDocumento());
                 break;
             case RECIBOS_ORIGEN_COLOCACION:
                 $this->setCredito($xRec->getCodigoDeDocumento());
                 break;
             case RECIBOS_ORIGEN_CAPTACION:
                 $this->setCuentaDeCaptacion($xRec->getCodigoDeDocumento());
                 break;
         }
         $this->mArr["variable_tipo_de_recibo"] = $OTipo->getNombre();
         $this->mArr["variable_datos_del_pago"] = $xRec->getDatosDeCobro();
         $this->mArr["variable_numero_de_recibo"] = $recibo;
         $this->mArr["variable_docto_fecha_larga_actual"] = $xF->getFechaLarga($xRec->getFechaDeRecibo());
         $this->mArr["variable_observacion_del_recibo"] = $xRec->getObservaciones();
         $this->mArr["variable_monto_del_recibo_en_letras"] = $xCant->letras();
         $this->mArr["variable_monto_del_recibo"] = $xCant->moneda();
         ///$this->mArr["variable_nombre_del_cajero"] 			= $xRec->getOUsuario()->getNombreCompleto();
         $this->mEsRecibo = true;
         $this->setUsuario($xRec->getCodigoDeUsuario());
         //obtener operaciones
         $this->mRecibo = $recibo;
         $sqlmvto = "SELECT\n\t\t\t`operaciones_mvtos`.`socio_afectado`        AS `numero_de_socio`,\n\t\t\t`operaciones_mvtos`.`docto_afectado`        AS `numero_de_documento`,\n\t\t\t`operaciones_mvtos`.`recibo_afectado`       AS `numero_de_recibo`,\n\t\t\t`operaciones_mvtos`.`idoperaciones_mvtos`   AS `numero_del_movimiento`,\n\t\t\t`operaciones_tipos`.`descripcion_operacion` AS `concepto_del_movimiento`,\n\t\t\t`operaciones_mvtos`.`afectacion_real`       AS `monto_del_movimiento`,\n\t\t\t`operaciones_mvtos`.`valor_afectacion`      AS `naturaleza_del_movimiento`,\n\t\t\t`operaciones_tipos`.`nombre_corto` \t\t\tAS `concepto_nombre_corto`,\n\t\t\t`operaciones_mvtos`.`periodo_socio`        \tAS `parcialidad`,\n\t\t\t`operaciones_mvtos`.`detalles` \t\t\t\tAS `observacion_del_mvto`,\n\t\t\t`operaciones_mvtos`.`tipo_operacion`\t\tAS `tipo_de_movimiento`\n\t\t\tFROM\n\t\t\t`operaciones_mvtos` `operaciones_mvtos`\tINNER JOIN `operaciones_tipos` `operaciones_tipos` ON `operaciones_mvtos`.`tipo_operacion` = `operaciones_tipos`.`idoperaciones_tipos`\n\t\t\tWHERE (`operaciones_mvtos`.`recibo_afectado` = {$recibo} ) ORDER BY `operaciones_mvtos`.`afectacion_real` DESC";
         $rs = $QL->getDataRecord($sqlmvto);
         //destino_del_movimiento
         foreach ($rs as $row) {
             $rwx = $row;
             $tipo = $row["tipo_de_movimiento"];
             $docto = $row["numero_de_documento"];
             $rwx["monto_del_movimiento"] = getFMoney($row["monto_del_movimiento"] * $row["naturaleza_del_movimiento"] * $afectEfvo);
             $rwx["destino_del_movimiento"] = " " . $row["numero_de_documento"];
             if (in_array($tipo, $DB3100) == true or in_array($tipo, $DB3200)) {
                 if ($origen == RECIBOS_ORIGEN_MIXTO) {
                     //TODO: Cargar datos de la cuenta de captacion y mostrar sus caracteristicas
                 } else {
                     //if($xCta == null){ $xCta = new cCuentaDeCaptacion($docto); $xCta->init(); }
                     $rwx["destino_del_movimiento"] .= "|" . $this->mArr["variable_tipo_de_cuenta"];
                 }
             } else {
                 $rwx["destino_del_movimiento"] .= "|" . substr($this->mArr["variable_tipo_de_credito"], 0, 5);
                 $rwx["destino_del_movimiento"] .= "|" . substr($this->mArr["variable_estado_de_credito"], 0, 3);
                 $rwx["destino_del_movimiento"] .= "|" . $row["parcialidad"] . "/" . $this->mArr["variable_credito_numero_de_pagos"];
             }
             $this->mDataMvto[] = $rwx;
         }
     }
 }
 $c4Tbl->addTool(2);
 $xHTabs->addTab($oFrm->lang("NOTAS"), $c4Tbl->Show());
 //1
 $xHTabs->addTab("TR.DOMICILIO", "");
 //2
 $xHTabs->addTab(PERSONAS_TITULO_PARTES, "");
 //3
 $xHTabs->addTab("TR.ACTIVIDAD_ECONOMICA", "");
 //tab4
 // Tabla de Relacion Patrimonial
 $xHTabs->addTab("TR.PATRIMONIO", "");
 //tab5?
 //=======================================================================
 $cnt = "";
 $xB = new cBases();
 $mems = $xSoc->getEsPersonaFisica() == true ? $xB->getMembers_InArray(false, BASE_DOCTOS_PERSONAS_FISICAS) : $xB->getMembers_InArray(false, BASE_DOCTOS_PERSONAS_MORALES);
 $rsDocs = $ql->getDataRecord($xql->getListadoDePersonasDoctos($idsocio));
 $xTbl = new cHTabla();
 foreach ($rsDocs as $rows) {
     $iddocto = $rows["archivo_de_documento"];
     $fecha = $xF->getFechaByInt($rows["fecha_de_carga"]);
     $xTbl->initRow();
     $xTbl->addTD($rows["tipo"]);
     $xTbl->addTD($xF->getFechaCorta($fecha));
     $xTbl->addTD($xBtn->getBasic($rows["archivo_de_documento"], "var xPers = new PersGen();xPers.getDocumento({persona:{$idsocio}, docto: '" . $rows["archivo_de_documento"] . "'});", $oFrm->ic()->TIPO));
     $xTbl->addTD($rows["observaciones"]);
     $xTbl->endRow();
 }
 $xHTabs->addTab("TR.DOCUMENTOS", $xTbl->get());
 //tabs
 if (getEsModuloMostrado(USUARIO_TIPO_OFICIAL_AML) == true) {
        saveError(210, $_SESSION["SN_b80bb7740288fda1f201890375a60c8f"], "Faltan Parametros({$params}) para el cobro, el Parametro {$ix} resulto " . $DPar[$ix]);
        header("location:../404.php?i=210");
        //provocar error 404
        exit;
    }
}
$xCred = new cCredito($solicitud, $socio);
$xCred->init();
$xLetra = null;
$tds = "";
$esp_tds = "";
$mMvtos = array();
$alerts = "";
//Movimientos que afectan al Capital
$cAfectCapital = new cBases(2004);
$aAfectCapital = $cAfectCapital->getMembers_InArray();
$mAfectCapital = 0;
$plan_de_pagos = false;
$socio = $xCred->getClaveDePersona();
$dcredito = $xCred->getDatosDeCredito();
$fecha_ministracion = $xCred->getFechaDeMinistracion();
// $dcredito["fecha_ministracion"];
$fecha_ult_mvto = $xCred->getFechaUltimoDePago();
$fecha_vencimiento = $xCred->getFechaDeVencimiento();
// $dcredito["fecha_vencimiento"];
$numero_de_pagos = $xCred->getPagosAutorizados();
$estatus_del_credito = $xCred->getEstadoActual();
$saldo_actual = $xCred->getSaldoActual();
$saldo_del_credito = $saldo_actual;
$interes_anticipado = $dcredito["sdo_int_ant"];
$grupo = $xCred->getClaveDeGrupo();