$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->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();
 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);
 }
    if ($clave != null) {
        $xTabla->setData($xTabla->query()->initByID($clave));
    }
}
$xFRM = new cHForm("frmaml_risk_register", "riesgo.editar.frm.php?action={$step}");
if ($step == MQL_MOD) {
    $xFRM->addGuardar();
} else {
    $xFRM->addSubmit();
}
$clave = parametro($xTabla->getKey(), null, MQL_INT);
if (($action == MQL_ADD or $action == MQL_MOD) and $clave != null) {
    $xTabla->setData($xTabla->query()->initByID($clave));
    $xTabla->setData($_REQUEST);
    $persona = parametro("idsocio0", $xTabla->persona_relacionada()->v(), MQL_INT);
    $tercero = parametro("idsocio1", $xTabla->tercero_relacionado()->v(), MQL_INT);
    $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));