Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.
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
Rotina Padrão de Bloqueio
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 devera deverá conter uma etapa para cada um dos processos abordados na rotina genérica de Liberação, conforme fluxo abaixo :
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[ACAA040 – Parâmetros] | [Alteração] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA050 – Negociação Financeira] | [Envolvida] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA060 – Cadastro de Pedidos] | [Criação] | [Atualizações -> Acadêmico-> Cadastros] | - |
Exemplo de Aplicação:
- Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
- Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades como a referência mínima para calcular o débito total do aluno.
- Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
- O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.
Tabelas Utilizadas
- SE2 – Cadastro de Contas a Pagar
- FI9 – Controle de Emissão de DARF>.
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
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
Help Recebe 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
Ordem 6 Help Envia workflow de Liberação para o Fluig
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Módulo |
|
|
|
Programa base |
|
|
|
Nome Menu | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Registro padrão | Sim | Sim | Sim |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Release de Liberação |
|
|
|
Programas
Programa |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Nome Externo |
|
|
|
Nome Menu/Programa | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Nome Verbalizado[1] | (Max 254 posições) | (Max 254 posições) | (Max 254 posições) |
Procedimento |
|
|
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Sim/Não | Sim/Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Query on-line | Sim/Não | Sim/Não | Sim/Não |
Log Exec. | Sim/Não | Sim/Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Sim/Não | Sim/Não | Sim/Não |
Home[5] | Sim/Não | Sim/Não | Sim/Não |
Posição do Portlet[6] | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right |
Informar os papeis com os quais o programa deve ser vinculado |
|
|
|
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel | (máx 3 posições) |
Descrição em Português* |
|
Descrição em Inglês* |
|
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|