Olá pessoal
Esta vez trouxe uma dica para quem está precisando abrir uma página dentro do protheus, a classe TWebEngine pode nos ajudar, abaixo no exemplo como executar a mesma, ainda é possivel usar webSockets para enviar e receber informações a página
Documentação oficial da função aqui.
aixo o código fonte, a rotina é bem simples basta compilar e executar para ver um exemplo.
#INCLUDE "TOTVS.CH" #INCLUDE "RWMAKE.CH" /*/{Protheus.doc} SPWEBENG Função SPWEBENG exemplo de uso da classe TWebEngine @param Não recebe parâmetros @return Não retorna nada @author Rafael Goncalves @owner sempreju.com.br @version Protheus 12 @since Oct|2020 /*/ User Function SPWEBENG() If (aLLTRIM(FwRetIdiom()) =='en-us') U_OpenPage('https://www.totvs.com/','TOTVS') Else U_OpenPage('https://sempreju.com.br','Sempreju') Endif Return User Function OpenPage(cUrl,cTitle) Local oModal Local aSize := {} Local aObjects := {} Local aInfo := {} // Obt?m a a ?rea de trabalho e tamanho da dialog Local nPort := 0 PRIVATE oWebChannel := TWebChannel():New() PRIVATE oWebEngine DEFAULT cUrl := "https://sempreju.com.br" DEFAULT cTitle := cUrl DEFAULT cRootPath := "/" aSize := MsAdvSize() AAdd( aObjects, { 100, 100, .T., .T. } ) // Dados da Enchoice // Dados da ?rea de trabalho e separa??o aInfo := { aSize[ 1 ], aSize[ 2 ], aSize[ 3 ], aSize[ 4 ], 3, 3 } aPosObj := MsObjSize( aInfo, aObjects,.T.) DEFINE MSDIALOG oModal TITLE cTitle From aSize[7],0 To aSize[6],aSize[5] of oMainWnd PIXEL // Usar sempre PIXEL !!! nPort := oWebChannel::connect() oWebEngine := TWebEngine():New(oModal, 0, 0, 100, 100,, nPort) //oWebEngine:cLang := FwRetIdiom() Only in smartclient higher than 19.3.1.0 oWebEngine:bLoadFinished := {|self,url| conout("Fim do carregamento da pagina " + url) } oWebEngine:navigate(cUrl) oWebEngine:Align := CONTROL_ALIGN_ALLCLIENT ACTIVATE DIALOG oModal CENTERED Return
O código fonte desse e outros exemplos podem ser encontrados em nosso git.
Post interessantes:
Ponto de entrada ao acessar o sistema aqui.
Aprenda a instalar o Protheus no Windows aqui.
Aprenda a instalar o Protheus no Linux aqui.
Retornar datas por extenso aqui.
Barras de progresso aqui.
Dúvidas e sugestões, entre em contato.
Obrigado e até a próxima!
0 comentário