- Criado por Cleane Hermann, última alteração em 08 abr, 2025
Válido apenas a partir do build HARPIA. Para build 32 bits, usando smartclient Lobo Guará, algumas propriedades podem não estar disponíveis.
O componente LWEBDIALOG é incompatível com o Smartclient 32 bits do build 7.00.131227A, pois não dispõe de um componente pré-requisito do ADVPL chamado TWebEngine que permite execuções WEB nas telas do produto Logix. Já para o Smartclient do build Lobo Guará (build 7.170117A), apesar de contemplar o componente TWebEngine, foi gerado utilizando a biblioteca de componentes QT-5.9.7 que é uma versão compatível com o Chromium somente até a versão 61 ou anterior. Atualmente a versão mais recente do Chromium encontra-se na versão 134 (Informação obtida em 08/04/2025).
Atualmente apenas o Smartclient Desktop do build Harpia, ainda tem compatibilidade com versões de Chromium mais recentes, mas que deixará também de ser liberado pela Totvs a partir do build Onça Preta (Build 7.00.240223P), onde a interface dos produtos passará a ser executada apenas com navegadores Web fazendo uso de WEBApp Components e do Web-Agent.
Componente disponível a partir do pacote LOGIX 12.1.2503 ou Framework Fix 12.1.2411.FIX01.
Sintaxe
LET m_webdialog_reference = _ADVPL_create_component(NULL,"LWEBDIALOG")
Métodos GET
Métodos acessíveis através da função _ADVPL_get_property que permite recuperar e manipular os valores do componente.
Método GET: URL
Retorna o endereço atual URL carregado na janela de dialog WEB no acionamento da propriedades INIT_URL ou INIT_APP.
Sintaxe
_ADVPL_get_property(< lWebDialogReference >,"URL") => cUrl
Parâmetros
| Nome | Tipo | Descrição | Obrigatório? |
|---|---|---|---|
| lWebDialogReference | CHAR | Referência do componente que está em foco na tela. | Sim |
Retorno
| Tipo | Descrição |
|---|---|
CHAR | Endereço URL em execução na janela de diálogo WEB. |
Exemplo
LET l_url = _ADVPL_get_property(lWebDialogReference,"URL")
Método GET: CLEAR_CACHE
Retorna o valor da propriedade CLEAR_CACHE que indica se é feita a limpeza do cache antes de exibir a página WEB.
Por padrão esta propriedade é definida como TRUE na criação do componente.
Sintaxe
_ADVPL_get_property(< lWebDialogReference >,"CLEAR_CACHE") => nClearCache
Parâmetros
| Nome | Tipo | Descrição | Obrigatório? |
|---|---|---|---|
| lWebDialogReference | CHAR | Referência do componente que está em foco na tela. | Sim |
Retorno
| Tipo | Descrição |
|---|---|
BOOLEAN | Indica se deve limpar ou não o cache da página web antes de exibi-la. TRUE - Limpeza de cache ativa. FALSE - Limpeza de cache inativa. |
Exemplo
LET l_enableClearCache = _ADVPL_get_property(lWebDialogReference,"CLEAR_CACHE")
Métodos SET
Métodos acessíveis utilizando a função _ADVPL_set_property que permite alterar e manipular os valores do componente.
Método SET: INIT_URL
Iniciar a exibição e permitir navegação de uma página WEB para o endereço URL informado.
Sintaxe
_ADVPL_set_property(< lWebDialogReference >,"INIT_URL",< l_urlAddress >)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório? |
|---|---|---|---|
| lWebDialogReference | CHAR | Referência do componente. | Sim |
| l_urlAddress | | Endereço WEB a ser apresentado para navegação. | Sim |
Exemplo
CALL _ADVPL_set_property(lWebDialogReference,"INIT_URL","https://www.totvs.com")
Método SET: INIT_APP
Iniciar a execução de uma aplicação desenvolvida com padrões Web Logix utilizando interface com componentes PO-UI.
Para correto funcionamento da aplicação, utilizando este componente e propriedade, o código do programa principal que aciona a tela com interface WEB em PO-UI é desenvolvida utilizando um fonte 4GL, que precisa ser desenvolvido com uma determinada estrutura padrão que é apresentada num código de exemplo ao final desta página onde constará um código de exemplo completo utilizando a classe LWebDialog.
Sintaxe
_ADVPL_set_property(< lWebDialogReference>,"INIT_APP",< l_appwebLogix >)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório? |
|---|---|---|---|
| l_webdialog_reference | CHAR | Referência do componente. | Sim |
| l_appwebLogix | | Nome da fonte 4gl que possui a função principal que aciona a aplicação WEB Logix. | Sim |
Exemplo
CALL _ADVPL_set_property(lWebDialogReference,"INIT_APP","exemploweb")
Método SET: CLEAR_CACHE
Realiza limpeza de cache da página WEB antes de exibir a URL.
Sintaxe
_ADVPL_set_property(< lWebDialogReference>,"CLEAR_CACHE",< l_enableClearCache >)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório? |
|---|---|---|---|
| l_webdialog_reference | CHAR | Referência do componente. | Sim |
| l_enableClearCache | | Indicador para forçar limpeza de cache da página WEB a ser exibida. TRUE - Limpar o cache antes da exibição da página WEB. FALSE - Não limpar o cache da página WEB antes de exibi-la. | Sim |
Exemplo
CALL _ADVPL_set_property(lWebDialogReference,"CLEAR_CACHE", < l_enableClearCache> )
Método SET: FINISH_APP
Encerra a janela de diálogo onde está sendo executada a aplicação WEB ou endereço URL iniciada com a propriedade INIT_APP ou INIT_URL.
Sintaxe
_ADVPL_set_property(< lWebDialogReference>,"FINISH_APP")
Parâmetros
| Nome | Tipo | Descrição | Obrigatório? |
|---|---|---|---|
| lWebDialogReference | CHAR | Referência do componente. | Sim |
Exemplo
CALL _ADVPL_set_property(lWebDialogReference,"FINISH_APP")
Método SET: ENABLE_CLOSE_BUTTON
Define se habilita ou não um botão FECHAR para encerrar a janela de diálogo WEB. Por padrão este botão FECHAR é apresentado no topo da janela de diálogo.
Disponível a partir do pacote Logix 12.1.2507 ou Framework FIX 12.1.2411.FIX02.
Sintaxe
_ADVPL_set_property(< lWebDialogReference>,"ENABLE_CLOSE_BUTTON",< l_enableButton >,< l_alignButton >)
Parâmetros
| Nome | Tipo | Descrição | Obrigatório? |
|---|---|---|---|
| lWebDialogReference | CHAR | Referência do componente. | Sim |
| l_enableButton | | Indicador que define se a janela apresentará um botão para Fechar a janela de diálogo WEB. TRUE - Apresentar botão FECHAR. FALSE - Não apresentar botão FECHAR. | Sim |
| l_alignButton | CHAR | Alinhamento do botão FECHAR, TOP (Padrão) - Alinhamento do botão na área superior da janela de diálogo WEB. BOTTOM - Alinhamento do botão na área inferior da janela de diálogo WEB. | Não |
Exemplo
CALL _ADVPL_set_property(lWebDialogReference,"ENABLE_CLOSE_BUTTON",FALSE)
Exemplo
###---------------------------------------------------------------------------------------------------------------------------------###
### A aplicação WEB LOGIX sempre deverá ter uma função onde o prefixo é _getRelativePath() para determinar o caminho relativo da
### pasta onde está localizada a pasta de mesmo nome da aplicação que conterá os artefatos para execução da tela WEB.
### Exemplo:
### Aplicação: exemploweb
### Fonte 4GL: exemploweb.4gl
### Funções desenvolvidas neste código fonte 4GL:
### - Function exemploweb()
### - Function exemploweb_getRelativePath()
###---------------------------------------------------------------------------------------------------------------------------------###
DATABASE logix
DEFINE m_container_reference VARCHAR(10)
DEFINE m_webdialog_reference VARCHAR(10)
#------------------------------------------------------------------#
FUNCTION exemploweb()
#------------------------------------------------------------------#
RETURN exemploweb_runInContainer(NULL)
END FUNCTION
#------------------------------------------------------------------#
FUNCTION exemploweb_runInContainer(l_container_refer)
#------------------------------------------------------------------#
#OBJETIVO: função para acionamento de programa a partir de uma tela COCKPIT,
# onde deverá passar a referencia do painel lateral do cockpit, onde
# o formulário deverá ser renderizado, como parâmetro.
DEFINE l_container_refer VARCHAR(10)
INITIALIZE m_webdialog_reference TO NULL
IF LOG_initApp("PADRAO") = 0 THEN
IF m_container_reference <> " " THEN
LET m_container_reference = _ADVPL_create_component(NULL,"LSCROLLPANEL",m_container_reference)
CALL _ADVPL_set_property(m_container_reference,"ALIGN","CENTER")
END IF
LET m_webdialog_reference = _ADVPL_create_component(NULL,"LWEBDIALOG",m_container_reference)
### Neste caso imaginemos que no meu appserver está configurado assim:
### ROOTPATH: c:\totvs\logix
### Ambiente web:
### -------------------------------------------------
### [<HOST_OR_IP>:<HTTP_OR_HTTPS_PORT>/apps]
### ENVIRONMENT=<Environment_name>
### RESPONSEJOB=JOBWEB
### DEFAULTPAGE=index.html
### PATH=c:\totvs\logix\web\apps
### SOURCEPATH=c:\totvs\logix\web\apps
### CACHE-CONTROL=no-store
### PRAGMA=no-cache
###
### a aplicação exemploweb terá seus artefatos web armazenados na pasta c:\totvs\logix\web\apps\exemplos\exemploweb\
### Onde a pasta "/exemplos/" é a pasta relativa localizada a partir da pasta principal indicada para o ambiente web no appserver.
### e a pasta "exemploweb" é a pasta com o nome da aplicação que armazena todos artefatos web para execução da tela.
CALL _ADVPL_set_property(m_webdialog_reference,"INIT_APP","exemploweb")
END IF
END FUNCTION
#------------------------------------------------------------------#
FUNCTION exemploweb_getRelativePath()
#------------------------------------------------------------------#
### Retorna o caminho do PATH relativo a pasta raiz configurada a partir da pasta indicada como ROOTPATH no Appserver
### onde ficam armazenados os artefatos desta aplicação WEB (imagens, html, json, artefatos angular, etc).
RETURN "/exemplos/"
END FUNCTION
Visualização
