Como criar um processo no ECM a partir do Microsiga Protheus

A criação de processo no ECM pode ser realizado através da própria ferramenta, aqui descrevemos como fazer isto a partir de uma personalização no Microsiga Protheus.

Para criar um processo a partir do Microsiga Protheus pode-se utilizar o Wizard de WF do módulo configurador ou criar-se uma personalização. 

A seguir, descrevemos como fazer a criação através de uma personalização

  1. Configurar a integração para workflow entre o Protheus e o ECM no Configurador na opção Ambiente > Totvs ECM > Wizard do WF
  2. Utilizar a função FWECMProcess para criar e/ou atualizar o processo no ECM conforme o exemplo abaixo:

 

#include "totvs.ch"

User Function ProcCliente()

Local cProcessId := "CLIENTE"

Local cDescription := "Cadastro de cliente"

Local cInstruction := "Instruções de uso do processo"

Local nFormId := 22 // id do fichário adicionado no ECM no passo anterior

Local aStates := Array(4,6) // atividades do processo em sequencia para criação automática dos fluxos

Local aEvents := Array(1,2) // eventos que serão customizados para o processo

Local aProperties := Array(1,2) // propriedades que serão utilizadas nos scripts dos eventos do processo

Local aError

 

aStates[1][1] := "Início" // atividade

aStates[1][2] := "" // descrição

aStates[1][3] := "" // instruções

aStates[1][4] := 60 //prazo de conclusão em segundos

aStates[1][5] := 0 // mecanismo de atribuição (zero para nenhum, 1 para grupo ou 2 para usuário)

aStates[1][6] := "" // código do grupo ou usuário no ECM caso o mecanismo de atribuição seja diferente de zero

 

aStates[2][1] := "Revisão" // atividade

aStates[2][2] := "Revisão do cadastro do cliente" // descrição

aStates[2][3] := "Revise as informações do cadastro" // instruções

aStates[2][4] := 60 //prazo de conclusão em segundos

aStates[2][5] := 0 // mecanismo de atribuição (zero para nenhum, 1 para grupo ou 2 para usuário)

aStates[2][6] := "" // código do grupo ou usuário no ECM caso o mecanismo de atribuição seja diferente de zero

 

aStates[3][1] := "Fim" // atividade

aStates[3][2] := "Confirmar cadastro" // descrição

aStates[3][3] := "" // instruções

aStates[3][4] := 60 //prazo de conclusão em segundos

aStates[3][5] := 0 // mecanismo de atribuição (zero para nenhum, 1 para grupo ou 2 para usuário)

aStates[3][6] := "" // código do grupo ou usuário no ECM caso o mecanismo de atribuição seja diferente de zero

 

aEvents[1][1] := "beforeTaskSave"

// script na linguagem JavaScript

aEvents[1][2] := 'function beforeTaskSave(colleagueId,nextSequenceId,userList){'+;

'var A1_COD = hAPI.getCardValue("A1_COD");'+;

'if (A1_COD == ""){'+;

'   throw "O campo Código é obrigatório"'+;

'}'+;

'}'

 

aProperties[1][1] := "TABLE" // nome da propriedade

aProperties[1][2] := "SA1" // valor

 

FWECMProcess(cProcessId, cDescription, cInstruction, nFormId, aStates, aEvents, aProperties)

If FWWFIsError()

   aError := FWWFGetError()

   MsgStop(aError[2])

Else

   MsgInfo("Processo atualizado com sucesso")

EndIf

Return

  • Sem rótulos