function add($persona, $tipo, $fecha, $valor, $documento, $tipo_de_documento = false, $usuario = false, $hora = false, $instrumento = false, $tipo_de_operacion = false, $tercero_relacionado = DEFAULT_SOCIO, $mensajes = "", $inmediato = false)
 {
     $hora = $hora == false ? date("Hi") : $hora;
     $usuario = $usuario == false ? getUsuarioActual() : $usuario;
     $tipo_de_documento = $tipo_de_documento == false ? iDE_RECIBO : $tipo_de_documento;
     $instrumento = setNoMenorQueCero($instrumento);
     if ($instrumento <= 0 or setNoMenorQueCero($tipo_de_operacion) <= 0) {
         switch ($tipo_de_documento) {
             case iDE_RECIBO:
                 $EqOps = new cSistemaEquivalencias(TOPERACIONES_RECIBOSTIPOS);
                 $EqTes = new cSistemaEquivalencias(TTESORERIA_TIPOS_DE_PAGO);
                 $xRec = new cReciboDeOperacion(false, false, $documento);
                 $instrumento = $EqTes->get($xRec->getTipoDePago());
                 $tipo_de_operacion = $EqOps->get($xRec->getTipoDeRecibo());
                 if ($xRec->isDivisaExtranjera() == true) {
                     $instrumento = AML_OPERACIONES_CLAVE_DIVISA;
                 }
                 if ($tipo_de_operacion == null) {
                     $tipo_de_operacion = "01";
                 }
                 break;
         }
     }
     if ($inmediato == true) {
         $inmediato = 1;
     }
     $inmediato = setNoMenorQueCero($inmediato);
     $xPR = new cAml_risk_register();
     $xPR->clave_de_riesgo($xPR->query()->getLastID());
     $xPR->escore($valor);
     $xPR->fecha_de_reporte($fecha);
     $xPR->hora_de_reporte($hora);
     $xPR->persona_relacionada($persona);
     $xPR->tipo_de_riesgo($tipo);
     $xPR->usuario_de_origen($usuario);
     $xPR->tipo_de_documento($tipo_de_documento);
     $xPR->documento_relacionado($documento);
     $xPR->estado_de_envio(SYS_UNO);
     $xPR->fecha_de_envio(0);
     $xPR->estado_de_envio(0);
     $xPR->fecha_de_checking(0);
     $xPR->oficial_de_checking(AML_OFICIAL_DE_CUMPLIMIENTO);
     $xPR->monto_total_relacionado(0);
     //cargar datos del recibo
     $xPR->instrumento_financiero($instrumento);
     //mejorar segun catalogo CNBV
     $xPR->tipo_de_operacion($tipo_de_operacion);
     $xPR->tercero_relacionado($tercero_relacionado);
     $xPR->mensajes_del_sistema($mensajes);
     $xPR->reporte_inmediato($inmediato);
     $ql = $xPR->query()->insert();
     $ql->save();
     $this->mMessages .= $ql->getMessages(OUT_TXT);
 }
 $persona = $xRisk->persona_relacionada()->v();
 // $data["persona"];
 $fechaDetec = $xF->getFechaByInt($xRisk->fecha_de_reporte()->v());
 //$data["fecha"]);
 //$tipo_de_riesgo	=  $data["tipo_de_riesgo"];
 //obtener listado de operaciones en el mes
 $xAML = new cAMLPersonas($persona);
 $xSoc = new cSocio($persona, true);
 $ODom = $xSoc->getODomicilio();
 $OAEc = $xSoc->getOActividadEconomica();
 $tp = $xSoc->getEsPersonaFisica() == true ? 1 : 2;
 $nac = $xSoc->getPaisDeOrigen() == EACP_CLAVE_DE_PAIS ? 1 : 2;
 $detalles = $xRisk->mensajes_del_sistema()->v(OUT_TXT);
 $razones = $xRisk->razones_de_reporte()->v(OUT_TXT);
 //obtiene las razones de cada operacion presente.
 $recibo = $xRisk->documento_relacionado()->v();
 $cont = array();
 $linea = "";
 $cont[1] = $xLayout->getClave();
 $cont[2] = $FechaExtraccion;
 $cont[3] = $operaciones == 0 ? 1 : $operaciones;
 $cont[4] = "01" . $xT->cSerial(3, $supervisor);
 //clave nacional de entidad supervisora 1002 = CNBV
 $cont[5] = $casfin;
 $cont[6] = $xLoc->DomicilioLocalidadClave();
 // cambiar por la UIF
 $cont[7] = $xLoc->DomicilioCodigoPostal();
 // CP de la sucursal
 $xRec = new cReciboDeOperacion(false, false, $recibo);
 $xRec->init();
 $docto_relacionado = $xRec->getCodigoDeDocumento() == DEFAULT_CREDITO ? $xRec->getCodigoDeRecibo() : $xRec->getCodigoDeDocumento();
 $fechaDetec = $xF->getFechaByInt($xRisk->fecha_de_reporte()->v());
 //$data["fecha"]);
 //$tipo_de_riesgo	=  $data["tipo_de_riesgo"];
 //obtener listado de operaciones en el mes
 $xAML = new cAMLPersonas($persona);
 $xSoc = new cSocio($persona, true);
 $ODom = $xSoc->getODomicilio();
 $OAEc = $xSoc->getOActividadEconomica();
 $tp = $xSoc->getEsPersonaFisica() == true ? 1 : 2;
 $nac = $xSoc->getPaisDeOrigen() == EACP_CLAVE_DE_PAIS ? 1 : 2;
 $detalles = $xRisk->notas_de_checking()->v(OUT_TXT);
 $razones = $xRisk->razones_de_reporte()->v(OUT_TXT);
 $tipo_de_obj = $xRisk->tipo_de_documento()->v();
 $tercero = $xRisk->tercero_relacionado()->v();
 //obtiene las razones de cada operacion presente.
 $recibo = $xRisk->documento_relacionado()->v();
 $cont = array();
 $linea = "";
 $cont[1] = $xLayout->getClave();
 $cont[2] = $FechaExtraccion;
 $cont[3] = $operaciones == 0 ? 1 : $operaciones;
 $cont[4] = "01" . $xT->cSerial(3, $supervisor);
 //clave nacional de entidad supervisora 1002 = CNBV
 $cont[5] = $casfin;
 $cont[6] = $xLoc->DomicilioLocalidadClave();
 // cambiar por la UIF
 $cont[7] = $xLoc->DomicilioCodigoPostal();
 // CP de la sucursal
 $docto_relacionado = $OAEc == null ? $OAEc->getNumeroDeSeguridadSocial() : $xRisk->documento_relacionado()->v();
 //($xRec->getCodigoDeDocumento() == DEFAULT_CREDITO) ? $xRec->getCodigoDeRecibo() : $xRec->getCodigoDeDocumento();
 $fecha_de_op = $xF->getFechaByInt($xRisk->fecha_de_reporte()->v());
    $xTabla->persona_relacionada($persona);
    $xTabla->tercero_relacionado($tercero);
    if ($action == MQL_ADD) {
        $xTabla->query()->insert()->save();
    } else {
        $xTabla->query()->update()->save($clave);
    }
    $xFRM->addAvisoRegistroOK();
}
$xFRM->OHidden("clave_de_riesgo", $xTabla->clave_de_riesgo()->v(), "TR.clave de riesgo");
$xFRM->addHElem($xTxt->getDeSocio("0", false, $xTabla->persona_relacionada()->v(), "", "TR.persona"));
$xFRM->addHElem($xTxt->getDeSocio("1", false, $xTabla->tercero_relacionado()->v(), "", "TR.persona relacionada"));
//$xFRM->OMoneda("persona_relacionada"
//$xFRM->OMoneda("tercero_relacionado"
$xFRM->addHElem($xSel->getListaDeRiesgosAML("tipo_de_riesgo", "", $xTabla->tipo_de_riesgo()->v())->get(true));
$xFRM->OMoneda("documento_relacionado", $xTabla->documento_relacionado()->v(), "TR.documento relacionado");
$xFRM->addHElem($xSel->getListaDeObjetosEnSistema("tipo_de_documento", $xTabla->tipo_de_documento()->v())->get(true));
//$xFRM->OMoneda("tipo_de_documento", $xTabla->tipo_de_documento()->v(), "TR.tipo de documento");
$ti = $xSel->getListadoGenerico("aml_tipos_de_operacion", "tipo_de_operacion");
$ti->setOptionSelect($xTabla->tipo_de_operacion()->v());
$xFRM->addHElem($ti->get("TR.tipo de operacion", true));
$ti2 = $xSel->getListadoGenerico("aml_instrumentos_financieros", "instrumento_financiero");
$ti2->setOptionSelect($xTabla->instrumento_financiero()->v());
$xFRM->addHElem($ti2->get("TR.instrumento_financiero", true));
//$xFRM->OText("tipo_de_operacion", $xTabla->tipo_de_operacion()->v(), "TR.tipo de operacion");
//$xFRM->OMoneda("instrumento_financiero", $xTabla->instrumento_financiero()->v(), "TR.instrumento financiero");
$xFRM->OMoneda("monto_total_relacionado", $xTabla->monto_total_relacionado()->v(), "TR.monto total relacionado");
//$xFRM->OTextArea("notas_de_checking", $xTabla->notas_de_checking()->v(), "TR.notas de checking");
//$xFRM->OTextArea("mensajes_del_sistema", $xTabla->mensajes_del_sistema()->v(), "TR.mensajes del sistema");
//$xFRM->OMoneda("tipo_de_riesgo", $xTabla->tipo_de_riesgo()->v(), "TR.tipo de riesgo");
//$xFRM->OMoneda("fecha_de_envio", $xTabla->fecha_de_envio()->v(), "TR.fecha de envio");