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 (TMSA029Blq) a 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 :
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