function addRelacion($numero_de_socio = FALLBACK_CLAVE_DE_PERSONA, $tipo_de_relacion = DEFAULT_TIPO_RELACION, $consanguinidad = DEFAULT_TIPO_CONSANGUINIDAD, $depende = 0, $observaciones = "", $monto_relacionado = 0, $porcentaje_relacionado = 1, $fecha_de_alta = false, $documento = false)
 {
     $xSocRel = new cSocio($numero_de_socio);
     $xSocRel->init();
     $DSocR = $xSocRel->getDatosInArray();
     $documento = $documento == false ? DEFAULT_CREDITO : $documento;
     $nombres = $xSocRel->getNombre();
     $apellido_paterno = $xSocRel->getApellidoPaterno();
     $apellido_materno = $xSocRel->getApellidoMaterno();
     $domicilio = $xSocRel->getDomicilio();
     $DTel = $xSocRel->getTelefonos();
     $telefono_fijo = isset($DTel[1]) ? $DTel[1] : 0;
     $telefono_movil = isset($DTel[2]) ? $DTel[2] : 0;
     $fecha_de_nacimiento = $xSocRel->getFechaDeNacimiento();
     $curp = $xSocRel->getCURP();
     $DOcup = $xSocRel->getOActividadEconomica();
     $monto_relacionado = setNoMenorQueCero($monto_relacionado);
     // ( !isset($monto_relacionado) OR $monto_relacionado === false ) ? 0 : $monto_relacionado;
     $ocupacion = $DOcup == null ? "DESCONOCIDO" : $DOcup->getPuesto();
     $socio_relacionado = $this->mPersona;
     $sucursal = getSucursal();
     $eacp = EACP_CLAVE;
     $fecha_de_alta = $fecha_de_alta == false ? fechasys() : $fecha_de_alta;
     $iduser = getUsuarioActual();
     $estatus = 10;
     $depende = setNoMenorQueCero($depende);
     $this->mClaveDePersona = $numero_de_socio;
     //Sentencia Sql
     $sql = "INSERT INTO socios_relaciones(socio_relacionado, credito_relacionado, tipo_relacion,\n\t\tnumero_socio, nombres, apellido_paterno, apellido_materno, domicilio_completo,\n\t\ttelefono_residencia, telefono_movil, fecha_nacimiento, monto_relacionado,\n\t\tporcentaje_relacionado, fecha_alta, curp, observaciones, idusuario,\n\t\tconsanguinidad, estatus, dependiente, codigo, ocupacion, sucursal, eacp)\n\t\tVALUES ({$socio_relacionado}, {$documento}, {$tipo_de_relacion}, {$numero_de_socio}, '{$nombres}', '{$apellido_paterno}', '{$apellido_materno}',\n\t\t'{$domicilio}', '{$telefono_fijo}', '{$telefono_movil}', '{$fecha_de_nacimiento}', '{$monto_relacionado}', {$porcentaje_relacionado},\n\t\t'{$fecha_de_alta}', '{$curp}', '{$observaciones}', {$iduser}, {$consanguinidad},\n\t\t{$estatus}, {$depende}, {$socio_relacionado}, '{$ocupacion}', '{$sucursal}', '{$eacp}')\n\t\t";
     //agregar relacion inversa
     // Envio Sql
     $res = my_query($sql);
     $sucess = $res[SYS_ESTADO];
     if ($sucess == true) {
         //agregar modificaciones de Grupo
         switch ($tipo_de_relacion) {
             case GRUPO_CLAVE_INTEGRANTE:
                 $xPer = new cSocio($numero_de_socio);
                 $xPer->setUpdate(array("grupo_solidario" => "{$socio_relacionado}"));
                 break;
             case GRUPO_CLAVE_PRESIDENTA:
                 $xGr = new cGrupo($socio_relacionado);
                 $xGr->setUpdate(array("representante_numerosocio" => "{$numero_de_socio}", "representante_nombrecompleto" => "{$apellido_paterno} {$apellido_materno} {$nombres}"));
                 $xPer = new cSocio($numero_de_socio);
                 $xPer->setUpdate(array("grupo_solidario" => "{$socio_relacionado}"));
                 break;
             case GRUPO_CLAVE_VOCAL:
                 $xGr = new cGrupo($socio_relacionado);
                 $xGr->setUpdate(array("vocalvigilancia_numerosocio" => "{$numero_de_socio}", "vocalvigilancia_nombrecompleto" => "{$apellido_paterno} {$apellido_materno} {$nombres}"));
                 $xPer = new cSocio($numero_de_socio);
                 $xPer->setUpdate(array("grupo_solidario" => "{$socio_relacionado}"));
                 break;
         }
         //Agregar relación Inversa
     } else {
         $this->mMessages .= "ERROR\tError al guardar la relacion\r\n";
     }
     return $sucess;
 }