Page tree

 

  

Informações Gerais

 

Especificação Experiência #2 Fluig – Workflows de aprovação.

Produto

Protheus

Módulo

SIGATMS

Segmento Executor

Distribuição & Logistica

Projeto

PDRDL

IRM

PCREQ-5585

Requisito

PCREQ-7306

Subtarefa

 

Release de Entrega Planejada

 

Réplica

Não

País

( X ) Brasil  (  ) Argentina  (  ) Mexico  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   (  ) Outro _____________.

Outros

Demais informações sobre o Fluig acessar http://fluig.com/

  

Objetivo

O objetivo deste requisito, é o desenvolvimento do Workflow para realizar a integração entre o modulo SIGATMS Protheus e o Fluig, possibilitando assim, a interação, através do Fluig, em  aprovações e liberações  que antes eram realizadas somente no módulo.

Definição da Regra de Negócio

 

Funções Importantes

StartProcess

Definição : Esta função inicializa uma solicitação no ECM.

Exemplo : StartProcess(cProcess,cUser,aUserList,nTaks,lMessage,lComplete,aAttach)

Parâmetros :

    • cProcess - Código do processo
    • cUser - usuário solicitante
    •  aUserList - Lista de usuários responsáveis  Default({'admin'})
    •  nTaks - Código da atividade inicial
    •  lMessage - Exibe mensagens de Aviso
    •  lComplete - Completa a Tarefa ao mudar a atividade
    •  aAttach - Array com anexos

Retorno:

    •  aRet[1] - Código da Solicitação
    • aRet[2] - Identificador do formulário daquela solicitação


UpdateCard

Definição : Esta função atualiza uma solicitação no ECM

Exemplo : UpdateCard(cProcess,nCardId,lMessage)

Parâmetros :

    • cProcess - Código do processo
    • nCardId - Numero da solicitação
    • lMessage - Exibe mensagens de Aviso

Retorno: Se houve sucesso na Execução  - Lógico

 

MoveProcess

Definição : Esta função inicializa uma solicitação no ECM.

Exemplo : MoveProcess(cProcess,nInstanceId,cUser,aUserList,nNextTask,cComments,lMessage)

Parâmetros :

    • cProcess - Código do processo
    • nInstanceId  - Número da solicitação no ECM
    •  cUser - Usuário solicitante
    •  aUserList - Lista de usuários responsáveis  Default({'admin'})
    •  nNextTask - Código da Próxima atividade se 0 vai para a atividade seguinte
    •  cComments - Comentários da tarefa
    •  lMessage - Exibe mensagens de Aviso

Retorno: Código da Solicitação - Numérico


CancelProcess

Definição : Rotina para cancelamento de Solicitações no Fluig.

Exemplo : CancelProcess(nInstanceId,cUserId,cComments,lMessage)

Parâmetros :

    • nInstanceId  - Número da solicitação no ECM
    •  cUserId- Usuário solicitante
    •  cComments - Comentários da tarefa
    •  lMessage - Exibe mensagens de Aviso

Retorno: Se houve sucesso na Execução  - Lógico


Rotinas X Bloqueio

      O cadastro de Rotinas X Bloqueio(TMSA025) deverá ser alterado para receber o novo campo "Envia Fluig"(DDV_ENVFLG), para informar que o código de bloqueio será enviado para a liberação via workflow Fluig. 


Manutenção de Bloqueios

Para realizar a integração, utilizaremos a nova tela de Manutenção de Bloqueios(TMSA029), pois a mesma já possui as informações apresentadas de uma forma sucinta. 

Para que a integração ocorra, deverá ser inserido dentro da rotina que gera os bloqueios no TMS (TMSA029Blqa chamada da Rotina "StartProcess"a mesma terá o objetivo de  iniciar uma nova solicitação no Fluig, referente a cada processo do TMS que solicitou o Bloqueio / Aprovação, esta ação deverá ser executada, após o preenchimento do modelo de dados e somente para os códigos de bloqueio que possuam o campo "Envia Fluig"(DDV_ENVFLG) com o valor "SIM".

O retorno da rotina  "StartProcess" será um array, onde a primeira posição será o Código da Solicitação no Fluig e a segunda posição será o código do Formulário do Fluig, as mesmas deverão ser gravadas no campo "Código Fluig"(DDU_INTFLG), juntamente com o usuário responsável pela solicitação, esta gravação deverá utilizar o conceito de metadados. Estas informações serão utilizadas para as Funções de Modificação da solicitação que serão explicadas a seguir.

Caso ocorra a necessidade de atualizar alguma atividade já inserida no Fluig, deverá utilizar a função "UpdateCard", para que a mesma tenha sua informações alteradas, conforme o modelo ativo no Protheus.

Caso ocorra a necessidade de Cancelar uma atividade no Fluig deverá ser utilizada a função "CancelProcess", esta função deverá ser utilizada quando os processos forem Liberados/Aprovados pelo Protheus e tiverem solicitação no  Fluig.

Caso ocorra a necessidade de mover uma etapa da solicitação deverá ser utilizada a função "MoveProcess", a mesma tem a capacidade de mover as etapas da atividade para frente  ou para trás. 

Como a rotina de Manutenção de Bloqueios(TMSA029), trabalhe de forma genérica, alguns dos processos terão particularidades e serão mencionados a seguir.


Fluxo Genérico :

Criação de Processos no Fluig

Também será criado o processo de Workflow no Fluig(Protótipo 01). O mesmo será exportado através da Rotina Gerador de Processos (CFGA115) existente no modulo Configurador  em  Ambente/ Totvs Ecm . 

Ele deverá conter uma etapa para cada um dos processos abordados na  rotina genérica de Liberação, conforme fluxo abaixo :

 Para Configurar a integração do Protheus com o Fluig para a funcionalidade da Experiência #2 acesse o Link  Fluig Identity – Linha Microsiga Protheus - Experiência #2: ECM e Workflow

 Para utilizar a rotina Gerador de Processos(CFGA115), acesso o Link Criando um novo Workflow no Protheus.

Inicializando solicitações no TMS Protheus

Será necessário  iniciar as atividades referentes ao Processo criado Fluig para cada bloqueio que ocorrer no Protheus, para isso deverá ser utilizando  a função "StartProcess", após a iniciar a solicitação a mesma deverá ser movida para etapa relativa ao processo que originou o bloqueio utilizando a função "MoveProcess", para que o mesmo possa seguir o fluxo correto.

Desta forma cada etapa poderá receber modificações em sua interface.

Caso a Aprovação / Liberação ocorra no Protheus, a solicitação criada no Fluig deverá ser cancelada. 

Rotinas TMS Protheus

As rotinas que estarão envolvidas nestes processos serão as seguintes: 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

TMSA040

Envolvida

Atualizações/S.A.C./Cotação de Frete

 

TMSAB30

Envolvida

Atualizações/Controle de Diárias/Controle de Diárias

 

Tmsa140

Envolvida

Atualizações/Viagens

 

TMSA141

Envolvida

Atualizações / Viagens / Rodoviário Entrega / Viagem

 

Tmsa144

Envolvida

Atualizações/Viagens/Rodoviário Entrega / Viagem(Mod2)

 

TMSA200

Envolvida

Atualizações/Recebimento/Calculo Frete

 

TMSA250

Envolvida

Atualizações/Terceiros/Contrato Carret. 

TMSA026

Envolvida

Atualizações/Aprovadores TMS

 

TMSA029

Alteração

Atualizações/CONTR.REGRAS/LIB./Manut.Bloqueios

 

TMSA025

Alteração

Atualizações/Rotinas X Bloqueios

 

 

Contrato de Carreteiro

A rotina de Liberação de Contrato de Carreteiro deverá ser adicionada no Processo Genérico de Liberação


Cotação de Frete

Para a rotina de Cotação de Frete, deverá ser desenvolvido um painel dentro da Tela Genérica de Liberação, para que o usuário do Fluig possa informar o Cliente Remetente, Cliente Destinatário e Cliente Devedor, com já é feito na rotina de Liberação especifica da Cotação de Frete. Estas informações deverão ser repassadas para a rotina de efetivação da Aprovação da Cotação.

No Fluig este painel deverá permanecer oculto para todas as etapas, exceto a etapa de Aprovação da Cotação.


Controle de diárias para motoristas próprios

 Para a rotina de Controle de diárias devera ser desenvolvido um painel, contendo um campo com as ações que poderão ser tomadas na rotina, são elas :

    • Aprovar
    • Reprovar
    • Cancelar

 No Fluig este painel deverá permanecer oculto para todas as etapas, exceto a etapa de Aprovação de Diárias.


As demais rotinas seguirão o atual processo genérico de Aprovação.

Envio de Usuários ao Fluig

 Ao enviar uma solicitação ao Fluig, deverá ser informado na função "StartProcess" os usuários que farão parte do grupo do aprovação.

Os usuários que serão utilizados estão na tabela DDY - Aprovadores TMS, de acordo com os tipos que o mesmo é responsável para a liberação.  

Para que isso ocorre, é necessário realizar o processo de exportação de usuário do Protheus para o Fluig, lembrando que os usuários precisam ter o e-mail cadastrado no Protheus, pois isso será a chave deles no Fluig.

Caso o processo de Aprovação/Liberação possua mais de um nível, será necessário executar uma solicitação para cada nível,onde a solicitação referente ao novo nível só poderá ser criada, após a finalização da solicitação do nível anterior.

Tabelas Utilizadas
    • DDU – Registro de Bloqueios TMS
    • DDV–  Rotinas X Bloqueios
    • DDY–  Aprovadores TMS 

Protótipo de Tela

 Protótipo 01

 

Fluxo do Processo

Aprovação Realizada no Fluig

  

Dicionário de Dados

 

Criação de Campos no arquivo SX3 – Campos:

  • Tabela DDU – Registro de Bloqueios TMS

    Campo

    DDU_INTFLG

    Tipo

    Memo

    Tamanho

    80

    Decimal

    0

    Formato

     

    Título

    Código Fluig

    Descrição

    Código Integração Fluig

    Usado

    Sim

    Obrigatório

    Não

    Browse

    Não

    Contexto

    Real

    Propriedade

    Visualizar

    Ordem

    22

    HelpRecebe os Códigos de Integração Fluig

 

  • Tabela DDV – Rotinas X Bloqueios

    Campo

    DDV_ENVFLG

    Tipo

    Caractere

    Tamanho

    1

    Decimal

    0

    Formato

    @!

    Título

    Envia Fluig

    Descrição

    Envia Workflow Fluig

    Usado

    Sim

    Obrigatório

    Não

    Browse

    Não

    Contexto

    Real

    Propriedade

    Altera

    Conteúdo

    1=Sim, 2=Não

    Ordem6
    HelpEnvia workflow de Liberação para o Fluig

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.