Você efetuou login na empresa . Essa empresa não possui atendimento ao suporte técnico do produto liberado.
Caso você faça parte de mais de uma empresa, selecione a que você está representando neste momento para seguir com o atendimento.
Para tratativa da empresa , entre em contato com o Centro de Serviços TOTVS pelo telefone 4003-0015 selecione a opção 4 e 9 ou registre uma solicitação clicando na opção “Como podemos ajudar?”.
EQUIPE TOTVS
Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.
Cross Segmentos - Linha Datasul - MLA - Criação de workflows no Fluig para aprovação de documentos padrões ou específicos
Tempo aproximado para leitura: 00:17:55 min Dúvida Com funciona a criação de workflows no Fluig para aprovação de documentos padrões ou específicos?
Ambiente Cross Segmentos - TOTVS Backoffice (Linha Datasul) - Aprovação Processo Logístico (MLA) - Versão 12
Solução Para criar um workflow no Fluig é preciso ter o TDS - TOTVS Developer Studio instalado e devidamente configurado. Para mais informações acesse: TDS Versão 11.3.
Há um projeto de exemplo que deve ser usado como base para a criação de novos workflows para documentos padrões ou específicos. Está disponível no diretório de expedição dos arquivos progress, seguindo a estrutura:ems2/fluig/process/wfmla000.zip
Seguindo este projeto, algumas funções padrões estarão disponíveis, são elas:
Criação da pendência no Fluig quando a pendência for criada no ERP, se estiver parametrizado corretamente;
Visualização do detalhe da pendência;
Visualização do histórico de aprovações;
Busca das informações no Sistema, da pendência a ser aprovada/rejeitada;
Ações da aprovação - formulário: Aprovar/Reprovar,Narrativa e Código de Rejeição, de acordo com cadastro no Sistema;
Validações de aprovação: Limite, tipo, permissão, etc;
Bloqueio na inicialização do workflow diretamente pelo Fluig;
Bloqueio no cancelamento do workflow diretamente pelo Fluig.
Para criar um novo workflow deve-se seguir as informações abaixo:
Copie este projeto, renomeie os arquivos seguindo a nomenclatura conforme o código do documento: WFMLA + código do documento com 3 dígitos.
Exemplos: Para o documento 1 será WFMLA001 Para o documento 501 será WFMLA501
Os arquivos que precisam ser renomeados são: wfmla000.html, wfmla000.js, wfmla000.css, wfmla000_en_US.properties, wfmla000_es.properties, wfmla000_pt_BR.properties, wfmla000.afterTaskComplete.js, wfmla000.afterTaskCreate.js, wfmla000.beforeCancelProcess.js, wfmla000.process
Após renomear os arquivos, importe o projeto no TDS.
Altere os arquivos que houver necessidade, conforme documentações e orientações abaixo.
Exporte o mecanismo PorGestorProcesso.js para o servidor.
Exporte o datasetgestorProcesso.js.
Exporte o formulário para o servidor.
Abra as propriedades do diagrama, e na aba Formulário selecione o formulário exportado no passo 5.
Ainda na aba Formulário, selecione e informe a descrição dos campos descritores, para mais informações consultar a documentação do workflow.
Por fim, exporte o diagrama para o servidor.
Documentação dos arquivos do Projeto:
HTML: O arquivo .html do formulário deve seguir a estrutura mostrada no anexowfmla000.html para que as funcionalidades padrões funcionem. Como o Detalhe da pendência e Histórico de Aprovação.
Javascript
datasul-11.5.X-SNAPSHOT.js: arquivo com as funções padrões de conexão com o Sistema. Este arquivo não deve ser alterado.
ttDados.js: arquivo com as funções de conversão dos dados trafegados entre o Sistema Datasul e o Fluig.Este arquivo não deve ser alterado.
wfmla000.js: funcionalidades do formulário. Abaixo estão descritas as principais funções deste arquivo:
getTemplates() - Altere para carregar os templates necessários Função criada para disparar a busca do template do HTML, fica escondido dentro da div com id 'templates'.
Inicializa as variáveis de template.
Dispara a função setTemplate, passando o id da div onde está o template, e a variável que irá armazenar este conteúdo.
Os templates padrões (i18n_sim, i18n_nao, i18n_show, i18n_hide, templateNaoHa, templateDetalhePendencia, templateHistorico e templateChaveDoc) não devem ser alterados.
/* Informe aqui os templates específicos ou customizados */ templateCabecalho =null; setTemplate("template_cabecalho","templateCabecalho"); templateItens =null; setTemplate("template_itens","templateItens"); }
setTemplate(id_template_html, nome_variavel) - Não deve ser alterado.
id_template_html:id da divhtml que armazena o template no arquivo html.
nome_variavel: nome da variável que irá armazenar o conteúdo do template. Esta função busca o template no arquivo HTML e salva em uma variável para depois fazer a renderização dos dados nas marcações feitas no template - ver função layout().
montarTela() - Altere de acordo com a sua estrutura de dados em tela: exibição simples, repetição, etc... Esta função é responsável pelas chamadas da função layout(), que mostra as informações na tela. É nesta função que devem ser incluídas as informações específicas ou customizadas. Abaixo estão listados os três tipos de exibição de dados disponíveis para utilização:
Exibição simples, sem repetição e sem restrição: Executa apenas uma vez a função layout. Usa-se este método quando há um array com apenas um registro, por exemplo um cabeçalho de pedido de compra. Ex: layout(templateCabecalho,"tt_pedido","cabecalho");
Exibição repetitiva, sem restrição: Executa a função layout para cada index do array - cada registro da temp-table, sem filtro. Usa-se quando é necessário mostrar todos os registros da temp-table, por exemplo exibir todas as ordens de compra. Ex: layout(templateOrdens,"tt_ordem_compra","ordens");
layout(template, nomeTT, divDestino, camposChave, valoresChave) - Não deve ser alterado.
template:template HTML.
nomeTT:nome da temp-table (array) que possui os dados que serão mostrados no template.
divDestino:ID da div que receberá o template renderizado com os dados da temp-table nas marcações.
camposChave:array com os nomes dos campos usados no filtro.
valoresChave:array com os valores dos campos usados no filtro. Esta função tem como objetivo substituir as marcações do template pelos dados da temp-table.
detalheDocumento() - Pode ser alterado. Esta função consome os dados do método dts_detalheDocumento() do displayFields.js que faz a busca dos dados do documento no Sistema. Neste ponto é executada a proceduredetalheDocumento da mlaapi014. O programa Progress chamado deve ter a nomenclatura de acordo com as regras do MLA. Para mais informações sobre a criação dos programas Progress para documentos customizados, verificar artigo Cross Segmentos - Linha Datasul - MLA - Como criar documentos para o Portal do MLA em HTML ou customizar documentos existentes.
detalhePendencia() - Pode ser alterado Esta função consome os dados do método dts_detalhePendencia() do displayFields.js que faz a busca dos dados da pendência no Sistema. Neste ponto é executada a proceduredetalhePendencia da mlaapi014 que busca as informações da tabela mla-docto-pend-aprovac-det. Serão retornadas as informações do detalhe da pendência e da chave do documento.
historicoDocumento() - Pode ser alterado Esta função consome os dados do método dts_historicoDocumento() do displayFields.js que faz a busca dos dados do histórico do documento no Sistema. Neste ponto é executada a procedurehistoricoDocumento da mlaapi014 que retorna as informações do histórico de aprovações do documento.
getCodRejeita() - Pode ser alterado Esta função consome os dados do método dts_getCodRejeita() do displayFields.js que faz a busca dos dados dos motivos de rejeição no Sistema. Neste ponto é executada a proceduregetCodRejeita da mlaapi014 que retorna as informações dos motivos de rejeição do documento.
ttDados - Não deve ser alterado Essa é a variável que armazena os dados trafegados entre o Sistema Datasul e o Fluig. Ela armazena todas as informações das temp-tables do Progress. Assim que o retorno é recebido, é executada a função transformTT, onde é feita a lógica de criação das variáveis. As temp-tables transformam-se em arrays, com uma diferença: troca-se o - por _ . Por exemplo: tt-it-requisicao - Progress / tt_it_requisicao - HTML. Isto serve tanto para o nome quanto para os campos das temp-tables. Pelo javascript você consegue acessar os dados vindos do Progress da seguinte forma:
Acesso aos dados das temp-tables via javascript for(vari = 0;i<tt_it_requisicao.length;i++){ console.info("Item: ", tt_it_requisicao[i].it_codigo); console.info("Requisição: ", tt_it_requisicao[i].nr_requisicao); console.info("Seq: ", tt_it_requisicao[i].sequencia); console.info("Dt Entrega: ", tt_it_requisicao[i].dt_entrega); console.info("Qtd Requisitada: ", tt_it_requisicao[i].qt_requisitada); }
Tradução - Altere para contemplar as literais específicas ou customizadas Existem três arquivos referentes a tradução das literais dos formulários, sendo um para cada idioma: PT, EN e ES. O nome dos arquivos deve estar de acordo com o exemplo abaixo:
WFMLA999_en_US.properties
WFMLA999_es.properties
WFMLA999_pt_BR.properties O 999 deve ser substituído pelo número do documento: WFMLA001, WFMLA003, WFMLA500, etc.
A estrutura dos arquivos de tradução seguem a seguinte regra:
l-nome-literal=Valor da literal Exemplos: l-accounts-plan=Plano Contas l-advanced-search=Pesquisa Avançada l-all=Todas
Alteração de programas Progress - Somente para desenvolvimento interno da TOTVS * Para desenvolvimento dos documentos padrões do MLA, é preciso alterar a boin784.m01 para que a opção Integração Fluig fique habilitada no MLA0101 - Tipos de documento e seja considerada na exportação do MLA0000 - Parâmetros da aprovação.
*Para desenvolvimento de documentos específicos os parâmetros de integração com o Fluig virão habilitados para serem informados, sendo assim, não precisará ser feita a alteração acima.
Campos Descritores Os campos descritores são os campos que aparecem nos filtros customizados na central de tarefas, como mostra a imagem abaixo.
Para que estes campos estejam disponíveis no Fluig é necessária a seguinte alteração no programa progress mlaapi014.i
Progress
Para desenvolvimento interno: Incluir uma nova cláusula na função case incluindo os campos necessários.
Para desenvolvimento de documentos customizados: Existe um ponto EPC para o evento CamposDescritores onde é passado como parâmetro o rowid da tabela mla-doc-pend-aprov. O retorno esperado é uma string contendo o nome do campo no HTML,ver tópico abaixo, e o valor a ser armazenado, no formato mostrado abaixo:
HTML Lembre-se, para que o campo fique disponível nos filtros da central de tarefas, além de alterar o programa progress é necessário incluí-lo no HTML. Dentro do arquivo WFMLA000.html há um tag <form>, que possui uma tag <div class="hidden">. Dentro desta div estão os campos input. Deve-se incluir o campo novo no final desta div, como o campo ct_nr_requisicao, na linha 18 do exemplo abaixo:
<!-- [ Editável ] Inclua aqui os campos que poderão ser usados na central de tarefas. Recomenda-se usar ct_ como prefixo do campo para indicar que é usado na central de tarefas. --> <inputtype="text"id="ct_nr_requisicao"name="ct_nr_requisicao"readonly="readonly"> </div>
Por último, é necessário selecionar os campos e preencher suas respectivas descrições na aba Formulário nas propriedades do diagrama no TDS, como mostra a imagem abaixo:
Para mais informações sobre a seleção dos campos descritores, consultar documentação de implantação de workflow.
Formulário Mobile
Para que o formulário esteja disponível no aplicativo do Fluig, conforme link: Mobile, é preciso criar um arquivo chamado <Nome_workflow>_ecmmobile.html. Exemplo: wfmla001_ecmmobile.html
Este arquivo é responsável pela exibição dos dados do formulário nos dispositivos móveis. Deve ser desenvolvido levando em consideração o tamanho da tela e a quantidade de informação que será exibida. Uma particularidade deste fonte é que ele não permite o uso de arquivos externos, por isso é preciso que o conteúdo de alguns arquivos sejam copiados para dentro do HTML.
São eles: <nome_workflow>.js, datasul-11.5.X-SNAPSHOT.js, ttDados.js e <nome_workflow>.css. Sendo que os arquivos do tipo Javascript devem ficar dentro da tag: <script type="text/javascript"> [...]</script> e os arquivos CSS dentro da tag: <style type="text/css"></style>
Caso o formulário desktop tenha sido desenvolvido usando técnicas de responsividade (col-xs-*, col-sm-*, col-md-* e col-lg-*), basta copiar o conteúdo do HTML do arquivo <nome_workflow>.html e colar no <nome_workflow>_ecmmobile.html. Caso contrário é preciso codificar o arquivo mobile de acordo com a necessidade para que ele funcione corretamente.
Os dados que serão retornados do Sistema quando o acesso for via dispositivos móveis são os mesmos dados do formulário desktop. Cabe ao desenvolvedor avaliar quais informações são relevantes e então deve-se implementá-las no código HTML para que sejam exibidas em tela.
Sempre que houver alguma alteração nos arquivos Javascript e/ou CSS, a alteração deve ser avaliada e repassada para o arquivo HTMLmobile se for necessária.
Há um arquivo de exemplo que pode ser consultado em:ems2/fluig/process/wfmla000.zip - após descompactar: WFMLA000/forms/WFMLA000/WFMLA000_ecmmobile..html.
Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.
Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.
Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente.
.
clique aqui.
Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado
Por favor realize um novo login
Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.
Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros
.
clique aqui.
TOTVS
Chat_
Preencha os campos abaixo para iniciar o atendimento:
Chat_
Nosso horário de atendimento pelo canal de chat encerrou ou sua conexão foi perdida. Continue seu atendimento pela solicitação criada a partir da conversa encerrada, em "Minhas Solicitações" no portal de clientes. Caso não tenha iniciado uma conversa, você pode abrir uma nova solicitação. Obrigada e até a próxima visita!Insira o resumo da sua solicitação de forma objetiva
0 Comentários