Comandos que permitem a integração de códigos ADVPL com códigos Javascript.
Esse recurso funciona apenas quando a aplicação é executada pelo Protheus. Para mais informações, clique aqui. |
Para garantir melhor performance e boas práticas da aplicação, recomenda-se converter as informações disponibilizadas em serviços web. |
Pré-requisitosPara desenvolver essa integração, é necessário: - Na aplicação web, criar o arquivo advpltojs.js em assets/preload. Esse arquivo irá receber e tratar as instruções ADVPL que foram enviadas.
- No fonte que chama a aplicação (utilizando a FwCallApp), criar uma Static Function com o nome JsToAdvpl. Essa função irá receber e tratar as instruções Javascript que foram enviadas. Importante: o fonte não pode ser tlpp, pois em tlpp não existe a chamada de funções estáticas.
Arquivo advpltojs.js na aplicação webEsse arquivo deve conter uma função e javascript para receber e tratar as instruções ADVPL enviadas. Essa função deve receber dois parâmetros: codeType que indica qual o código da ação que foi definido e content que fornece a informação que deve ser tratada. function(codeType, content) {
// Se a interação que recebi for igual a mensagemProtheus
if (codeType == 'mensagemProtheus') {
// Eu dou um alert com a informação que recebi para trabalhar
alert('Mensagem recebida do Protheus: ' + content);
}
} |
Static Function JsToAdvplEssa função recebe três parâmetros: oWebChannel que é o objeto do TWebEngine, cType que indica qual o código da ação que foi definido e cContent que fornece a informação que deve ser tratada. Function callAppExample()
FwCallApp('nome-do-app.app')
Return Nil
Static Function JsToAdvpl(oWebChannel,cType,cContent)
Do Case
// Se a interação que recebi foir igual a mensagemJavascript
Case cType == 'mensagemJavascript'
// Imprimo no server a informação que recebi para trabalhar
Conout(cContent)
End
Return .T. |
Enviando interações- Para enviar as interações desejadas da aplicação web para o Protheus, utilizamos a função jsToAdvpl() do serviço ProJsToAdvplService disponibilizado pela biblioteca;
- Para enviar as interações desejadas do Protheus para a aplicação web, utilizamos o método AdvplToJs() disponibilizado pelo oWebChannel.
|