Generar link para abrir directamente la visualización de un objeto

Publicado al menos 4 años hace por Flexygo Team

Publicar un tema
Flexygo Team
Flexygo Team

Hola,

Me gustaría saber si se puede abrir por defecto un Objeto determinado. 
Necesito enviar un email con un link, que acceda directamente a un objeto determinado.


Saludos,

Berta Colom

0 Votos


3 Comentarios

Clasificado por
Flexygo Team

Flexygo Team publicado en torno a 3 años hace

Buenos días, siguiendo con el hilo, seria posible que se abriera solo el objeto sin los menús superior y de la izquierda?

0 Votos

Flexygo Team

Flexygo Team publicado más de 3 años hace

Os dejo  el código para codificar y descodificar desde un Procedure, por si os pudiera servir.


--

-- Codificar de string a b64

--

SELECT

    CAST(N'' AS XML).value(

 'xs:base64Binary(xs:hexBinary(sql:column("bin")))',

 'VARCHAR(MAX)'

    )

FROM (

    SELECT CAST('{"targetid":"main","navigateFun":"openpage","objectname":"pers_tarea","objectwhere":"(tareas.IdTarea=6074)","defaults":"null","pagetypeid":"view","filtersValues":null,"pagename":"9806A868-0947-47AA-B4B3-364EF2B6A23F"}'

 AS VARBINARY(MAX)) AS bin

) AS bin_sql_server_temp;


--

-- Decodificar de b64 a string

--

SELECT

    CAST(

        CAST(N'' AS XML).value(

            'xs:base64Binary("eyJ0YXJnZXRpZCI6Im1haW4iLCJuYXZpZ2F0ZUZ1biI6Im9wZW5wYWdlIiwib2JqZWN0bmFtZSI6InBlcnNfdGFyZWEiLCJvYmplY3R3aGVyZSI6Iih0YXJlYXMuSWRUYXJlYT0nNjA3NCcpIiwiZGVmYXVsdHMiOiJudWxsIiwicGFnZXR5cGVpZCI6InZpZXciLCJmaWx0ZXJzVmFsdWVzIjpudWxsLCJwYWdlbmFtZSI6Ijk4MDZBODY4LTA5NDctNDdBQS1CNEIzLTM2NEVGMkI2QTIzRiJ9")'

          , 'VARBINARY(MAX)'

        )

        AS VARCHAR(MAX)

    ) ASCIIEncoding

;

 


0 Votos

Flexygo Team

Flexygo Team publicado al menos 4 años hace

Hola Berta Colom,
Para enviar un link por email directo a un objeto tienes que usar la siguiente nomenclatura:

https://direccionflexygo/Index?u=JSONDeUbicaciónEnBase64 

Donde el parametro U será la serialización en Base64 de un parametro tipo:

{"targetid":"current","navigateFun":"openpage","objectname":"Empleado","objectwhere":"idempleado=1","defaults":"null","pagetypeid":"view","filtersValues":null,"pagename":"syspage-view-default"}

Si coges cualquier dirección de flexygo, te quedas con el parametro que hay tras el # y lo pasas a string usando la función btoa de javascript verás el contenido.


Luego puedes volver a pasarlo a b64 usando la función JS atob o cualquier otro sistema para codificar en base64.


Te adjunto también como sería desde VB .net. 

Public Shared Function DecodeBase64ToString(valor As String) As String
    Dim myBase64ret As Byte() = Convert.FromBase64String(valor)
    Dim myStr As String = System.Text.Encoding.UTF8.GetString(myBase64ret)
    Return myStr
End Function

Public Shared Function EncodeStrToBase64(valor As String) As String
    Dim myByte As Byte() = System.Text.Encoding.UTF8.GetBytes(valor)
    Dim myBase64 As String = Convert.ToBase64String(myByte)
    Return myBase64
End Function


Si el usuario no está logueado, le pedirá primero el  login y luego le llevará al view. Si ya está logueado, navegará  directamente a la página.

Un saludo,
Rubén Pardo

0 Votos

Iniciar sesión o Registrarse para publicar un comentario