A funcionalidade de "Scripts" de utilizador consiste numa mensagem e/ou programa que é corrido sempre que se chama um determinado endereço de
internet (URL), ou seja, se chamarmos o
URL que identifica um determinado script o seu código é executado e é despoletada uma reação (apresentação de uma mensagem ou redireccionamento para um outro URL).
Esta funcionalidade também possibilita a utilização da aplicação externa
API- Interface de Programação de Aplicações.
Nota: Esta opção (utilização de uma API) está disponível nas gamas Advanced e Entreprise, caso possua o PHC On ativo.
Os Scripts permite
introduzir/alterar ou
consultar mensagens e/ou programas, que correm por intervenção de utilizador. Por outras palavras, se apontarmos um
link para o
script, seja de uma página
internet, seja de um
e-mail, ao clicar sobre esse
link o utilizador está a executar o
script.
Imagine-se que o utilizador cria um template de email e pretende que através desse e-mail, com recurso a um
Script a aplicação possibilite ao destinatário o reencaminhamento para um ecrã (URL) da aplicação. Para correr esse
script, o utilizador deverá criar um
link no template destinado a
GENSEL.ASPX?CSCRIPT=códigodoscript da subdiretoria PROGRAMS ou seja:
../programs/gensel.aspx?cscript=cdirNeste caso, já deve existir um Script criado, cujo código do mesmo seria
CDIR.
Esta funcionalidade poderá ser usada para respostas e
e-mails, ou outro tipo de implementação que necessite correr um determinado código via
PHC CS Web.
Outro exemplo possível, seria personalizar a listagem de artigos que é apresentada após uma pesquisa nos ecrãs "Escolha de Artigos/Serviços" e "Listagem de Artigos e Serviços", mais abaixo apresentar-lhe-emos um
exemplo desta personalização.
Ecrã em modo de introdução/alteraçãoPara criar um script é necessário escolher a respetiva opção no menu da Framework PHC. Cada script apresenta os seguintes campos:
Resumo
Este campo indica a descrição resumida do script e é de preenchimento obrigatório.
Código
Este código, introduzido pelo utilizador, deve ser único pois é aquele que identifica o script de forma a que o mesmo seja chamado (através de um link, página de Internet ou outra opção da Framework), com o intuito de ser executado.
Inativo
Indica se o script está ativo ou não.
Reação após executar
A reação pode ser de dois tipos :
- Mensagem;
Ao escolher este tipo o software após executar o script irá apresentar uma mensagem ao utilizador, a qual é escrita no respetivo campo.
- Redirecionar;
Ao escolher este tipo o software irá colocar o browser noutra página após executar o script. Por exemplo, para direcionar o utilizador para a página principal da PHC, deveria ficar como: "http://www.phc.pt".
Conteúdo da Mensagem
Este campo serve para o utilizador colocar a mensagem que quer apresentar. Poderá fazê-lo em Html, tendo ao seu dispor o "Editor Html .
É HTML puro
Se o texto for em formato HTML o utilizador deverá ativar esta opção.
Qual o URL para onde vai o utilizador
Neste local deve escrever o endereço onde se posicionará o browser depois da execução do script.


Expressão
Neste local deve-se colocar o código em Vb.net que será executado quando o script for chamado. Este campo tem 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 começadas pelas letras introduzidas vão reduzindo e aproximando do que se pretende. Também se pode pressionar as teclas ctrl + espaço ou ctrl + seta baixo para aparecer essa mesma caixa mas com todas as opções de código disponíveis, sendo que ao escrever texto as opções na caixa vão sendo filtradas.
Neste código poderá analisar informação adicional que venha no URL como parâmetros, ou seja, se por exemplo se correu o script com um parâmetro adicional indicando o e-mail do utilizador.
Poderá ter um programapor exemplo, da seguinte forma :
dim mxstamp as system.string
'este código permite ir buscar o valor do parâmetro e-mail mxstamp=mpage.request.querystring("email").tostring.padright(25)
if mxstamp <>""
'este código permite atualizar um campo de uma tabela em função do e-mail webcontrollib.cdata.updatedata("update esb set activado=1,dataa=getdate(),cancelado=0,datac=getdate() where email='"+mxstamp+"' ") end if |
Tendo em conta o código indicado, o utilizador poderá na prática, escrever o seguinte URL na página inicial da Intranet: ../programs/gensel.aspx?cscript=cdir&email=xpto@mail.pt.
Em que o cdir é o código do script e o símbolo & significa que se está a utilizar um parâmetro de nome e-mail.
Antes de gravar o script pode ainda compilar o código para testar (clicando no botão Compilar). A aplicação vai mostrando mensagens com os erros que porventura possam existir no código criado pelo utilizador.
Número interno
Neste local fica guardado o número interno identificativo de cada script.
Ecrã em modo de consultaEm modo de consulta, com recurso ao botão
o utilizador poderá efetuar uma simulação Script. A pré-visualização do resultado pretendido do Script depende do conteúdo e do objetivo que o mesmo contém.
Tem também a possibilidade de usufruir das opções de registo bem como alterar o registo e/ou apagar o mesmo.
Exemplo de ScriptComo referido no ínicio, o Script pode ser utilizado nas listagens de procura de artigos de Compras, Documentos de Faturação e Dossiers Internos (Intranet), bem como nas encomendas e nos Dossiers internos (Extranet).
Nota: É necessário ter em consideração que para a listagem ser executada com sucesso, tem de incluir os seguintes campos obrigatórios:
- ststamp
- Ref
- design
- qtt (com valor 0)
Importante: Caso o utilizador acrescente mais campos ao Script, para além dos obrigatórios (Referência; Designação; Quantidade), deverá criar Objetos internos, também através da Framework PHC, de forma a passar a existir uma coluna (ou mais) na listagem, que receba os dados dos campos inseridos no Script.
Exemplo de Expressão a colocar no Script:
Dim msel As String
msel = String.Format("select st.ststamp, st.ref, st.design, 0 as qtt from st (nolock) where {0} Order BY {1} ", objpara.Where, objpara.OrderBy)
Dim dt As DataTable = cdata.getdatatable(msel)
Return dt
Ao criar o Script, o preenchimento do campo Código é importante porque é com este código de script que o utilizador, após gravá-lo, identifica o script num determinado ecrã. Sendo que cada listagem pode ter o seu script, mas pode ser um script para todas as listagens.
Para esta funcionalidade é ainda necessário configurar os seguintes parâmetros com a identificação do código do script nos nós:
- Front Web: