Versão atual:

Usar fluigAPI em JavaScript (.js) externo

É possível utilizar a fluigAPI em um javascript externo?

Estou desenvolvendo um workflow. Ele tem um formulário relacionado. No meu formulário, tenho um javascript a parte, que estão no arquivo funcoes.js:

formulario.html:

    <head>
        <link type="text/css" rel="stylesheet" href="/style-guide/css/fluig-style-guide.min.css"/>
        <script type="text/javascript" src="/portal/resources/js/jquery/jquery.js"></script>
        <script type="text/javascript" src="/portal/resources/js/jquery/jquery-ui.min.js"></script>        
        <script type="text/javascript" src="/portal/resources/js/mustache/mustache-min.js"></script>
        <script type="text/javascript" src="/style-guide/js/fluig-style-guide.min.js" charset="utf-8"></script>
        <script type="text/javascript" src="/webdesk/vcXMLRPC.js"></script>
        <script type="text/javascript" src="funcoes.js"></script>        
    </head>

No formulário, tenho um botão que irá chamar um Webservice REST e apresentar os resultados num textarea deste formulário.

Para fazer isto, estou tentando rodar o fluigAPI.getAuthorizeClientService() conforme orientado no link abaixo:

https://tdn.totvs.com/pages/releaseview.action?pageId=239041233#OAuth1--2101383534

Porém ao clicar no botão, apresenta o seguinte erro no console:

ReferenceError: fluigAPI is not defined
    at restProtheus (funcoes.js:306)
    at HTMLButtonElement.onclick (?WDCompanyId=1&WDNrDocto=0&WDNrVersao=0&WDParentDocumentId=8655&WKNumProces=0&processID=cadastro_produto&WKNumState=0&WKManagerMode=false&WKDef=cadastro_produto&WKVersDef=9&taskUserId=fluig.ti:1013)

Acredito que o erro ocorra pois não estou chamando o fluigAPI de um Evento de Formulário ou um Evento de Processo.

Preciso chamar deste meu javascript externo. É possível? Preciso declarar mais algum src no head do meu html?

A função que chamo no botão é esta:


function restProtheus() {

    try{
        var clientService = fluigAPI.getAuthorizeClientService();        

        var data = {                                                   
            companyId : getValue("WKCompany") + '',
            serviceCode : 'MeuServicoREST',                     
            endpoint : '/urbfluig/F_PROD',  
            method : 'put', // 'delete', 'patch', 'post', 'get'                                        
            timeoutService: '120', // segundos
            params : {                                             
                    teste : 'teste'                    
            }                                                      
        }                                                          
        var vo = clientService.invoke(JSON.stringify(data));

        if(vo.getResult()== null || vo.getResult().isEmpty()){
            //throw new Exception("Retorno está vazio");

            console.log('Retorno está vazio ...');

        }else{
            console.log(vo.getResult());
        }
    } catch(err) {
        //throw new Exception(err);

        console.log(err);

    }


}

Grato

Versão (1):

Ver a versão formatada

Usar fluigAPI em JavaScript (.js) externo

Comentário

new question