Escolar Documentos
Profissional Documentos
Cultura Documentos
Workflow
Sumrio
2
Workflow
WORKFLOW
FLUXO OPERACIONAL
CONFIGURAO
Requisitos
Correio Eletrnico
Contas de e-mail
CADASTRAR A CONTA DE E-MAIL DO WORKFLOW
Pasta Caixa de Correio
Pasta Receber Mensagens
Pasta Enviar Mensagens
Pasta Conexo
Pasta "Correio"
PARMETROS
Pasta "Processo"
Pasta "Notificao"
Pasta "Messenger"
ESTRUTURA DE DIRETRIO DE MENSAGENS
PROCESSOS WORKFLOW
Status Workflow
E-mails substitutos
SCHEDULER
Ativao
Agendando
Agendar recebimento de mensagens do Workflow
AGENDAR ENVIO DE MENSAGENS DO WORKFLOW
HTML MODELO WORKFLOW
Post message
Macro substituio
Tabelas
CRIANDO UM PROCESSO EM ADVPL - FUNES
Classe TWFProcess
Mtodos
GLOSSRIO
3
4
5
5
6
6
8
9
10
11
12
14
14
15
17
18
19
22
24
27
29
29
30
33
34
35
35
36
37
40
40
40
52
WORKFLOW
A automao de processos de negcio corresponde, em partes ou totalmente, s informaes, documentos
ou tarefas que so passadas de uma pessoa outra para a realizao de uma ao que baseada em um
conjunto de regras.
Atravs da implantao de uma ferramenta de Workflow nos processos crticos de uma organizao, estes
tornam-se mais geis e seguros, evitando o travamento operacional do complexo fluxo existente entre
os processos.
Principais benefcios:
Aumento da eficincia: automao de processos eliminam vrios passos desnecessrios.
Melhor controle dos processos: melhora do gerenciamento dos processos atravs da padronizao dos
mtodos de trabalho.
Melhora nos servios ao cliente: consistncia nos processos leva a uma maior previsibilidade e rapidez
nos nveis de resposta ao cliente.
Flexibilidade: controle sobre os processos atravs de uma ferramenta permite uma rpida mudana nos
fluxos de acordo com a necessidade.
A ferramenta de Workflow existente no Protheus 8 permite o rpido alcance dos benefcios acima citados,
alm de:
Forte rastreabilidade dos processos: pode-se saber a atual situao de qualquer processo atravs da
consulta da rastreabilidade.
Transformao do sistema Protheus em ativo em vez de reativo: a informao e a ao necessria a ser
tomada levada ao usurio e no o contrrio.
Controle de time-out dos processos: os processos nunca ficam parados por falta de resposta de uma
pessoa.
Qualquer processo existente pode ser automatizado atravs da construo de um Workflow.
As aes a serem tomadas pelas pessoas em cobrana podem ser realizadas atravs de quatro meios,
evitando que um processo tenha seu ciclo interrompido por falta de comunicao, so eles:
e-mail: os processos so respondidos atravs de um cliente de e-mail homologado.
browser de internet: atravs do Internet Explorer, pode-se tomar a ao pedida pelo processo.
Protheus: atravs do recurso de Messenger do Protheus, pode-se tomar a ao pedida pelo processo.
Pontos de entrada: atravs de pontos de entradas existentes no sistema, pode-se tomar a ao pedida
pelo processo.
Workflow
FLUXO OPERACIONAL
Workflow
CONFIGURAO
Requisitos
Software: o Workflow, que uma ferramenta embutida dentro do Server do Protheus, no necessita de
instalao prpria, apenas configuraes. Toda configurao se d atravs do ambiente Configurador do
Protheus.
Servidor de e-mail (quando necessrio para os processos): o Workflow necessita obter acesso a
algum servidor de e-mail, caso se deseje utilizar e-mails como forma de comunicao. Esse servidor pode
estar em um provedor remoto, acessado atravs de um proxy server ou atravs de uma linha discada
(totalmente no recomendvel), caso se queira enviar e-mails para fora da sua empresa. Se a troca de
e-mails for interna, poder ser utilizado um Exchange Server, Lotus Domino Server ou outro servidor de
e-mail interno. O nico requisito imprescindvel que esses servidores trabalhem com protocolos SMTP
e POP3 ou IMAPI.
Conta de e-mail: caso utilize-se a opo de e-mail, o Workflow necessita que seja criada uma conta
de e-mail especificamente para ele. Isto , no poder ser utilizada para mais nenhum fim. Para cada
empresa do sistema, dever ser criada uma conta especfica. Pea para o seu provedor criar esta nova
conta. Sugerimos com o nome da conta Workflow.
Exemplo: workflow@suaempresa.com.br
Clientes de e-mail: para recebimento dos e-mails gerados a partir do Workflow, so utilizados os clientes
de e-mails que devem ser aptos a responder os e-mails gerados pelo Workflow, gerando arquivos de
retorno chamados octetos.
Para saber se o cliente de e-mail compatvel com o Workflow, ele dever automaticamente gerar um
e-mail de sada enviado para a conta do Workflow com um arquivo do tipo postdata atachado, quando
houver a resposta do e-mail pelo usurio.
Os seguintes clientes de e-mail funcionam com o Workflow: OutLook Express 4.01, OutLook Express
5.5x, OutLook Express 6.0 e OutLook 2000 e XP, Lotus Notes 5.x. Outros clientes de e-mail podem no
funcionar, principalmente os webmails. Portanto, garanta que as pessoas que iro receber e responder
os e-mails tenham os clientes acima instalados em suas estaes. Quando no houver a certeza de que
todos conseguiro responder os e-mails e possuir os clientes de e-mail homologados, use a opo de
Workflow sem uso de e-mails, conforme ser descrito nesta apostila. As opes de execuo de Java Script
e Cookies devero estar liberadas.
Servidor do Protheus: necessrio que o Workflow execute em um Server do Protheus exclusivo para
ele, ou seja, deve haver um binrio somente para o Workflow.
Memria do servidor: o servidor no qual ser executado o Workflow deve possuir memria suficiente para
que se processem vrios retornos ao mesmo tempo. O mnimo recomendado de 512 MB de memria
RAM para processar cinco retornos por vez. Um nmero maior do que isso, provavelmente necessitar de
mais memria.
Workflow
Correio Eletrnico
Protocolo
O Workflow faz uso do recurso de envio e recebimento de mensagens eletrnicas (e-mails). Para que
esse procedimento seja possvel, devemos configurar que tipo de protocolo de recebimento o Protheus
dever usar.
Se omitido, o padro assumido ser POP3. Caso necessite mudar, localize a seo [Mail] no arquivo
mp8srv.ini e altere para o protocolo utilizado.
Protocolos atualmente homologados:
POP3
IMAP
Exemplo:
[Mail]
Protocol=IMAP
Folder=inbox
Anotaes
Contas de e-mail
Atravs do cadastro de contas de e-mails, possvel realizar o envio e recebimentos de mensagens. Para
acessar o cadastro de e-mails, selecione a seguinte opo de menu do configurador:
Workflow
Aps a realizao do cadastro de uma conta de e-mail, possvel realizar algumas operaes extras
como:
Enviar: esta opo executar o envio de todas as mensagens contidas na pasta outbox (caixa de sada).
Enviar Todos: esta opo realizar a mesma operao do item anterior; entretanto, efetuar o envio de
todas as mensagens para todas as contas cadastradas.
Receber: esta opo executar o recebimento de todas as mensagens contidas no servidor de e-mail
especificado no cadastro para a pasta inbox (caixa de entrada).
Receber todos: esta opo realizar a mesma operao do item anterior. Contudo, realizar para todas
as contas cadastradas.
Anotaes
Workflow
Nesta opo voc poder definir quantas contas de email forem necessrias.
Workflow
Para incluir uma nova conta, escolha a opo Incluir. As seguintes informaes so pedidas:
Caixa de Correio
Opo
Item
Descrio
Correio
Tempo Espera
Correio
Nome
Remetente
Endereo
Habilitar
Endereo eletrnico.
Esta opo habilita o uso da conta para
enviar e receber mensagem.
Workflow
Receber mensagens
Opo
Item
Nome
Servidor (POP3 ou
IMAP)
Porta
Descrio
IP ou Named Pipe do servidor. Ser
exibido conforme o
tipo utilizado na
seo [Mail] no arquivo mp8srv.ini
Porta de acesso dependendo do tipo.
POP3 = 110; IMAP = 143 (defaults ).
Conta
Nome da conta.
Senha
Login
Anotaes
10
Workflow
Enviar mensagens
Opo
Item
Descrio
Nome
Porta
Servidor SMTP
Autenticao
Usurio
Senha
Anotaes
Workflow
11
Pasta Conexo
Conexo
Opo
Item
LAN
DIAL -Up
Tipo
*Conexes
Discagem
Workflow
Conta
S enha
Telefone
12
Descrio
* Os campos Conta, Senha e Telefone so obtidos automaticamente a partir da seleo da lista de conexes
disponveis no campo Conexes:. Esses campos so meramente informativos, j que foram obtidos
atravs da conexo criada previamente no Windows. Veja no manual do Microsoft Windows como criar
conexes dial-up.
* Os campos para autenticao de envio somente devero ser preenchidos caso sejam obrigatrios,
conforme a regra de segurana estabelecida pela empresa. Consulte o administrador do servidor de
mensagens para obter as informaes necessrias para os preenchimentos dos campos Usurio e
Senha.
Anotaes
Workflow
13
PARMETROS
O Workflow faz uso de uma srie de parmetros que determinam a maneira como ele se comportar
perante alguns pontos estratgicos na execuo dos fluxos de processo. O acesso janela de parmetros
est disponvel na opo do menu do configurador Ambiente > Workflow > Parmetros WF.
Pasta "Correio"
Anotaes
14
Workflow
Correio
Opo
Item
Parmetro
Caixa de correio
Conta
MV_WFMLBOX
Envia figura do
html como anexo
da mensagem
MV_WFIMAGE
Envia html no
corpo da
mensagem
MV_WFHTML
Envio automtico
MV_WFSNDAU
MV_WFJAVAS
No html, o Workflow
adicionar rotinas semi -prontas
em Java script.
Composio da
mensagem
Descrio
Pasta "Processo"
Workflow
15
Processos
Opo
Item
Parmetro
Descrio
Define a quantidade de
processos de retorno que
podero ser executados por vez.
Execuo de
retornos
Execuo( es) de
retorno(s)
simultneos de
processos .
Reativar processos
automatic amente
MV_WFMAXJB
MV_WFREACT
C aso esta
opo
seja
selecionad a, ocorr er erro na
execu o de retornos . O
Workflow reativar o processo
imediatamente
para ser
executado de novo. Caso
contrrio,
ser
reativado
somente quando o Scheduler
for reiniciado.
MV_WF TRANS
Tratamento de
erros
Usar
TRANSAAO na
execuo de
funes de
RETORNO e
TIMEOUTs
capacidade
de
processamento
da
mquina. A quantidade
influenciar na
performance
do
servidor.
Anotaes
16
Workflow
Pasta "Notificao"
Notificao
Opo
E -mail do
administrador
Item
Endereo
Parmetro
MV_WFADMIN
Descrio
Endereo
eletrnico
do
administrador (es) do sistema .
Separe entre ; (ponto
-evrgula) caso desej e informar
mais do que um endereo.
Exemplo:
A dm 1@prov.com.br;
adm2@prov.com.br
Quando oc orrer
erro ao e xecutar
funes
Retorno e
Timeout .
Enviar
notificao
Ao reativar
processos
pendentes .
Ao receber
mensagens no
reconhecidas .
MV_WFNF001
MV_WFNF002
MV_WFNF003
17
Pasta "Messenger"
Messenger
Opo
Item
Caminho
Parmetro
MV_WFBROWS
MV_WFBRWSR
MV_WFDHTTP
MV_WFMESSE
Browser
Internet
Servidor
18
Workflow
etrio HTTP
Caminho
Habilitar
Habilitar Messenger
automaticamente.
(prximo logon)
Descrio
Anotaes
Workflow
19
Estrutura de diretrios
Pastas
Descrio
Pasta principal da estrutura de diretrios do Workflow . Esta pasta
til para armazenar os html e arquivos comuns entre as empresas.
Pasta individual de trabalho para cada empresa.
Process
Tasks
Contm
temporariamente
arquivos
de
agendamento de rotinas utilizados para serem
inseridos dentro da tabela SXM (scheduler).
Temp
Archive
20
Workflow
Ignored
I nbox
Outbox
Sent
Anotaes
Workflow
21
PROCESSOS WORKFLOW
O cadastro de processos do Workflow, apesar de no ser obrigatrio, tem a importncia de amarrar
a seqncia de passos de um fluxo de processo para ser visualizado a partir da janela de consulta da
rastreabilidade.
Exemplo de processos a serem cadastrados:
Aprovao de solicitao de compras.
Aprovao de pedido de compras.
Cotao de preos.
Liberao de crdito.
Esse cadastro encontra-se no ambiente Configurador.
Para cadastrar processos workflow:
Em Ambiente > Workflow > Processos Workflow, selecione a opo "Incluir"
O sistema apresenta a tela de incluso da rotina.
22
Workflow
Cadastro de Processos
Agrupamento
Campos
Descrio
Cdigo
Nome
Nome do processo.
Tabel as
Pesquisa Padro
Arquivo .vsd
Codificao
Informativo
Pesquisa genrica
Visio
Workflow
23
Exerccios
A partir do configurador, selecione a opo de menu Ambiente > Workflow > Processos
Workflow e crie um novo processo conforme o contedo dos campos apresentados na tabela
abaixo:
Cdigo
ATUAPV A
Descrio
TUALIZACAO DO PRECO DE VENDA W
Pesq Padro
FSB1 - Produto
Status Workflow
O cadastro de Status o complemento do cadastro de processo. Atravs dele, determina-se cada etapa
que se realizar em um fluxo de processo, sendo muito til para determinar pontos de rastreabilidade
dentro de um grande processo.
Para cadastrar status workflow:
Em Ambiente > Workflow > Status Workflow, selecione a opo "Incluir".
O sistema apresenta a tela de incluso da rotina.
24
Workflow
Cadastro de Status
Agrupamento
Codificao
Informativo
Campos
Descrio
Cd Processo
Cdigo do processo.
Cd Status
Descrio
Tempo mdio
Workflow
25
Exerccios
Ainda no configurador, selecione a opo de menu Ambiente > Workflow > Status Workflow
e cadastre alguns status para o processo mencionado, conforme o contedo dos campos
apresentados abaixo:
Cd Processo
ATUAPV
ATUAPV
ATUAPV
ATUAPV
ATUAPV
ATUAPV
ATUAPV
ATUAPV
ATUAPV
Cd Status
100100
100200
100300
100400
100500
100600
100700
100800
100900
Descrio
INICIANDO
GERANDO PROCESSO PARA ENVIO
ENVIANDO MENSAGEM
AGUARDANDO RETORNO
ATUALIZANDO PRECO DE VENDA
TIMEOUT
REENVIANDO A MENSAGEM
FINALIZANDO
ERRO DE EXECUO
Anotaes
26
Workflow
E-mails substitutos
O cadastro de e-mails substitutos um recurso disponvel no Workflow que tem por finalidade delegar
para um outro endereo eletrnico todas as mensagens dirigidas a um determinado participante por um
perodo de tempo estipulado. Esse recurso importante quando se tratar de eventuais problemas em que
um dos participantes do fluxo do processo permanea ausente por motivos diversos (frias, afastamento
etc.).
Para cadastrar e-mails substitutos:
Em Ambiente > Workflow > E-mails Substitutos, clique na opo "Incluir".
O sistema apresenta a janela de incluso e Confirme.
Campos
Descrio
Do e-mail
Para o e-mail
Data incio
Data final
Dias
Endereo eletrnico
Perodo
Workflow
27
Exerccios
Cadastre um E-mail Substituto, seguindo as informaes abaixo:
Do e-mail: aprovador1@microsiga.com.br
Para o e-mail: aprovador2@microsiga.com.br
Data Inicial: 01/10/2007
At: 31/10/2007
Anotaes
28
Workflow
SCHEDULER
O Scheduler (agenda) uma ferramenta responsvel pela execuo das funes de usurios ou funes
padronizadas do sistema (chamaremos de Jobs), em determinados horrios especficos entre um intervalo
de tempo, sem que haja a interveno do usurio. Para que essa ferramenta esteja habilitada a realizar
execues dos jobs, necessrio que ela esteja ativada no servidor do Protheus.
Ativao
Para que os jobs sejam executados nos horrios pr-determinados, importante que aps a carga do
servidor do Protheus, o Scheduler seja executado. Dessa forma, ele poder verificar a cada minuto se h
jobs a serem executados.
Essa ativao ocorre a partir do recurso disponvel na seo[OnStart]contido no arquivo TOTVSAppServer.
INI. Exemplo a ser adicionado ao arquivo TOTVSAppServer.INI:
[ONSTART]
Jobs=Scheduler
[Scheduler]
Main=WFONSTART
Environment=EnvTOP
A funo WFOnStart responsvel pela carga inicial do Scheduler e requer informaes contidas no
arquivo auxiliar chamado Scheduler.wf, localizado no diretrio system do Protheus. O contedo desse
arquivo servir para obter a lista de parmetros necessria para executar o Scheduler.
Caso o arquivo no exista, ser criado automaticamente com o seguinte contedo padro:
99,01,ENVTOP,T,MOD.
1. 99 cdigo da empresa.
2. 01 cdigo da filial.
3. ENVTOP ambiente no qual ser executado o Scheduler.
4. T Valor lgico (True ou False). True, Indicar que realizar reativao dos processos nas tabelas do
Workflow.
5. MOD Nome do ambiente do qual o Workflow obter licenas.
Anotaes
Workflow
29
O Protheus, aceita os parmetros passados atravs da prpria seo sem a necessidade de utilizar o
arquivo auxiliar Scheduler.wf, apenas acrescentando as seguintes linhas:
Exemplo:
[Scheduler]
Main=WFOnStart
Environment=ENVTOP
nParams=5
Parm1=99
Parm2=01
Parm3=ENVTOP
Parm4=T
Parm5=TMK
Agendando
Atravs do configurador, possvel acessar a janela de cadastro de jobs a serem executados pelo
Scheduler.
Para configurar a rotina de Schedule:
Selecione as opes Ambiente > Schedule > Schedule
Selecione: Processos Especiais.
30
Workflow
Anotaes
Workflow
31
Campos
Cdigo C
Identificao
Freqncia
Descrio
digo nico identificador do job.
Nome
Nome simplificado.
Descrio
Descrio do job.
Diria
Semanal
Mensal
Data Incio
Hora Incio
Data final
Hora final
Intervalo
Ao
Ambiente
Perodo Inicial
Perodo Final
Perodo
Job
Environment
Anotaes
32
Workflow
Anotaes
Workflow
33
34
Workflow
Post message
O recurso Post message, nas pginas html a partir dos navegadores internet, permite que as respostas
sejam enviadas ao Workflow via correio eletrnico (e-mail) ou servio http. Para que isso seja possvel
necessrio incluir o tag <form action=mailto:%WFMailTo% method=post> nos formulrios html.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>Aprovao de Pedido de Compra</title>
</head>
<body bgcolor="#FFFFFF">
<form action="mailto:%WFMailTo%" method="POST" name ="FormPedComp">
...
</form>
</body>
</html>
Workflow
35
Macro substituio
Esta rotina consiste na substituio de todas as palavras encontradas nos formulrios html que estiverem
entre % ou !. Essa palavra-chave ter seu contedo modificado por outra informao durante a execuo
do processo.
Observe um formulrio modelo de aprovao de pedido de compras com suas respectivas palavraschaves (macros):
%macro% - Toda palavra encontrada entre este sinal (%), alm da substituio do contedo por outra
informao, tambm haver a necessidade de incluir no formulrio (cpia do modelo) as linhas de tags
<input type=hidden...> para cada palavra-chave (macro) encontrada.
Exemplo:
<input type=hidden name="EMISSAO" value="01/04/05">
<input type=hidden name="FORNECEDOR" value="100100">
<input type=hidden name="LB_NOME" value="RM SUPRIMENTOS INFO LTDA">
<input type=hidden name="LB_COND" value="30D">
<input type=hidden name="PEDIDO" value="000003">
importante saber que o uso desse smbolo necessrio somente para campos editveis que esperam
modificaes de seus contedos e que sero tratados no retorno das mensagens. Use este smbolo nos
controles do tipo TextField, TextArea, Radio Button, Combo Box e Check Box.
36
Workflow
TextField:
<input type="text" size="13" name="T7" value=%quantidade%>
TextArea:
<textarea name="S1" rows="4" cols="74">%observacao%</textarea>
Radio Button:
<input type="radio" checked name="%aprovacao%" value="Sim">Sim.
<br>
<input type="radio" name="%aprovacao%" value="Nao">No.
Combo Box:
<select name="list" size="1"><option selected>%itens%</option>
</select>
Check Box:
<input type="checkbox" name="checkbox" value="%item1%">Item 1
!macro! Toda palavra encontrada entre este sinal (!) ter somente seu contedo substitudo. No ser
includo <input hidden...> no html para essas palavras-chaves. Utilize-o em texto fixo.
Exemplo: ttulos, mensagens, cabealhos e rodaps.
Tabelas
As tabelas so identificadas pelo Workflow atravs do nome que precede o ponto (.) nas palavras-chaves.
Contudo, essas palavras-chaves devem realmente pertencer a uma tabela (tag <table>...</table>) do
formulrio html.
Veja em itens do html da aprovao do pedido de compras que h algumas palavras-chaves com o nome
precedido da palavra produto.. Neste caso, o Workflow ir referir-se a essa tabela pelo nome de produto
(sem o ponto). Poder conter vrias tabelas em um html que o Workflow saber identificar atravs do
nome.
Workflow
37
Exerccios
Anotaes
38
Workflow
Tela Pronta:
Anotaes
Workflow
39
Classe TWFProcess
A classe TWFProcess responsvel pela criao e gerenciamento do processo. Como toda classe, a
TWFProcess dividida em mtodos e propriedades.Veremos alguns dos principais mtodos e propriedades
que iremos usar para criao de um processo.
Mtodos
:New(<cCodProc>,<cDescr>,<cProcID>)
O mtodo New() responsvel pela criao e inicializao da classe WFProcess.
Parmetros:
1. cCodProc: este parmetro recebe o cdigo do processo usado em Cadastro de Processos.
2. cDescr: este parmetro recebe a descrio do processo que est sendo criado no momento. Se no
for informado, ser usada a descrio contida no cadastro de processo, localizada atravs do parmetro
anterior cCodProc.
3. cProcID: este parmetro recebe o ID do processo criado anteriormente. Normalmente, utilizado para
reconstruir um processo anterior, dando seqncia a ele.
40
Workflow
Exemplo:
oP := TWFProcess():New("PEDCOM","Aprovacao do Pedido de Compras")
:NewTask(<cDescr>,<cArqHtml>,<lCopiar>)
Este mtodo responsvel por criar a seqncia de tarefas a serem executadas e identificar qual html
ser utilizado pelo processo.
Parmetros:
1. cDescr: este parmetro recebe a descrio da tarefa.
2. cArqHtml: recebe o caminho e o nome do arquivo html que far uso no processo.
3. Copiar: este parmetro, do tipo lgico, responsvel por copiar todos os campos utilizados em uma
tarefa anterior, ou seja, para a tarefa que est sendo criada no momento.
Exemplo:
oP:NewTask("Criando Aprovacao", "\Workflow\WFW120p.htm" )
:AttachFile(<cArquivo>)
Este mtodo responsvel pela incluso de arquivos anexos mensagem. Esses arquivos devero estar
abaixo do root path do Protheus.
Parmetros:
cArquivo: caminho e nome do arquivo a ser anexo mensagem.
Exemplo:
oP:AttachFile(\Workflow\teste.txt)
:Start(<cHtmlCopiarPara>) -> cProcessKey
Este mtodo responsvel por construir todo o processo, gravar os registros nas tabelas do Workflow
e enviar a mensagem para os destinatrios. O valor de retorno uma chave composta pela codificao
ProcessID + TaskID e nmeros aleatrios, no total de 17 algarismos em hexadecimal.
Parmetros:
1. cHtmlCopiarPara: Caminho em que o Workflow dever realizar uma cpia do html final.
Exemplo:
cID := oP:Start(\Workflow\copia)
if file( \Workflow\copia\ + cID)
conout(Arquivo copiado com sucesso.)
endif
:Finish()
Workflow
41
Este mtodo responsvel por finalizar o processo. Aps a finalizao, ele no estar mais disponvel para
execues do tipo retorno e timeout.
Exemplo:
oP:Finish()
:Track(<cCodStatus>,<cDescr>,<cUsuario>)
Este mtodo responsvel por incluir as descries dos passos seguidos pelo fluxo do processo e
apresent-los na consulta da rastreabilidade.
Parmetros:
1. cCodStatus: cdigo do status do processo.
2. cDescr: descrio do passo ocorrido.
3. cUsuario: nome do usurio a que se destinou a tarefa.
Exemplo:
oP:Track(100200,Enviando o pedido para aprovacao,AprovadorA)
Propriedades
:cTo, :cCC e :cBCC
Estas propriedades definem o endereo dos destinatrios. Poder ser informado mais que um destinatrio
ao mesmo tempo. Basta incluir um ponto-e-vrgula ; entre eles. Se for informada uma palavra qualquer
que no seja um endereo de e-mail vlido, o Workflow ir considerar que se trata de um diretrio em que
o html gerado dever ser gravado. Pode-se mesclar os tipos.
Exemplo:
oP:cTo := aluno1@microsiga.com.br;aluno2@microsiga.com.br
oP:cCC := aluno3@microsiga.com.br;Aluno
oP:cBCC := aluno4@microsiga.com.br
:cSubject
Esta propriedade define o assunto da mensagem.
Exemplo:
oP:cSubject := Aprovado do pedido de compras no. 1028
:cBody
Esta propriedade armazenar um texto que permanecer no corpo da mensagem. Caso seja utilizado, o
html ir como anexo da mensagem.
42
Workflow
Exemplo:
oP:cBody := Testando...
:bReturn
Esta propriedade contm o nome da funo que ser executada no momento em que o Workflow receber
a mensagem de resposta de um dos destinatrios via e-mail ou servio http.
Exemplo:
oP:bReturn := U_Retorno
:bTimeOut
Esta propriedade recebe um array de timeouts contendo nomes das funes e tempo de espera. Caso
o tempo seja alcanado, sero executadas as funes mencionadas no 1 item do array. Podero ser
especificados mais do que um array de timeouts.
{ { <cFuncao>, <nDias>, <nHoras>, <nMinutos> }, { ... } }
Exemplo:
oP:bTimeOut := { { TimeOut1, 0, 5, 30 } }
ou
oP:bTimeOut := { { TimeOut1, 0, 5, 30 }, { TimeOut2, 1, 10, 0 } }
:fProcessID
Esta propriedade fornece o nmero ID do processo.
Exemplo:
cProcID := oP:fProcessID
:fTaskID
Esta propriedade fornece o nmero ID da tarefa criada para um determinado processo, atravs do mtodo
:NewTask().
Exemplo:
oP:NewTask( "100100", "\Workflow\WFW120p.htm" )
cTaskID := oP:fTaskID
:oHTML
Esta propriedade responsvel pelo tratamento das palavras-chaves no html mencionado no mtodo
:NewTask(). Esse objeto uma referncia da classe TWFHtml() e disponibiliza dois dos mtodos mais
importantes :RetByName() e ValByName().
:oHTML:RetByName( <cNome da macro> )
Todos os direitos reservados.
Workflow
43
Esta propriedade tem como objetivo obter o contedo da macro quando as respostas retornarem para
o Workflow. O mtodo somente dever ser usado na funo de retorno.
Exemplo:
cNome := oP:oHtml:RetByName( Nome )
Em uma tabela:
aCodigo := oP:oHtml:RetByName( produto.Codigo )
:oHTML:ValByName(<cMacro>,<uConteudo>)
Este mtodo tem como objetivo atribuir ou obter um valor a uma macro existente no html. Dever ser
usado somente no momento em que estiver assinalando valores ao html ou na funo de timeouts, em
que o uso necessrio por motivo de no haver recebido resposta.
Parmetros:
cMacro: nome da macro (palavra-chave) encontrada no html e identificada entre os smbolos % e !.
uConteudo: valor a ser atribudo macro.
Exemplo:
Assinalando um valor:
oP:oHtml:ValByName( Nome,Aluno1 )
Usando na funo de timeout:
cNome := oP:oHtml:ValByName( Nome )
Atribuindo um valor a uma tabela:
AAdd( oP:oHtml:ValByName( produto.codigo ), SB1->SB1_COD )
Anotaes
44
Workflow
Exerccios
Criar processo de Workflow a partir do ponto de entrada
No TotvsDevStudio, geraremos um arquivo de programa chamado ATUAPV.PRW onde ser
criada a funo representativa do ponto de entrada MT010INC, em que descreveremos o fluxo
do processo com o uso das classes e funes do Workflow. Essa funo (ponto de entrada) ser
executada a partir do momento em que for pressionado o boto OK, na confirmao da incluso
dos dados do produto na tabela SB1.
ATUAPV.PRW
#INCLUDE PROTHEUS.CH
/*
// MT010INC - Corresponde ao ponto de entrada do sistema que somente
//
ser executado na incluso de novos produtos.
*/
User Function MT010INC(nOpcao,oProcess)
// Inicialmente, os parmetros nOpcao e oProcess estaro com valores iguais a NIL.
// se nOpcao for NIL, ter o seu valor inicial igual a 0 (zero).
default nOpcao := 0
do case
case nOpcao == 0
U_APVInicio()
case nOpcao == 1
U_APVRetorno(oProcess)
case nOpcao == 2
U_APVTimeOut(oProcess)
endcase
Return
/*
// APVInicio - Esta funo responsvel por iniciar a criao do processo e por
//
enviar a mensagem para o destinatrio.
*/
User Function APVInicio(oProcess)
Local nDias := 0, nHoras := 0, nMinutos := 10
Local cCodProcesso, cCodStatus, cHtmlModelo
Local cUsuarioProtheus, cCodProduto, cTexto, cAssunto
cCodProduto := SB1->B1_COD
// Cdigo extrado do cadastro de processos.
cCodProcesso := "ATUAPV"
Workflow
45
46
Workflow
EndIf
EndIf
SB1->B1_WFID := oProcess:fProcessID
MsUnLock()
Workflow
47
48
Workflow
Workflow
49
// Inicie o processo
oProcess:Start()
Else
// Adicione as informaces a serem includas na rastreabilidade.
cTexto := "No foi possvel encontrar o produto: " + cCodProduto
cCodStatus := "100900" // Cdigo do cadastro de status de processo
oProcess:Track(cCodStatus, cTexto) // Rastreabilidade
EndIf
Return
Exerccio 2
Compilar e executar o ambiente COMPRAS.
Aps compilar o programa ATUAPV.PRW, execute o ambiente de compras, selecione a opo de
menu Atualizaes | Cadastros | Produtos e inclua um novo produto. Ao confirmar a gravao
pressionando o boto Ok, ser enviado um e-mail ao destinatrio contendo, no corpo o html, os
dados do produto e o campo do valor do preo de venda a ser alterado.
Ao receber o e-mail no cliente de e-mail, coloque o valor no campo Preo de Venda R$ e clique
em Enviar.
Garanta que o Scheduler esteja ativo e a funo de recebimento de mensagens do Workflow esteja
agendada (faa o agendamento de 1 em 1 minuto para que a resposta seja quase prontamente
processada). Passados alguns segundos, consulte o cadastro do produto recm-includo e veja
que o preo de venda foi atualizado com o valor informado no e-mail.
Exerccio 3
Consultas (Rastreabilidade de processo)
A qualquer momento, podero ser realizadas consultas na janela de rastreabilidade para saber em
que situao est um determinado processo. A partir da opo de menu Miscelnea | Workflow
| Rastreabilidade no prprio ambiente de compras (ou qualquer outro), possvel realizar tais
consultas.
No campo Pesq Padro:, selecione a pesquisa padro WFSB1 e, no campo Processo:, pressione
F3 para realizar a pesquisa da tabela SB1 (produtos). Ao selecionar o produto, voc ter algumas
informaes inerentes ao processo gerado para o produto escolhido. Observe que todos os textos
que inclumos atravs do mtodo oprocess:track(...) sero vistos nesta janela.
Exerccio 4
Consultas (Processo por usurios)
A qualquer momento, o usurio do sistema poder realizar consultas sobre pendncias geradas
pelo Workflow, simplesmente selecionando a opo de menu Miscelnea | Workflow | Processos
Usuarios disponvel nos ambientes.
50
Workflow
Se o usurio atual for administrador, ele poder ver as pendncias geradas para qualquer outro
usurio cadastrado no sistema. Caso contrrio, somente visualizar as pendncias relacionadas a ele
prprio.
Anotaes
Workflow
51
Glossrio
52
Workflow
Workflow
53