Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Neste link você terá acesso às informações de download, configuração e notas de release do WebApp:

1. Versão WebApp

Configurando a Porta Multiprotocolo

...

A porta multiprotocolo é um facilitador, criando rotas para ferramentas como o WebApp, WebMonitor, Rest e outras.

A documentação abaixo é importante para sua correta configuração:

Ao utilizar o TWebEngine (iframe):
Não é possível executar o método navigate para a página https://www.google.com/

...

Caso seja imprescindível para sua aplicação abrir um site com este bloqueio, pode utilizar a função ShellExecute, mais informações no link: TWebEngine:Navigate

Exemplo:

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
// Exemplo de uso para Windows
ShellExecute( "open", "http://www.google.com.br", "", "", 1 )
 
// Exemplo de uso para Linux
shellExecute("Browser", "/usr/bin/firefox", "http://www.google.com.br", "/", 1 ) 

...

Esta também é uma medida de segurança dos navegadores, como contorno, recomendamos copiar o arquivo em questão para uma pasta temporária no Servidor através da função CpyF2Web, acessando este arquivo na sequencia, mais informações no link: TWebEngine:Navigate

Exemplo:

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
DEFINE DIALOG oDlg TITLE "Contorno para file://" FROM 0,0 TO 800,1200 PIXEL

  // Copia o arquivo da Estacao para o Servidor, retornando seu caminho
  // Este exemplo foi escrito para Linux, ao utilizar em Windows,
  //   basta mudar o caminho para o arquivo, ex: "c:/dir/arquivo" 
  cFilePath := CpyF2Web("l:/home/mansano/totvs/file.txt", .T., .F., .F., .F.)
  
  oWebEngine := TWebEngine():New(oDlg, 0, 0, 100, 100,,)
  oWebEngine:Align := CONTROL_ALIGN_ALLCLIENT

  // Executa o Navigate para o arquivo temporario no Servidor
  oWebEngine:navigate(cFilePath)

ACTIVATE DIALOG oDlg CENTERED 

...

Cadastro de Clientes sendo executado em um Galaxy S a partir do Samsung Dex

Como identificar corretamente a versão do Client em uso

...

Ao utilizar o WebApp em conjunto com o WebAgent, o retorno da função GetRemoteType() será o mesmo do SmartClient Desktop, exemplo: 1=Windows / 2=Linux/MacOS.

Caso precise confirmar se esta executando o WebApp, utilize o trecho abaixo, capturando a informação adcional por referência:

Bloco de código
languagecpp
themeEclipse
linenumberstrue
collapsefalse
function u_remoteType()
  Local cLib
  Local cRmtType := GetRemoteType(@cLib) 
  conout("Tipo do remote: " + cValToChar(cRmtType)) // -> Ex: 1=Windows | 2=Linux/MacOS
  conout("Info adicional: " + cLib)                 // -> Exemplo ao utilizar o WebApp: "HTML-9.1.6 LINUX"
return

// Retorno
// Tipo do remote: 2
// Info adicional: HTML-9.1.6 LINUX

Mais informações no link: GetRemoteType

Passagem de parâmetros na abertura do ERP através do Navegador

...

Mais informações no link: 2. WebApp - WebAgent#2.WebAppWebAgent-Launch

Execução de

...

rotinas sem interface através do WebAgent (parâmetro launch com --headless)

...

Informações

O parâmetro --headless está disponível a partir da versão 1.0.9 do WebAgent.

Existem algumas rotinas de processamento que não necessitam de interface (tela), é possivel executar essas rotinas utilizando em conjunto os parâmetros launch e --headless.

...

Mais informações no link: Telas de toque Toque (touchscreenTouchscreen) / mobile Mobile - mudança Mudança de comportamentoComportamento

Templatedocumentos