Envio de avisos via Função CriaAvs

Prev Next
  • PT

  • AO

  • MZ

  • CV

  • CS

  • Evolution

  • Web

  • Desktop


Na função CriaAvs, que tem como objetivo enviar avisos através da framework do Cegid PHC CS Web, estão disponíveis parâmetros opcionais, de forma a permitir a escolha do canal pelo qual se pretenda enviar o aviso. Ou seja, é agora possível enviar o aviso por vários canais, sendo eles o sistema interno de avisos, o Cegid PHC Notify, ou ambos.

A nova estrutura da função CriaAvs é a seguinte:

CriaAvs(stamp As String, 'stamp do ecrã
 userAv As String, 'utilizador destinatário;
 titulo As String, 'título do aviso;
 durl As String, 'ação, ou seja, url interno;
 tipo As cEnums.TiposdeAviso, 'tipo de aviso: Alerta, Ação, Redes ou Informação;
 Optional usrEnvia As Integer = 0, 'número interno do utilizador que envia o aviso;
 Optional ByVal MensagemNotify As String = "", 'conteúdo do aviso, apenas utilizado quando enviado por PHC Notify;
 Optional ByVal SuboriginNotify As String = "", 'origem do aviso, por exemplo, tabela/ecrã, apenas utilizado quando enviado por PHC Notify (nome da tabela da origem do aviso : obrigatório quando é passado o stamp do registo);
 Optional ByVal urlNotify As String = "", 'url completo para o PHC Notify, por exemplo, https://www.phcsoftware.com/;
 Optional canal As cEnums.TipodeCanal = cEnums.TipodeCanal.Aviso 'canal pelo qual se envia o aviso: por sistema interno, PHC Notify, Ambos, E-mail ou Todos;
 Optional TituloMonAvs As String = "", 'define o título deste tipo de aviso (coluna da esquerda no ecrã de Gestão de Avisos). Caso não esteja preenchido, a coluna da esquerda passa a estar preenchida com o parâmetro "SuboriginNotify", que, por sua vez, caso não esteja preenchido, é preenchido com o texto "Outros";
 Optional DescricaoMonAvs As String = "", 'define a descrição deste tipo de avisos (coluna da direita no ecrã de Gestão de Avisos). Caso não esteja preenchido, a coluna da direita passa a estar preenchida com o parâmetro "MensagemNotify", que, por sua vez, caso não esteja preenchido, é preenchido com o parâmetro do título;
 Optional MensagemEmail As String = "", 'mensagem a apresentar no aviso por email. Caso não esteja preenchido, a mensagem passa a estar preenchida com o parâmetro título;
 Optional urlEmail As String = "") 'URL do email

No parâmetro canal, poderão ser passados um dos seguintes valores:

  • cEnums.TipodeCanal.Ambos: envia o aviso para o sistema interno de avisos e para a aplicação Cegid PHC Notify.

  • cEnums.TipodeCanal.Aviso: envia o aviso apenas pelo sistema interno de avisos.

  • cEnums.TipodeCanal.PhcNotify: envia o aviso apenas para a aplicação Cegid PHC Notify.

  • cEnums.TipodeCanal.Email: envia o aviso apenas para o email.

  • cEnums.TipodeCanal.Todos: envia o aviso para o email, por aviso interno, e para a aplicação Cegid PHC Notify.

De seguida, é apresentado um exemplo da função CriaAvs, para enviar avisos apenas para a aplicação Cegid PHC Notify quando é gravada uma marcação:

XcUtil.criaAvs(mstamp, mxuRow.itemToString("usno"), "Tem uma nova marcação na Agenda!",$"../pim/mxform.aspx?stamp={xcfox.u_scrypt(mstamp)}", cEnums.TiposdeAviso.Acao, 1,"Foi adicionado a uma nova marcação.","Marcações",$"http://Intranet/pim/mxform.aspx?stamp={xcfox.u_scrypt(mstamp)}",cEnums.TipodeCanal.PhcNotify)

A função CriaAvs permite enviar avisos:

  • Para o sistema interno de avisos.

  • Para a aplicação Cegid PHC Notify.

  • Para o sistema interno de avisos e cegid PHC Notify.

  • Para o email.

  • Para o sistema interno de avisos, para a aplicação cegid PHC Notify e para o email.

A função CriaAvsExterno permite enviar avisos a clientes e a candidatos via Cegid PHC Notify.

Estas funções estão disponíveis a partir da gama Advanced, e com a subscrição do Cegid PHC ON ativa.

Exemplo de um Evento, para envio de avisos para o Cegid PHC Notify aquando de uma marcação:

  • Resumo do evento: Ao efetuar uma Marcação, envia notificação para a app Cegid PHC Notify

  • Ecrã: mxform

  • Reação ao evento: Programa Interno

  • Nome do evento: AposIntroduzir

Se Programa Interno, Expressão:

if mainformdataset isnot Nothing Then
 dim mxuDtSet = mainformdataset
 if mxuDtSet.tables("mxus").haveRows() Then
 for Each mxuRow as datarow in mxuDtSet.tables("mxus").Rows()
 'Utilização da função para criar Avisos, com mensagem personalizada e navegação para o registo
 XcUtil.criaAvs(mstamp, mxuRow.itemToString("usno"), "Agenda de Marcações","", cEnums.TiposdeAviso.Acao,23,"Tem uma nova marcação na sua Agenda! Consulte-a.","MX",$"../pim/mxform.aspx?stamp={xcfox.u_scrypt(mstamp)}",cEnums.TipodeCanal.PhcNotify)
 next
 end If
end if