Header Web
Logo_PHC_Software
Manuais
RSS do Utilizador

A informação de que dispomos no dia-a-dia é elevada e a necessidade de a gerir de forma racional e otimizada, revela a extrema importância da utilização desta ferramenta. Ao utilizar os RSS do Utilizador, será possível ao utilizador ou até mesmo ao gestor, gerir a informação considerada importante para a execução das tarefas, ou até mesmo para a tomada de decisão, consoante a utilização adaptada desta funcionalidade. Por isto mesmo, esta funcionalidade tem uma relevância cada vez mais atual.

Esta funcionalidade é exclusiva para utilizadores que disponham das gamas Advanced e Enterprise, existindo também diferenças entre gamas se serão explanadas no exemplo apresentado.

Ao introduzir um RSS de Utilizador, o mesmo está a proporcionar ao destinatário, um foco maior no seu trabalho e ao mesmo tempo uma otimização dos recursos da entidade, para isso dispõe de uma configuração de acessos que permite até individualizar o RSS do Utilizador.

Após a introdução, o utilizador poderá consultar o mesmo, tendo mais opções disponíveis para interagir com o registo criado.


Ecrã em modo de Introdução
    Quando o utilizador está em modo de introdução/alteração de RSS de Utilizador, dispõe dos seguintes campos:

    Título
    Título do feed para ser apresentado no leitor de RSS.

    Nº interno
    Este número é sequencial e não controlado pelo utilizador. Poderá ser utilizado em posteriores consultas de RSS de Utilizador.

    Inativo
    Indica se este RSS está inativo

    Descrição
    Descrição do feed para ser usada na lista de feeds e no próprio feed xml

    Link para listagem
    Link completo para página onde apareça a listagem do conteúdo. Se existir.


    Este botão só está disponível quando o utilizador dispõe da gama Enterprise e permite ao utilizador definir os pressupostos e gerar o código automaticamente para o Feed de RSS do Utilizador.
    Quando o utilizador acede ao mesmo, é-lhe mostrada a seguinte janela:


    Com recurso a esta funcionalidade, poderá definir a seguinte informação no interior dos separadores:
      Dados Base
      - Nome SQL da tabela principal; [Por exemplo: FT]
      - Expressão para título; [Por exemplo: 'Fatura '+convert(char(10),ft.fno)]
      - Campos para descrição separados por vírgula; [Por exemplo: ft.nmdoc as Documento, ft.nome as Cliente. Nota: O nome da coluna não deve ter o prefixo de tabela.]
      - Campo para o autor (opcional); [Por exemplo: ft.ousrinis]
      - Campo para a data; [Por exemplo: ft.ousrdata]
      - Campo para a hora (opcional); [Por exemplo: ft.ousrhora]
      - Caminho completo para o form de edição; [Por exemplo: http://maisritmo.phc.pt/neg/ftform.aspx]
      - Filtro para dados (opcional); [Por exemplo: datediff(dd,ft.ousrdata,getdate())<4 and ft.ndoc=1]

      Se tiver linhas
      - Nome SQL da tabela de linhas; [Por exemplo: FI]
      - Filtro para ligação com tabela principal; [Por exemplo: fi.ftstamp='#STAMP#', onde #STAMP# será substituído pelo STAMP da tabela principal]
      - Campos das linhas separados por vírgula; [Por exemplo: ref as Referência, design as Descrição, etiliquido as Total]
      - Campo de Ordem das linhas (opcional); [Por exemplo: LORDEM]

      Quando posteriormente clicar em o campo Expressão será automaticamente preenchido com a informação colocada em Dados Base e Se tiver linhas.
      De acordo com os exemplos indicados nos respetivos campos, o código automaticamente apresentado no campo Expressão seria:



      ' criar a datatable que vai ser usada para o feed
      dim m as new datatable

      ' variável para produzir o SELECT
      Dim msel As String = ""
      msel="select top 50 FT.FTstamp as stamp,'Fatura '+convert(char(10),ft.fno)] as resumo,space(8000) as descricao,
      ft.nmdoc as Documento, ft.nome as Cliente,'http://maisritmo.phc.pt/neg/ftform.aspx' as link,ft.ousrdata as cdata,
      ft.ousrhora as chora, ft.ousrinis as autor from FT (nolock) where datediff(dd,ft.ousrdata,getdate())<4 and ft.ndoc=1
      order by ft.ousrdata desc , ft.ousrhora desc"

      ' ir buscar os dados
      m = cdata.getdatatable(msel)

      ' para cada registo obtido converter os campos necessários
      For Each mr As DataRow In m.rows

      ' conversão do link com o STAMP encriptado
      mr.Item("link") += "?stamp=" + xcfox.u_scrypt(mr.Item("stamp"))
      mr.Item("descricao") += "<font size=1 color=#CCC>Documento</fontgt<br>"+mr.item("Documento").tostring+
      "<br>" mr.Item("descricao") +=
      "<font size=1 color=#CCC> ft.nome as Clientelt/font><br>"+mr.item(" ft.nome as Cliente").tostring+"<br>"

      ' conversão de linhas: datatable com as linhas
      Dim clinhas As New DataTable
      clinhas = cdata.getcacheddatatable("u_FI_rss" + mr.item("stamp"), "select ref as Referência, design as Descrição,
      etiliquido as Total from FI (nolock) where fi.ftstamp='"+mr.Item("stamp")+" order by LORDEM")

      ' adicionar tabela com as linhas ao resultado
      If clinhas Is Nothing = False Then
      mr.item("descricao") += xcutil.listToHtml(clinhas)
      End If
      Next

      ' devolução da datatable com o conteúdo a fornecer
      Return m



    Expressão
    Expressão que retorna uma lista em T-SQL ou um objeto do tipo datatable com o que será apresentado no RSS. Esta lista deve conter os seguintes campos:
      RESUMO - O resumo do feed;
      DESCRICAO - O conteúdo de cada registo do feed;
      STAMP - Um identificador único do feed, para que o leitor saiba se já apresentou o registo ao utilizador;
      LINK - Caminho completo para a visualização daquele registo no PHC CS Web ou noutro destino;
      CDATA - A data do registo;
      CHORA - A hora do registo. Este campo é opcional;
      AUTOR - O autor do registo. Este campo é opcional e alguns leitores de RSS não o suportam. Se não estiver preenchido será usado campo de "categoria" do feed;
      IMAGEM - O endereço completo para o ficheiro ou stream de imagem que se pretende apresentar. Este campo é opcional.


    É um programa
    Caso o utilizador opte por efetuar um programa no campo Expressão, deverá ativar esta opção é um programa. Uma vez ativa, o conteúdo do campo mencionado deve retornar um objeto do tipo DATATABLE.
    Também com esta opção ativa, o campo Expressão passa a ter intellisense, ou seja, quando é colocada uma letra na caixa de texto é aberta uma caixa com todas as sugestões de código disponíveis para completar aquela palavra, à medida que se vai escrevendo as opções mostradas vão sendo filtradas até obter o que se pretende.


    Compilar e Simular
    Ao utilizar este botão irá validar o conteúdo do campo Expressão, caso haja algum erro de sintaxe será indicado o número da linha e qual o erro encontrado. Será também possível simular o resultado pretendido pelo código, utilizando para isso o botão .

    Categoria
    Este campo permite ao utilizador categorizar os RSS do utilizador consoante a sua necessidade.

    Número de vezes pedido na Intranet
    Nº de vezes que o RSS do Utilizador foi pedido através da Intranet.

    Número de vezes pedido na Extranet
    Nº de vezes que o RSS do Utilizador foi pedido através da Extranet.



    Se pretender limitar o acesso dos utilizadores à Utilização de RSS de Utilizadores, poderá utilizar as seguintes opções:

    • Ativar a opção Tem que possuir um determinado acesso à tabela:, indicar qual a tabela e indicar o acesso que o utilizador deverá ter.


    • Definir se o RSS de Utilizador estará disponível na Intranet e/ou na Extranet


    • Pode também definir se terá acesso ao RSS de Utilizador:

      • - Apenas a quem tem acesso ao módulo Gestão web
        - Apenas a quem tem acesso ao módulo Colaborador web
        - Apenas a quem tem acesso ao módulo Contabilidade web
        - Apenas a quem tem acesso ao módulo Suporte web
        - Apenas a quem tem acesso ao módulo Crm web
        - Apenas a quem tem acesso ao módulo Equipa web




Ecrã em modo de Consulta
    Ao consultar um registo de RSS do Utilizador, pode interagir com o registo da seguinte forma:

    Ao clicar neste botão, o utilizador é reencaminhado para Listagem de feeds de RSS. Ou seja, para um ecrã onde estão todos os RSS do Utilizador, que permanecem ativos, passíveis de serem subscritos.


    Clicando neste botão, o utilizador gerará o ficheiro XML, do qual deverá copiar o endereço para adicionar a um leitor de Feeds de RSS, subscrevendo o Feed.


    A interação com este botão permite ao utilizador correr o programa do RSS do Utilizador para verificar os dados pretendidos.


    Possibilita ao utilizador, aceder ao ecrã Log de Código de Utilizador, onde se guarda a informação relevante do código de utilizador que corre em determinado local para os diversos tipos de código.

    Tem a possibilidade de usufruir das opções de registo bem como pesquisar, alterar e/ou apagar o registo.

    E de efetuar um upload de uma imagem para qualquer uma das situações enumeradas anteriormente, o utilizador deverá ter em conta os seguintes botões:
    permite a escolha de um ficheiro numa diretoria;
    é utilizado para apagar uma imagem já existente;
    possibilita ao utilizador, rodar a imagem 90 graus, para a direita.



Exemplos práticos

    Este RSS do Utilizador, após subscrição efetuada, vai gerar um feed quando for adicionado um novo Recibo de c/c de Clientes.
    No entanto, existem diferenças entre gamas na utilização dos RSS do utilizador.

  • Caso o utilizador disponha da gama Enterprise, poderá experimentar o seguinte exemplo:




  • dim m as new datatable
    Dim msel As String = ""
    msel = " select CONCAT('recibo ' , nmdoc , ' numero ' , convert(varchar(10),rno)) as resumo, restamp as stamp, CONCAT('Cliente: ' , nome , ', valor: ' , cast(total as varchar(20))) as descricao,
    'http://localhost/Intranet/neg/reform.aspx' as link, ousrdata as cdata, ousrhora as chora from re (nolock) order by ousrdata desc, ousrhora desc"
    m = cdata.getdatatable(msel)
    For Each mr AS Datarow In m.rows
    mr.Item("link") += "?stamp=" + xcfox.u_scrypt(mr.Item("stamp"))
    mr.Item("descricao")=mr.Item("descricao").tostring.replace(microsoft.visualbasic.chr(13),"")
    Next
    return m



    Nota ao código: A utilização do endereço físico: 'http://localhost/Intranet/neg/reform.aspx'existente no código deve corresponder à instância do utilizador, cumulativamente com o ecrã de Recibos de C/c (../neg/reform.aspx).
    Com este exemplo, quando receber o Feed, por utilizar a gama Enterprise, o utilizador poderá navegar diretamente para o registo do Recibo c/c do Cliente, recentemente introduzido, através de um link existente no Feed.

  • Caso o utilizador disponha da gama Advanced, poderá experimentar o seguinte exemplo:





  • dim m as new datatable
    Dim msel As String = ""
    msel = " select CONCAT('recibo ' , nmdoc , ' numero ' , convert(varchar(10),rno)) as resumo, restamp as stamp, CONCAT('Cliente: ' , nome , ', valor: ' , cast(total as varchar(20))) as descricao, 'http://localhost/Intranet18/neg/reform.aspx' as link, ousrdata as cdata, ousrhora as chora from re (nolock) order by ousrdata desc, ousrhora desc"
    m = cdata.getdatatable(msel)
    return m



    Nota ao código: A utilização do endereço físico: 'http://localhost/Intranet/neg/reform.aspx'existente no código deve corresponder à instância do utilizador, cumulativamente com o ecrã de Recibos de C/c (../neg/reform.aspx).
    Com este exemplo, quando o utilizador receber o Feed, apenas poderá aceder ao ecrã de Recibo c/c do Cliente, recentemente introduzido, através de um link existente no Feed. Embora mostre o último registo, o utilizador terá que através de pesquisa ou outro método, encontrar o registo pretendido.







Framework Phc Cs Web