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;
 }
		</tr>
	</tbody>
</table>
</fieldset>

<?php 
    $sqlconyuge = "SELECT numero_socio, CONCAT(nombres, ' ', apellido_paterno, ' ', apellido_materno)\n\t\t\t\t\tAS 'Nombre_Completo',\n\t \t\t\t\tCONCAT( telefono_residencia, ', ', telefono_movil) as 'telefonos', ocupacion\n\t\t\t\t\tfrom socios_relaciones where consanguinidad=3\n\t\t\t\t\tAND socio_relacionado={$idsocio}";
    $conyuge = obten_filas($sqlconyuge);
    $txtConyuge = "";
    //$conyuge[0] - $conyuge[1] - Tel(s): $conyuge[2] Ocupaci&oacute;n: $conyuge[3]
    $rwy = $xSocio->getDatosInArray();
    $idconyuge = $xSocio->getClaveDePersonaDeConyuge();
    if ($conyuge > 0) {
        $xCon = new cSocio($idconyuge);
        $xCon->init();
        $DConT = $xCon->getTelefonos();
        $txtConyuge .= $idconyuge . "-" . $xCon->getNombreCompleto();
        $txtConyuge .= " TEL(S): " . $DConT["principal"];
        $conyuge_ocup = $xCon->getDatosActividadEconomica();
        $txtConyuge .= " OCUPACI&Oacute;N: " . $conyuge_ocup["puesto"];
    }
    $genero = eltipo("socios_genero", $rwy[15]);
    $civil = eltipo("socios_estadocivil", $rwy[14]);
    $ocupacion = volcartabla("socios_aeconomica", 18, "socio_aeconomica={$idsocio}");
    $edad = (int) (restarfechas($nowdate, $rwy[11]) / 365) . " A&ntilde;os";
    $dependientes = $rwy["dependientes_economicos"];
    $telp = $rwy["telefono_principal"];
    $mail = $rwy["correo_electronico"];
    $grupo_assoc = $rwy["grupo_solidario"];
    //$regimen_mat =
    $DDom = $xSocio->getDatosDomicilio(99);
            $str .= "{$arrRs[$i]}";
        } else {
            $str .= "@{$arrRs[$i]}";
        }
    }
    $values = explode("@", $str);
    $defaultAction = "o_3ac340832f29c11538fbe2d6f75e8bcc";
} else {
    if (isset($idNew)) {
        $DCred = explode(STD_LITERAL_DIVISOR, $idNew);
        $socio = $DCred[1];
        $credito = $DCred[2];
        //Inicializar el socio y el credito
        $xSocio = new cSocio($socio);
        $xSocio->init();
        $DTel = $xSocio->getTelefonos();
        $xCred = new cCredito($credito);
        $xCred->init();
        //TODO: Agregar Telefonos desde el New
        $telefono1 = $DTel[0];
        $telefono2 = $DTel[1];
        $deudaTotal = $xCred->getSaldoActual();
        $values = explode(STD_LITERAL_DIVISOR, "{$idNew}@{$deudaTotal}@{$telefono1}@{$telefono2}@{$fecha}@08:00@@pendiente@{$iduser}@{$sucursal}@{$eacp}");
    } else {
        $values = explode("@", "0@1@1@0.00@0@0@{$fecha}@08:00@@pendiente@{$iduser}@{$sucursal}@{$eacp}");
    }
}
switch ($o) {
    case "o_e0df5f3dfd2650ae5be9993434e2b2c0":
        //Insert
        //SQL INSERT