Você está na página 1de 68

INSTALAÇÃO

WORKFLOW DE COMPRAS
WORKFLOW DE COMPRAS

Sumário

1. Processo cotação ................................................................................................................... 6

1.1. Envio de e-mail aos fornecedores ................................................................................. 6

1.2. Reenvio .......................................................................................................................... 6

1.3. E-mail sem resposta ...................................................................................................... 7

1.4. Retorno de e-mail dos fornecedores ............................................................................ 8

1.5. Informação ao Comprador ............................................................................................ 9

2. Processo pedido de compra ................................................................................................ 10

2.1. Envio de e-mail para aprovação do pedido................................................................. 10

2.2. Retorno de e-mail dos aprovadores (primeiros níveis)............................................... 12

2.3. Retorno de e-mail dos aprovadores (último nível) ..................................................... 12

2.3.1. Resultado da Aprovação.......................................................................................... 12

2.4. Pedido de compra ao fornecedor ............................................................................... 13

2.5. Exclusão do pedido de compra ................................................................................... 14

3. Processo Solicitação de Compras ........................................................................................ 15

3.1. Retorno de e-mail dos aprovadores (primeiros níveis)............................................... 15

3.2. Retorno de e-mail dos aprovadores (último nível) ..................................................... 15

3.2.1. Resultado da Aprovação.......................................................................................... 15

4. Processo Nota Fiscal de Entrada ......................................................................................... 16

4.1. Informação de Solicitação Atendida ........................................................................... 16

5. Premissas............................................................................................................................. 17

6. Instalação ............................................................................................................................ 18

6.1. Configurações Iniciais .................................................................................................. 18

6.1.1. Clientes que utilizam Soluções de Cloud da TOTVS ................................................ 18

6.1.2. Aplicar o patch disponível no SVN de Kit de Entregas. ........................................... 19

6.1.3. Compatibilizador “U_UPDWF” ................................................................................ 21

2
WORKFLOW DE COMPRAS

6.1.4. Classe de Licenças ................................................................................................... 25

6.1.5. Pontos de Entrada ................................................................................................... 25

6.1.6. Campos Gerados ..................................................................................................... 26

6.1.6.1. Campos no SC7 (Pedidos de Compras): .............................................................. 26

6.1.6.2. Campos no SC8 (Cotações):................................................................................. 26

6.1.6.3. Campos no SCR (Documentos com Alçada) ........................................................ 26

6.1.6.4. Campos no SA2 (Fornecedores) .......................................................................... 27

6.1.6.5. Campos no SY6 (Condições de Pagamento)........................................................ 27

6.1.7. Índices Gerados ....................................................................................................... 27

6.1.8. Parâmetros .............................................................................................................. 28

7. Atualização do Workflow de Compras ................................................................................ 32

8. Pastas .................................................................................................................................. 33

9. Configuração de E-mail ....................................................................................................... 35

9.1. Parâmetros de Workflow ............................................................................................ 35

9.2. Contas de E-mail.......................................................................................................... 36

10. Configuração do WorkFlow no AppServer.ini ................................................................. 38

Utilizando os pontos de entrada específicos .............................................................................. 39

10.1. Cotação.................................................................................................................... 39

10.2. Pedido de compra ................................................................................................... 40

10.3. Solicitação de compra ............................................................................................. 41

10.4. Nota fiscal de entrada ............................................................................................. 43

11. Função adicional.............................................................................................................. 44

11.1. EnvPed() .................................................................................................................. 44

11.2. WFReEnvCot() ......................................................................................................... 45

12. Problemas Adversos ........................................................................................................ 46

13. Pontos de Entrada Específicos ........................................................................................ 49

13.1. Exemplo de utilização.............................................................................................. 57

3
WORKFLOW DE COMPRAS

14. Pontos de Atenção .......................................................................................................... 59

15. Assistente para validação ................................................................................................ 61

15.1. Informações disponíveis.............................................................................................. 62

15.2. Funcionalidades disponíveis........................................................................................ 65

15.2.1. Validação de uma conta de workflow ......................................................................... 65

15.2.2. Geração do arquivo de log .......................................................................................... 66

15.2.3. Validação da licença .................................................................................................... 67

16. Configuração do log de execução ................................................................................... 68

4
WORKFLOW DE COMPRAS

Etapas simplificadas

P.E. RESPONSAVEL POR


GRUPO PROCESSO
DISPARAR
MT130WF – Versão 11
Enviar Cotação aos fornecedores
MATA131 (MVC) – Versão 12
Ponto de entrada quando se incluir um novo participante ou uma nova
MT150END
proposta na análise da cotação.
MT130WF – Versão 11
Cotação Reenvio de cotação
MATA131 (MVC) – Versão 12
MT130WF – Versão 11
E-mail sem resposta
MATA131 (MVC) – Versão 12
Não precisa de JOB pois o
Informa ao Comprador que todas as cotações foram realizadas retorno da aprovação já
dispara este e-mail.
Análise da cotação para gerar o pedido de compra. Necessitando passar
MT160WF ou MT120GOK
pelo controle de alçadas.
Não precisa de JOB pois o
Informa se o Pedido de Compra foi aprovado ou reprovado. retorno da aprovação já
dispara este e-mail.
Pedido de Não precisa de JOB pois o
Compra Envio do Pedido de Compra ao Fornecedor retorno da aprovação já
dispara este e-mail.
Envio de e-mail de vencedor ao fornecedor, quando pedido for liberado
MT097END – Versão 11
via rotina padrão(MATA097) ou de aprovação quando tiver mais níveis
MT094END – Versão 12
pendentes para aprovar
Executado na exclusão manual do pedido de compra MTA120G1
Solicitação Inclusão da solicitação de compra, necessitando passar pelo controle de
M110STTS
de Compra alçadas.
Informação de solicitação atendida (Documento de entrada foi inserido
NF entrada MT100AGR
com o pedido de compra gerado através da cotação)

5
WORKFLOW DE COMPRAS

1. Processo cotação

1.1. Envio de e-mail aos fornecedores

Ao final da geração das cotações serão enviados e-mails para que os


fornecedores selecionados efetuem a cotação das solicitações.

Ponto de Entrada: MT130WF (Versão 11) ou MATA131 (Versão 12)

1.2. Reenvio
Caso o campo C8_ZZDTENV (Data de Envio) não esteja preenchido ou a Data de envio
seja menor que (Data Base - ZZ_WFCOTRE (Dias antes da data atual para as cotações a serem
consideradas)) a cotação será reenviada.

HTML V1.00

6
WORKFLOW DE COMPRAS

HTML V2.00

1.3. E-mail sem resposta


Caso o campo C8_EMISSAO (Emissão) seja menor que a Data Base - ZZ_WFCOTSR
será enviado um e-mail ao comprador informando que o fornecedor não respondeu a
cotação.

HTML V1.00

7
WORKFLOW DE COMPRAS

HTML V2.00

Atenção

O próprio Ponto de Entrada MT130WF/MATA131 (MVC) utiliza a função U_WFLOW04, portanto


quando forem geradas as cotações da solicitação de compra, também será reenviado e-mails não
respondidos no prazo, como também o tratamento de e-mails sem resposta, além de enviar o e-mail ao
fornecedor desta nova solicitação.

1.4. Retorno de e-mail dos fornecedores

Neste ponto serão atualizados os dados das cotações conforme as informações


respondidas pelos fornecedores.
Caso o parâmetro ZZ_EXCCOT esteja configurado como verdadeiro (.T.) e o ponto de
entrada MT150CHV esteja compilado (a partir da versão 1.34, este PE não é mais
utilizado pelo acelerador), a opção de exclusão de cotações com o valor zerado
durante o retorno será habilitada.
Caso a rotina automática de exclusão não seja executada corretamente, o será enviado
um e-mail ao endereço configurado como administrador do workflow de compras no
configurador. Neste e-mail será enviado o retorno da rotina automática e as
informações da cotação.

Não precisa de JOB pois o retorno da cotação já dispara este e-mail.

8
WORKFLOW DE COMPRAS

1.5. Informação ao Comprador

Após todos os fornecedores responderem, será enviado um e-mail ao


comprador informando que as cotações estão disponíveis para análise.

HTML V1.00

HTML V2.00

Não precisa de JOB pois o retorno da cotação já dispara este e-mail, caso todos os
fornecedores responderem.

9
WORKFLOW DE COMPRAS

2. Processo pedido de compra

2.1. Envio de e-mail para aprovação do pedido

Após o comprador efetuar a análise das cotações e selecionar o(s)


fornecedor(es) vencedor(es), o pedido será gerado bloqueado e será enviado e-mail
para o grupo de aprovação do comprador para este efetuar a aprovação ou não do
pedido de compra (Controle de alçadas).
Obs.: Caso não haja grupo de aprovação para o comprador o pedido estará
liberado e não passará pelos processos do Workflow.
Se o parâmetro ZZ_WFAUTH estiver como .T. e o appserver.ini devidamente
configurado para essa funcionalidade(vide página 29) será exibida a seguinte tela
antes de abrir a página de aprovação do pedido de compra:

Nessa tela deverá ser informado o login e senha do aprovador (a mesma do protheus).

10
WORKFLOW DE COMPRAS

HTML V1.00

HTML V2.00

11
WORKFLOW DE COMPRAS

2.2. Retorno de e-mail dos aprovadores (primeiros


níveis)

Neste ponto serão atualizados os dados respondidos pelo aprovador.

 Próximo nível de aprovação - Caso haja algum aprovador acima do nível


do(s) aprovador(es) que aprovou o pedido de compra o pedido continuará
bloqueado e será enviado um novo e-mail para os aprovadores deste nível.

2.3. Retorno de e-mail dos aprovadores (último nível)


Neste ponto, se todos os aprovadores do último nível efetuaram a aprovação
do pedido, este estará liberado.

2.3.1. Resultado da Aprovação

Será enviado um e-mail ao comprador e outro e-mail ao solicitante informando


o resultado da aprovação do pedido de compra.
É possível parametrizar (verificar parâmetro ZZ_WFITPC) se os e-mails serão
encaminhados após a aprovação da solicitação ou após a aprovação de cada item nos
casos onde a alçada de aprovação seja por entidade contábil.

HTML V1.00

12
WORKFLOW DE COMPRAS

HTML V2.00

Não precisa de JOB pois o retorno da cotação já dispara este e-mail.

Atenção

O envio de e-mail aos aprovadores é automático, enviado após a resposta de cada


aprovação.

2.4. Pedido de compra ao fornecedor

Após a aprovação do pedido, caso o parâmetro de envio de pedido automático


(ZZ_WFHPCIF) esteja marcado como verdadeiro, será enviado automaticamente ao
fornecedor um e-mail com os dados do pedido.

HTML V1.00

13
WORKFLOW DE COMPRAS

HTML V2.00

2.5. Exclusão do pedido de compra

Quando um pedido é cancelado, será enviado automaticamente um e-mail com


a data de exclusão e o número do pedido para o solicitante e comprador.
Ponto de Entrada: MTA120G1

HTML V1.00

HTML V2.00

14
WORKFLOW DE COMPRAS

3. Processo Solicitação de Compras

Após a inclusão de uma solicitação de compra, a mesma será gerada bloqueada


e será enviado e-mail para os aprovadores dos grupos de aprovação das entidades
contábeis informadas nos itens da solicitação para que os mesmos efetuem a
aprovação ou não da solicitação de compra (Controle de alçadas).
Obs.: Este processo só será executado caso a alçada seja por entidade contábil
e esteja habilitado o parâmetro de aprovação de solicitação de compra.

3.1. Retorno de e-mail dos aprovadores (primeiros


níveis)

Neste ponto serão atualizados os dados respondidos pelo aprovador.

 Próximo nível de aprovação - Caso haja algum aprovador acima do nível


do(s) aprovador(es) que aprovou o pedido de compra o pedido continuará
bloqueado e será enviado um novo e-mail para os aprovadores deste nível.

3.2. Retorno de e-mail dos aprovadores (último nível)


Neste ponto, se todos os aprovadores do último nível efetuaram a aprovação
do pedido, este estará liberado.

3.2.1. Resultado da Aprovação

Será enviado um e-mail ao comprador e outro e-mail ao solicitante informando


o resultado da aprovação do item da solicitação de compra ou aprovação total da
mesma.
É possível parametrizar (verificar parâmetro ZZ_WFITSC) se os e-mails serão
encaminhados após a aprovação da o solicitação ou após a aprovação de cada item.

Atenção

O envio de e-mail aos aprovadores é automático, enviado após a resposta de cada


aprovação.

15
WORKFLOW DE COMPRAS

4. Processo Nota Fiscal de Entrada

4.1. Informação de Solicitação Atendida

Após a confirmação de uma nota fiscal de entrada que foi fruto de um pedido
de compra, será enviado um e-mail ao solicitante informando a entrada do material.

HTML V1.00

HTML V2.00

Ponto de Entrada: MTA100AGR

Todos os processos possuem parâmetros para habilitar ou desabilitar o envio dos e-mails.

16
WORKFLOW DE COMPRAS

5. Premissas
Existem diversos pontos de entrada que permitem a personalização dos e-mails do
workflow (inclusão de novos campos e alteração do valor dos campos já existentes).
Qualquer personalização solicitada não está contemplada no preço inicial, devendo ser
negociada separadamente.

17
WORKFLOW DE COMPRAS

6. Instalação

6.1. Configurações Iniciais

6.1.1. Clientes que utilizam Soluções de Cloud da


TOTVS
Para instalação em clientes que utilizem as soluções de Cloud da TOTVS, será
necessário abertura de chamado para solicitação das liberações/configurações
necessárias para utilizaçao do workflow de compras.

 A solicitação dos itens abaixo deve ser alinhada previamente com o cliente.

 Abrir tickets para cada item separadamente.

 Abertura de ticket como analista não é permitido pelo Cloud.

Descrição Exemplo de Chamado


Criação de um SLAVE específico (fora do
balanceamento de carga do master) apontando para
Abertura de ticket cloud server específico com
uma CÓPIA do RPO/Ambiente e uma porta externa
configurações WF e Liberar as portas necessárias
(http) para criarmos/utilizarmos o Protheus com
WORKFLOW;
Abertura de ticket cloud para solicitar liberação do novo
Liberação do server no cockpit para manutenções;
sever no cockpit do cliente

Abertura de ticket cloud para backup (RPO e System)


BACKUP: ( ) Banco de Dados - (X) Aplicação
Exemplo:
Diretório: System
Código de ambiente:
BACKUP: ( ) Banco de Dados - ( ) Aplicação
Ambiente: (X) Produção - ( ) Teste
Data/Hora ou período para o backup: 21/03/18 (Após
Código de ambiente:
as 18h)
Ambiente: ( ) Produção - ( ) Teste
Disponibilizar no FTP? Não.
Data/Hora ou período para o backup:
Disponibilizar no FTP?

Abertura de ticket cloud para aplicação de patch do


produto, da licença e LibAdvpl e cópia do arquivo Código do Ambiente: Ambiente ainda em criação
iplicense.lic na pasta system. conforme chamado aberto (workflow).
(Enviar usuário e senha (admin) do Protheus.) Atenção, não aplicar no ambiente XYZ Aplicar somente
no ambiente/RPO que será criado para o workflow.
Exemplo Ambiente: (X) Produção ( ) Teste
Usuário e senha do Administrador para aplicação:
Código do Ambiente: Usr: admin
Ambiente: ( ) Produção ( ) Teste Psw: senha123
Usuário e senha do Administrador para aplicação:

18
WORKFLOW DE COMPRAS

6.1.2. Aplicar o patch disponível no SVN de Kit de


Entregas.

 Abrir o TDS;
 Clicar no ícone para aplicar o patch (Imagem abaixo);

 Selecionar o patch disponibilizado (Imagens abaixo), através do item em


destaque.

19
WORKFLOW DE COMPRAS

 Aguardar e clicar no botão .

20
WORKFLOW DE COMPRAS

6.1.3. Compatibilizador “U_UPDWF”

Fazer backup da base de dados e dicionários.


Rodar compatibilizador “U_UPDWF” para criar os campos e parâmetros
personalizados.
 Abra o Smart Client.
 Defina o Programa inicial como “U_UPDWF” (Imagem abaixo).
 Defina o Ambiente no servidor.

 Click no botão .

21
WORKFLOW DE COMPRAS

 Se já foi efetuado todo os Backup’s necessarios clicar no botão .

 Selecionar a Empresa (Imagem abaixo);

22
WORKFLOW DE COMPRAS

 Clicar no botão .

 Clicar no botão .

23
WORKFLOW DE COMPRAS

 Aguardar atualizações, conforme imagens:

24
WORKFLOW DE COMPRAS

6.1.4. Classe de Licenças

Para o funcionamento do WorkFlow a classe abaixo deve estar compilada no ambiente:

E o arquivo iplicense.lic deve ser copiada para a pasta system do cliente.

6.1.5. Pontos de Entrada


A utilização dos pontos de entrada presentes na pasta Kit de Entrega\Pontos de Entrada
Padrões Usados.rar é obrigatória para o funcionamento do Acelerador Workflow de Compras.
Antes de aplica-los, considere os cenários abaixo:

 O cliente já utiliza o ponto de entrada?

o Sim:

 Compatibilizar os pontos de entrada, adicionar a chamada das funções


do workflow no ponto de entrada do cliente.

 Encaminhar e-mail ao coordenador, solicitando que os pontos de


entrada sejam atualizados no SVN do cliente.

o Não:

 Validar o ponto de entrada presente na pasta Kit de Entrega\Pontos de


Entrada Padrões Usados.rar de acordo com a versão do Protheus
utilizada e compilar no ambiente do Cliente.

25
WORKFLOW DE COMPRAS

 Encaminhar e-mail ao coordenador, solicitando que os pontos de


entrada sejam incluídos no SVN do cliente.

o Estrutura de Pastas:

 Pasta Genéricos: Pontos de entrada utilizados nas versões


Protheus 11 e Protheus 12.
 Pasta V12: Pontos de entrada específicos para o Protheus 12.
 Pasta V11: Pontos de entrada específicos para o Protheus 11.

6.1.6. Campos Gerados

Abaixo os campos gerados através do compatibilizador “U_UPDWF”

6.1.6.1. Campos no SC7 (Pedidos de Compras):


Campo Descrição
C7_ZZDTREE Data do Reenvio do e-mail
C7_ZZDTENV Data do envio do e-mail

6.1.6.2. Campos no SC8 (Cotações):


Campo Descrição
C8_ZZDTENV Data do envio da cotação
C8_ZZDTRET Data do retorno da cotação
C8_ZZWFID Id do processo
C8_ZZUSRGC Usuário que ira mandar o e-mail
C8_ZZINCOT Incoterm
C8_ZZCOTOK Cot.final?

6.1.6.3. Campos no SCR (Documentos com Alçada)

Campo Descrição
CR_ZZDTENV Data de envio para o Primeiro Aprovador.
CR_ZZWFID ID do Processo de Retorno da Aprovação

26
WORKFLOW DE COMPRAS

6.1.6.4. Campos no SA2 (Fornecedores)

Campo Descrição
A2_ZZOPER Operação de Compra.

6.1.6.5. Campos no SY6 (Condições de Pagamento)

Campo Descrição
Y6_ZZDESC Description

IMPORTANTE

Preencher os campos C7_ZZDTENV e C8_ZZDTENV, com a data atual. Caso contrário na


primeira vez que for executado o WorkFlow Compras, será enviado um e-mail para
todos os fornecedores do histórico, inteiro, da base do cliente.

6.1.7. Índices Gerados

Tabela SCR:

CR_FILAIL+CR_TIPO+CR_NUM+CR_NIVEL+CR_USER

Tabela SY6:

Y6_FILIAL + Y6_SIGSE4

27
WORKFLOW DE COMPRAS

6.1.8. Parâmetros

Prints e telas

Abaixo imagens que exibem a localização dos parâmetros, acessado pelo configurador.

 Abrir o Protheus no modulo SIGACFG

 Abri o Menu Ambiente>Cadastro>Parâmetros

 Clicar no botão .

Abaixo os parâmetros necessários para o correto funcionamento do WorkFlow


Compras e para o envio de e-mail.

Atenção ao parâmetros com destaque em amarelo

Parâmetro Descrição Exemplo


Quando preenchido um endereço de e-mail, todos os e-mails serão
Endereço de e-mail para realização
ZZ_WFMAILT enviados para este endereço.
dos testes.
Utiliza-lo somente para validação do workflow de compras.
Logo para o workflow (Tem que ser http://www.totvs.com/image/company_logo
ZZ_WFLOGO
um .JPG da Web) ?img_id=10209&t=1368996217181
Exemplo : 10.0.1.39:9191 (IP Local e Porta referente a seção HTTP) –
ZZ_WFIPEXT IP para acesso externo Verificar Configuração do WorkFlow no AppServer.ini.

Caminho dos HTMLs gerados pelo


ZZ_WFRES \workflow\messenger\
workflow
Dias antes da data atual para as
ZZ_WFCOTRE 2
cotações a serem consideradas
Dias até quando considerar as
ZZ_WFCOTSR 1
cotações
Condições de Pagamentos que
ZZ_WFCPAGT 001;002;003
entram no workflow
Caminho padrão do para os
ZZ_WFHTML \Workflow\Compras
modelos HTMLs do Workflow
Nome da caixa de correio
ZZ_WFPST cadastrada na tabela WF7 através Exemplo: WORKFLOW TOTVSIP
do configurador
Envia WF na cotação para
ZZ_WFHCTEF S=Sim; N=Não
fornecedor?
Envia WF na inclusão de novo S=Sim; N=Não
ZZ_ WFHCTNP
participante?
Reenvia WF na cotação para
ZZ_WFHCTRE S=Sim; N=Não
fornecedor?
Envia WF de aviso sem resposta
ZZ_WFHCTSR para o usuário que gerou a S=Sim; N=Não
cotação?

28
WORKFLOW DE COMPRAS

Envia WF para notificação do


ZZ_WFHNFNO solicitante avisando a entrada do S=Sim; N=Não
material?
Envia WF para aprovador apos
ZZ_WFHPCEN S=Sim; N=Não
geração de pedido de compra?
Envia WF para solicitante avisando
ZZ_WFHPCIS aprovação ou reprovação do S=Sim; N=Não
pedido?
Envia WF para comprador avisando
ZZ_WFHPCIC aprovação ou reprovação do S=Sim; N=Não
pedido?
ZZ_WFITPC Notifica Aprov. PC Item ? .F.
Envia WF para aprovador apos
ZZ_WFHSCEN S=Sim; N=Não
geração da solicitação de compra?
Envia WF para solicitante avisando
ZZ_WFHSCIS aprovação ou reprovação da S=Sim; N=Não
solicitação de compra?
Envia WF para comprador avisando
ZZ_WFHSCIC aprovação ou reprovação da S=Sim; N=Não
solicitação de compra?
ZZ_WFITSC Notifica Aprov. SC Item ? .F.
Envia WF para fornecedor,
ZZ_WFHPCIF vencedor, com os dados do S=Sim; N=Não
pedido?
Envia WF para comprador avisando
ZZ_WFHPEXC sobre exclusão do pedido de S=Sim; N=Não
compra?
Envia WF para solicitante avisando
ZZ_WFHPEXS sobre exclusão do pedido de S=Sim; N=Não
compra?
Informa se o cliente tem controle
ZZ_WFALCAD S=Sim; N=Não
de alçadas
ZZ_WFTOD Dias para time out Numérico, Ex.: 5
ZZ_WFTOH Horas para time out Numérico, Ex.: 1
ZZ_WFTOM Minutos para time out Numérico, Ex.: 10
Ex.: NFE, NF, NFP, ETC (Caso haja mais que uma espécie separar por
ZZ_WFESPNF Definir espécies da Nota Entrada
virgula)
Ex.: A2_EMAIL
Ou
TMPSC8->C8_FORMAIL / SC8->C8_EMAIL.
Campo e-mail que será usado no
cadastro fornecedor.
Caso não seja preenchido um campo valido para a tabela SA2, será
ZZ_WFCPOMF É possível referenciar também
executada uma macro substituição no conteúdo do parâmetro,
campos da tabela SC8, através do
permitindo que seja informado uma regra especifica para busca,
alias “TMPSC8”.
exemplo:
IIF(empty(SC8->C8_FORMAIL), SA2->A2_EMAIL,SC8->C8_FORMAIL)

Autentica aprovador do pedido de


ZZ_WFAUTH .T. ou .F.
compra via navegador web ?
Proteção para não permitir
atualizar uma cotação, que foi
ZZ_WFATCOT .T. ou .F.
atualizado manualmente. True não
permite atualizar e False permite

29
WORKFLOW DE COMPRAS

atualizar.
Define o Nome do Arquivo Modelo
html para o E-mail do Pedido de
ZZ_WFHTV Compra ao Fornecedor Vencedor. Padrão = Vencedor.htm
Usado para Definir modelos
específicos por Empresa.
Define o Nome do Arquivo Modelo
html para o E-mail do Pedido de
ZZ_WFHTVI Compra ao Fornecedor Vencedor Padrão = Vencedor_ing.htm
em Inglês. Usado para Definir
modelos específicos por Empresa.
Operação padrão a ser utilizada na
ZZ_WFOPECO cotação via workflow caso o campo Exemplo: 001,002
A2_ZZOPER não esteja preenchido
Indica se preenche
ZZ_WFPEOPE automaticamente a operaçã no S=Sim; N=Não
workflow de compras
Indica se exclui o item da cotação
durante o retorno, caso o mesmo
esteja com os valores zerados. Este
parâmetro funciona em conjunto .T. = Exclui
ZZ_EXCCOT com o ponto de entrada .F. = Não exclui
MT150CHV. (a partir da versão
1.34, este PE não é mais
utilizado pelo acelerador)
E-mail de Copia de Todos E-mails
ZZ_WFCC Exemplo: compras@workflowteste.com.br
do Workflow
E-mail de Copia Oculta de Todos e-
ZZ_WFBCC Exemplo: auditoria@workflowteste.com.br
mails do Workflow
Parametro utilizado para habilitar o
LOG_WORKFL 0;.t.;.t.;TIP_WORKFLOW.log
log de execução do wf de compras
Parâmetro Utilizado para Filtrar as
Cotações geradas antes da .T. = Não traz as Cotações Anteriores a Data de Implantação
ZZ_WFFILCO
implantação do Workflow de .F. = Não realiza o Filtro nas Cotações
Compras
Data de Implantação do Workflow
ZZ_WFDTIMPL de Compras (Parâmetro do Tipo 01/01/2016
Data)
Parametro para Ligar/Desligar a
ZZ_WFALTPR personalização de Alterar a .T.
Prioridade do Workflow
Atributo :cPriority TWFProcess,
ZZ_WFPRIOR onde "3" não gera a tag X-MSMail- 1
Priority
ZZ_WFVLSLD Valida o Saldo do Aprovador ? .T.
Notifica o Aprovador que o mesmo
ZZ_WFAPSLD .T.
está sem saldo ?
ZZ_WFONOFF Liga/Desliga o Workflow ? .T.
Utiliza protocolo HTTPS se o
ZZ_WFHTTPS mesmo estiver configurado no .F.
appserver.ini
ATENÇÃO -> Revisar todos os parâmetros de acordo com a necessidade do cliente.

30
WORKFLOW DE COMPRAS

Obs.: Configurar Parâmetros de acordo com configuração de e-mail (ver sumário).

31
WORKFLOW DE COMPRAS

7. Atualização do Workflow de Compras

Caso o cliente já utilize o workflow de compras e seja necessário atualiza-lo, será


preciso avaliar/compatibilizar os itens abaixo:

 HTML`s: Compatibilizar os html`s utilizados pelo cliente com a nova versão


disponível no kit de entrega (V1.00 ou V2.00, avaliar qual versão o cliente
utiliza).

 Parâmetros do Workflow: Verficar se todos os parâmetros da nova versão


encontram-se criados na base do cliente. A execução do compatibilizador de
campos incluirá apenas os parâmetros novos.

32
WORKFLOW DE COMPRAS

8. Pastas

Criar dentro da pasta Protheus_Data a estrutura abaixo

1 – Criar pasta workflow e dentro a pasta Compras

Modelos de HTML`s disponíveis:

 V1.00
 V2.00
o Formulários responsivos utilizando o conceito mobile first.

Para utilização dos modelos da versão 1.00, executar o procedimento abaixo:

 Copiar os arquivos abaixo para a pasta \system\compras:

Esses arquivos estão disponíveis no pacote HTML-V1.00.rar

33
WORKFLOW DE COMPRAS

Para utilização dos modelos da versão 2.00, executar os procedimentos abaixo:

 Copiar os arquivos abaixo para a pasta \system\compras:

 Copiar a pasta resources para a pasta onde serão gerados os html`s.


(caminho informado no parâmetro ZZ_WFRES/emp + código da
empresa/html).

Esses arquivos estão disponíveis no pacote HTML-V2.00.rar

Obs.: Após executada a rotina de workflow, será criada a estrutura de pastas


abaixo, com exceção das pastas PROCESSADOS e REJEITADOS que devem ser
criadas manualmente:

34
WORKFLOW DE COMPRAS

Caso o servidor protheus seja LINUX, o caminho e os nomes dos arquivos HTML devem
estar minúsculos, caso contrário ele não consegue localizar esses arquivos, assim não
gerando o objeto oHTML, gerando erro (variable is not an object).

9. Configuração de E-mail

Abaixo segue os prints das telas para configuração da conta de e-mail no Protheus.

Configurar de acordo com o servidor de e-mail.

9.1. Parâmetros de Workflow

35
WORKFLOW DE COMPRAS

9.2. Contas de E-mail

36
WORKFLOW DE COMPRAS

37
WORKFLOW DE COMPRAS

10. Configuração do WorkFlow no


AppServer.ini

Adicionar ao .INI do servidor Protheus.

[HTTP]
ENABLE=1
PORT=9191

[localhost:9191/WF]
ENABLE=1
PORT=9191
path=D:\WORKFLOW\Protheus_Data\web
ENVIRONMENT=WORKFLOW
INSTANCENAME=WF
RESPONSEJOB=JOB_WF

[JOB_WF]
TYPE=WEB
ENVIRONMENT=WORKFLOW
INSTANCES=1,40
SIGAWEB=WF
ONSTART=STARTWEBEX
ONCONNECT=CONNECTWEBEX
ONEXIT=FINISHWEBEX
WEBHOST=http://localhost:9191
PREPAREIN=99,01

;Informar os jobs utilizados pelo cliente


[ONSTART]
JOBS=JOB_WF, schedulerwf
RefreshRate=600

;Trecho utilizado para execução do timeout de finalização das cotações


[schedulerwf]
Main=WFONSTART
ENVIRONMENT=<AMBIENTE>
nParms=4
parm1=99
parm2=01
parm3==<AMBIENTE>
parm4=F

38
WORKFLOW DE COMPRAS

Utilizando os pontos de entrada específicos

10.1. Cotação

PEWFCT – Ponto de entrada para tratamento e manipulação dos arquivos HTML


(Inclusão de e alteração de campos) durante o processo de cotação

Este ponto de entrada é opcional. Avalie a aderência considerando as informações


disponíveis neste manual e o cenário do cliente.

Em que ponto Parâmetro


Envio de e-mail para fornecedor (Cabeçalho do HTML) HTML_COTEN_CAMPOS_CAB
Envio de e-mail para fornecedor (Itens do HTML) HTML_COTEN_CAMPOS_ITEM
Envio de e-mail avisando que não houve resposta para a
HTML_COTSR_CAMPOS_CAB
cotação
Envio de e-mail avisando que uma cotação foi gerada HTML_COTAV_CAMPOS
Envio de e-mail avisando que a cotação foi respondida HTML_COTRESP_CAMPOS
Envio de e-mail avisando que uma cotação foi gerada
HTML_COTAV_CAB_CAMPOS
(Alteração nas informações do cabeçalho de e-mail)

Como utilizar: Identificar pelas condições acima o momento onde o HTML deve ser
alterado e adicionar no array o novo campo e o valor desejado, conforme exemplo
abaixo:

Envio de Workflow para fornecedor (Cabeçalho do HTML)

If Alltrim(cPonto) == "HTML_COTEN_CAMPOS_CAB"
aRet:= {{"TESTE","0001"}} -------------------- [ARRAY]
Endif

Este ponto de entrada adicionará o valor “0001” ao campo “TESTE” do HTML.

39
WORKFLOW DE COMPRAS

10.2. Pedido de compra

PEWFPC – Ponto de entrada para tratamento e manipulação dos arquivos HTML


(Inclusão de e alteração de campos) durante o processo de PEDIDO DE COMPRA.

Este ponto de entrada é opcional. Avalie a aderência considerando as informações


disponíveis neste manual e o cenário do cliente.

Em que ponto Parâmetro


Envio de e-mail com o pedido de compra para
HTML_PED_VENCEDOR
fornecedor vencedor.
Envio de e-mail avisando sobre aprovação do
HTML_AVISO_APROV_PC
pedido.
Envio de e-mail avisando sobre o resultado da
HTML_RESULT_APROV_PC_COMP
aprovação do pedido para comprador.
Envio de e-mail avisando sobre o resultado da
aprovação do pedido para comprador, permitindo
inclusão de novos campos no arquivo html.
HTML_RESULT_APROV_PC_ITEM_COMP
Este ponto de entrada é executado item a item da
consulta SQL na tabela SC7, que deverá ser acessada
pelo alias TMPITEMPC.
Envio do e-mail para aprovação do pedido de
HTML_APROV_PC_CAB
compra (Cabeçalho do HTML).
Envio do e-mail para aprovação do pedido de
HTML_APROV_PC_ITEM
compra (Itens do HTML).
Envio do e-mail para aprovação do pedido de
HTML_APROV_PC_ITEMCT
compra (Itens da Cotação).
Envio do e-mail para aprovação do pedido de
HTML_APROV_PC_ITEMAP
compra (Itens do Aprovador).
Envio do e-mail para aprovação do pedido de
HTML_APROV_PC_TOTAIS
compra. Permite incluir ou alterar os totalizadores.
Envio de e-mail avisando sobre o resultado da
HTML_RESULT_APROV_PC_SOLIC
aprovação do pedido para solicitante.
Envio de e-mail avisando sobre o resultado da
aprovação do pedido para solicitante, permitindo
inclusão de novos campos no arquivo html.
HTML_RESULT_APROV_PC_ITEM_SOLIC
Este ponto de entrada é executado item a item da
consulta SQL na tabela SC7, que deverá ser acessada
pelo alias TMPITEMPC.
Envio de e-mail avisando sobre a exclusão do pedido
HTML_PED_EXCLUI_COMP
para o comprador.
Envio de e-mail avisando sobre a exclusão do pedido
HTML_PED_EXCLUI_SOLIC
para o solicitante.
Envio de e-mail com o pedido de compra para
fornecedor vencedor. Permite incluir ou alterar os HTML_PED_VENCEDOR_TOTAIS
totalizadores.
Permite complementar informações no retorno da
RETORNO
aprovação do pedido de compra.

40
WORKFLOW DE COMPRAS

Como utilizar: Identificar pelas condições acima o momento onde o HTML deve ser
alterado e adicionar no array o novo campo e o valor desejado, conforme exemplo
abaixo. Quando for necessário alterar o valor de um campo padrão do HTML, será
necessário informar um terceiro parâmetro lógico como .T.

Envio de Workflow avisando sobre aprovação do pedido.

If Alltrim(cPonto) == "HTML_AVISO_APROV_PC"
aRet:= {{"TESTE","0001"}} -------------------- [ARRAY]
Endif

Este ponto de entrada adicionará o valor “0001” ao campo “TESTE” do HTML.

10.3. Solicitação de compra

PEWFSC – Ponto de entrada para tratamento e manipulação dos arquivos HTML


(Inclusão de e alteração de campos) durante o processo de SOLICITAÇÃO DE COMPRA.

Este ponto de entrada é opcional. Avalie a aderência considerando as informações


disponíveis neste manual e o cenário do cliente.

Em que ponto Parâmetro


Envio de e-mail avisando sobre aprovação da
HTML_AVISO_APROV_SC
solicitação.
Envio de e-mail avisando sobre o resultado da
HTML_RESULT_APROV_SC_COMP
aprovação da solicitação para comprador.
Envio de e-mail avisando sobre o resultado da
aprovação aprovação da solicitação para comprador,
permitindo inclusão de novos campos no arquivo
html. HTML_RESULT_APROV_SC_ITEM_COMP
Este ponto de entrada é executado item a item da
consulta SQL na tabela SC1, que deverá ser acessada
pelo alias TMPITEMSC.
Envio do e-mail para aprovação da solicitação de
HTML_APROV_SC_CAB
compra (Cabeçalho do HTML).
Envio do e-mail para aprovação da solicitação de
HTML_APROV_SC_ITEM
compra (Itens do HTML).
Envio do e-mail para aprovação da solicitação de
HTML_APROV_SC_ITEMAP
compra (Itens do Aprovador).
Envio de e-mail avisando sobre o resultado da
HTML_RESULT_APROV_SC_SOLIC
aprovação do pedido para solicitante.
Envio de e-mail avisando sobre o resultado da
HTML_RESULT_APROV_SC_ITEM_SOLIC
aprovação da solicitação para solicitante, permitindo

41
WORKFLOW DE COMPRAS

inclusão de novos campos no arquivo html.


Este ponto de entrada é executado item a item da
consulta SQL na tabela SC1, que deverá ser acessada
pelo alias TMPITEMSC.
Permite complementar informações no retorno da
RETORNO
aprovação da solicitação de compra.

Como utilizar: Identificar pelas condições acima o momento onde o HTML deve ser
alterado e adicionar no array o novo campo e o valor desejado, conforme exemplo
abaixo. Quando for necessário alterar o valor de um campo padrão do HTML, será
necessário informar um terceiro parâmetro lógico como .T.

Envio de Workflow avisando sobre aprovação do pedido.

If Alltrim(cPonto) == "HTML_AVISO_APROV_SC"
aRet:= {{"TESTE","0001"}} -------------------- [ARRAY]
Endif

Este ponto de entrada adicionará o valor “0001” ao campo “TESTE” do HTML.

42
WORKFLOW DE COMPRAS

10.4. Nota fiscal de entrada

PEWFNF – Ponto de entrada para tratamento e manipulação dos arquivos HTML


(Inclusão de e alteração de campos) durante o processo de PEDIDO DE COMPRA, ao
realizar a entrada da nota fiscal.

Este ponto de entrada é opcional. Avalie a aderência considerando as informações


disponíveis neste manual e o cenário do cliente.

Em que ponto Parâmetro


Envio de Notificação sobre Atendimento da solicitação de
HTML_PC_INFATEND_SC
compra

Como utilizar: Identificar pelas condições acima o momento onde o HTML deve ser
alterado e adicionar no array o novo campo e o valor desejado, conforme exemplo
abaixo:

Envio de Notificação sobre Atendimento da solicitacao de compra.

If Alltrim(cPonto) == "HTML_PC_INFATEND_SC"
aRet:= {{"TESTE","0001"}} -------------------- [ARRAY]
Endif

Este ponto de entrada adicionará o valor “0001” ao campo “TESTE” do HTML.

43
WORKFLOW DE COMPRAS

11. Função adicional

11.1. EnvPed()

Apesar deste e-mail já ser disparado automático caso o pedido de compra seja
aprovado por todos os aprovadores, o botão Enviar e-mail é um processo manual,
não requisitando, necessariamente, a inclusão da função EnvPed no menu do
Protheus.

Essa função mostra as cotações analisadas e seu pedido de compra automático.

Tela apresentada:

Enchoice Bar

O botão Enviar e-mail (figura acima), envia um e-mail ao fornecedor, referente às


cotações selecionadas, informando da geração do pedido de compra.

44
WORKFLOW DE COMPRAS

11.2. WFReEnvCot()
Rotina chamada via Menu, onde são exibidas as cotações que podem ser reenviadas, baseadas
nos parâmetros selecionados pelo usuário (disponível a partir da versão V1.12-20191028).

Parâmetros para Filtro das Cotações:

45
WORKFLOW DE COMPRAS

12. Problemas Adversos


Atenção aos problemas adversos que podem ser encontrados no momento
do fluxo de trabalho ou na própria instalação:

Ponto de Entrada MT100AGR

Este Ponto de Entrada é executado quando inserimos um documento de


entrada. Em algum momento pode ser que o mesmo não seja executado:

Atenção no momento do cadastro:

O ponto de entrada filtra o seu funcionamento através dos campos


destacados, conforme imagem acima, obrigando que o Tipo da Nota seja “Normal”, e
Espec.Docum. esteja informado no parâmetro ZZ_WFESPNF, conforme mencionado
na seção parâmetros deste documento.

Caso algum campo seja cadastrado diferentemente do padrão, o envio de e-


mail ao solicitantes / compradores estará comprometido e ocasionará uma quebra no
WorkFlow Compras.

Caso ocorra o erro abaixo, é necessário aplicar o patch anexo no arquivo TQJBEJ.rar
(Patch de correção, contido no chamado TQJBEJ).
THREAD ERROR […]
argument error in function Len() on
TWFPROCESS:SAVEVALFILE(WFPROCESS.PRW) 28/05/2014
19:41:26 line : 666
46
WORKFLOW DE COMPRAS

Correção do erro:

on TWFMAIL:SENDMAIL(WFMAIL.PRW) 02/06/2014 17:26:59 line : 585

OBS: O erro irá ocorrer sem o parâmetro MV_WFREPRO criado em base após as atualizações:

RPO (14-08-08-bra-chi-eua-par-uru-tttp110.rpo)
LIB (14-07-25-Lib_Label_20140526_P11-tttp110)
UPD (14-08-08-update-bra-chi-eua-par-uru-tttp110.zip)

Ele é criado automaticamente ao marcar a opção “Reprocessar arquivos da pasta error” na


rotina “Parâmetros do WF” via SIGACFG conforme print de tela abaixo.

Após marcar a opção citada acima e confirmar, verifique se foi criado o parâmetro
MV_WFREPRO.

47
WORKFLOW DE COMPRAS

Inicialmente o parâmetro é criado como .T.

Ao desmarcar a opção citada acima, o parâmetro automaticamente é definido como .F.

48
WORKFLOW DE COMPRAS

13. Pontos de Entrada Específicos

O uso dos pontos de entrada específicos abaixo é opcional. Avalie a aderência dos pontos de entradas específicos, considerando as informações
disponíveis neste manual e o cenário do cliente.

Ponto de Entrada Descrição Tabela Posicionada Retorno Parametro


GENÉRICO
Ponto de entrada que permite alterar o
É passado um array contendo Nome do Modelo
PEWFTITU assunto de todos os e-mails enviados pelo - Caracter (Assunto alterado)
HTML e Assunto atual
workflow.

COTAÇÃO
Array {Função, Dias, Horas e Minutos)
Ponto de entrada que permite a alteração do Exemplo: É passado um array contendo {Função atual, Dias,
PEWFCTTO -
timeout (Função, Dias, Horas e Minutos) {"U_WFLOW04(2)", nTimeDias, Horas e Minutos)
nTimeHor, nTimeMin}

Ponto de entrada que altera o valor da


PEWFCTQTD SC1, SC8 e SB1 Caracter (Formatado com a Picture) -
quantidade (TB.QUANT) dos 2 html's

Ponto de entrada executado durante a Sem Retorno (Utilizado para É passado o objeto oProcess(processo do
PEWFCTGR SC8
gravação da tabela SC8. alteração da tabela SC8. workflow)

Ponto de entrada para manipulação da


É passado um array de parâmetros onde o
descrição do produto nos arquivos HTML
PEWFCTPR SC7 e SC8 Caracter primeiro possuí o código do produto e o segundo
(Inclusão e alteração de campos) durante o
se é no idioma ingles (.T. ou .F.)
processo de cotação

49
WORKFLOW DE COMPRAS

Ponto de entrada que retorna os endereços


PEWFCT - Caracter EMAIL_COTACAO
de e-mail para envio da cotação.

PARAMIXB[01] – Número da Cotação


PARAMIXB[02] - Fornecedor
PARAMIXB[03] - Loja
Ponto de Entrada que permite a validação da
PEWFLDEL - Lógico PARAMIXB[04] – Item
exclusão do item da cotação.
PARAMIXB[05] - lDelete
PARAMIXB[06] - Preço
PARAMIXB[07] - Prazo
Ponto de entrada executado em
dois pontos: Antes do envio do e-mail PARAMIXB[01] – Momento da Execução (EMAIL /
WFSCFIM ("EMAIL") e antes da geração do arquivo - Objeto oProcess alterado ARQUIVO)
HTML que será enviado aos aprovadores PARAMIXB[02] – Objeto oProcess
("ARQUIVO")
Ponto de entrada executado em
dois pontos: Antes do envio do e-mail PARAMIXB[01] – Momento da Execução (EMAIL /
WFPCFIM ("EMAIL") e antes da geração do arquivo - Objeto oProcess alterado ARQUIVO)
HTML que será enviado aos aprovadores PARAMIXB[02] – Objeto oProcess
("ARQUIVO")

50
WORKFLOW DE COMPRAS

Ponto de Entrada Descrição Tabela Posicionada Retorno Parametro


É passado um array com 5 posições:
Primeira: Em que momento ocorre ("PRODUTOS
DA COTACAO" ou "ANEXA ARQUIVOS")
PRODUTOS DA COTACAO: Ocorre item a item da
Array de String cotação e retorna um array de arquivos a serem
contendo os arquivos anexados.
Ponto de entrada que permite
a serem anexados ANEXA ARQUIVOS: Ocorre uma unica vez antes de
PEWFLOW04 preencher o array com os produtos -
com seu devido anexar os arquivos.
da cotação em questão.
caminho (absoluto ou
relativo) Segunda: O numero da cotação
Terceira: Se é em ingles (.T. ou .F.)
Quarta: Array de arquivos já preparados
anteriormente
Quinta: Array contendo os dados do cabeçalho
Array contendo o
nome do campo
Ponto de entrada utilizado para personalizado na
PEWMASCPO definir quantidade de casas decimais - primeiro posição e a -
de campos personalizados no HTML. quantidade de casas
decimais na segunda
posição.
E-mail atual, contido no SA2->A2_EMAIL (ou
Ponto de Entrada para alteração do TMPSC8 (alias da E-mail que receberá campo contido no parâmetro ZZ_WFCPOMF)
PEWFCTEM e-mail do Fornecedor que receberá a cotação posicionada). o workflow de
cotação SC8 cotação Ponto de Entrada criado em forma de ajuste do
PEWFCT – ID: EMAIL_COTACAO

51
WORKFLOW DE COMPRAS

Ponto de Entrada Descrição Tabela Posicionada Retorno Parametro


PEDIDO DE COMPRA
É passado um array de parâmetros onde o primeiro
identifica o ponto de ocorrência (SC) e o segundo o
objeto oHTML onde DEVEM ser informados os
Ponto de Entrada que permite: campos de itens que não serão preenchidos
1. Alterar o valor total da automaticamente no HTML.
solicitação. ATENÇÃO: Ao utilizar este ponto de entrada, o
PEWFITSC 2. Realizar o preenchimento SB1 e SC1 Numérico preenchimento dos campos de item do
manual de todos os campos
formulário HTML não será realizado pela rotina
de item do arquivo html da
padrão. Portanto, é necessário rever e realizar,
solicitação compra.
neste PE, o preenchimento manual de todos os
campos de item, do arquivo html da solicitação
de compras.
PARAMIXB[01] = cResult, resultado da Aprovação
Ponto de Entrada chamado no
PARAMIXB[02] = Objeto HTML do Workflow
PEWFSCRE Retorno da Aprovação da SCR -
Ponto de Entrada criado em forma de ajuste do
Solicitação de Compras
PEWFSC – ID: RETORNO

52
WORKFLOW DE COMPRAS

Ponto de Entrada Descrição Tabela Posicionada Retorno Parametro


PEDIDO DE COMPRA
Ponto de Entrada que permite
PEWFEPPR carregar uma descrição do SC7 Caracter -
produto, diferente da padrão.
Ponto de Entrada para validação de cResut = ‘SIM’ ou ‘NÃO’ (Resultado da Aprovação
SC7
envio do Workflow do Pedido de por workflow)
PEWFPCFO SW2 Lógico
Compras oHtml (Objeto HTML do Process [TWFProcess]
SCR
para o fornecedor Workflow)
É passado um array de parâmetros onde o primeiro
identifica o ponto de ocorrência (PC ou COTACAO)
Ponto de Entrada que permite: e o segundo o objeto oHTML onde DEVEM ser
1. Alterar o valor total do informados os campos de itens que não serão
Pedido. preenchidos automaticamente no HTML.
2. Realizar o ATENÇÃO: Ao utilizar este ponto de entrada, o
PEWFITPC preenchimento manual SB1 e SC7 Numérico preenchimento dos campos de item do
de todos os campos de
formulário HTML não será realizado pela rotina
item do arquivo html do
padrão. Portanto, é necessário rever e realizar,
pedido de compra ou
cotação. neste PE, o preenchimento manual de todos os
campos de item, do arquivo html do pedido de
compra ou cotação.

53
WORKFLOW DE COMPRAS

Ponto de Entrada Descrição Tabela Posicionada Retorno Parametro


Ponto de Entrada que permite Caracter, formato e-
DSTEMLPC informar um destinatário de e-mail SA2 e SC7 mail (validação se -
diferente do padrão do fornecedor. existe @)
Array de 3 posições,
Ponto de Entrada para acrescentar
sendo elas: PARAMIXB[01] = Cores
Cores, Legendas e Filtros na Tela de
PEWFLEGE - 1 = Cores PARAMIXB[02] = Legendas
Reenvio de WF de Pedidos de
2 = Legendas PARAMIXB[03] = Opções de Filtros
Compra Aprovados
3 = Opções do Filtro
PARAMIXB[01] = cResult, resultado da Aprovação
Ponto de Entrada chamado no PARAMIXB[02] = Objeto HTML do Workflow
PEWFPCRE Retorno da Aprovação do Pedido de SCR -
Compras Ponto de Entrada criado em forma de ajuste do
PEWFPC – ID: RETORNO
Ponto de Entrada executado antes
da abertura do Browse (MarkBrow) cFiltro – String com
PEWFQRY de pedidos a serem reenviados o - expressão SQL para -
Workflow de Pedidos Aprovados filtro da SC7
(Rotina EnvPed.prw)
cFiltro – String com a
Ponto de Entrada que permite condição para filtro Opção Selecionada:
alterar o filtro do Browse do Browse. Todos: "1"
PEWFFIPC (MarkBrow) - Exemplo: Enviados: "2"
de pedidos a serem reenviados aos cFilter := Não Enviados: "3"
fornecedores. (Rotina EnvPed.prw) "!Empty(SC7- Reenviados: "4"
>C7_ZZDTREE)"

54
WORKFLOW DE COMPRAS

Ponto de Entrada Descrição Tabela Posicionada Retorno Parametro


NOTA-FISCAL
Ponto de Entrada que permite
PEWFNFPR carregar uma descrição do produto, SB1, SC7 e SD1 Caracter -
diferente da padrão.
Ponto de Entrada que permite
PEWFNFPR carregar uma descrição do SC7, SA2 e SE4 Caracter Código do produto (D1_CODIGO)
produto, diferente da padrão.
Ponto de Entrada que permite
PEWFNFPR carregar uma descrição do SC7, SA2 e SE4 Caracter Código do produto (D1_CODIGO)
produto, diferente da padrão.
Ponto de Entrada que permite
alterar o destinatario e o nome Não possuí nenhum parâmetro. Existem 2 variáveis
PEWFNFSOL do solicitante durante o envio do SC7, SA2 e SE4 Caracter privadas cMail e cSolicit para realização da
e-mail de atendimento de uma SC alteração.
ou contrato.
Ponto de entrada que permite
utilizar um filtro SQL na busca dos SC7, SA2, SC8, SE4 e PARAMIXB[01] – Query atual da busca dos itens do
PEWFITVE Caracter
itens que vão no e-mail de pedido SY6 e-mail de vencedor
vencedor para o fornecedor
Ponto de entrada utilizado na
rotina de envio de cotação,
PEWFCTEV SC8 Lógico -
para verificar se a cotação
posicionada será reenviada

55
WORKFLOW DE COMPRAS

Ponto de entrada utilizado na


rotina de envio de cotação,
para incluir ou alterar campos de PARAMIXB[01] – Array com as perguntas atuais, no
PEWFCTX1 - Array
pergunta no parambox formato utilizado na parambox
para filtro das cotações a serem
exibidas
Ponto de entrada utilizado na
rotina de envio de cotação,
PARAMIXB[01] – Query atual que busca as cotações
PEWFCTQY para alterar a query de busca das - Caracter
a serem exibidas no browse
cotações a serem
exibidas no browse
Ponto de entrada utilizado na
rotina de envio de pedido
PARAMIXB[01] – Objeto atual do Workflow, da
PEWFVE01 vencedor para o fornecedor – no SC7, SA2 -
classe TWFProcess
final da rotina, antes do envio do
e-mail

56
WORKFLOW DE COMPRAS

13.1. Exemplo de utilização

PEWFCTPR

User Function PEWFCTPR()

Local cProduto := PARAMIXB[1]

Local lIngles := PARAMIXB[2]

Local cDescr := ""

cDescr := AllTrim(SB1->B1_DESC)

Return(cDescri)

PEWFITPC

User Function PEWFITPC()

aAdd( (oHtml:ValByName( "tc.item" )),AllTrim(VSC8->C8_ITEM) )

aAdd( (oHtml:ValByName( "tc.codigo" )),AllTrim(VSC8->C8_PRODUTO) )

aAdd( (oHtml:ValByName( "tc.descricao" )),SB1->B1_DESC )

aAdd( (oHtml:ValByName( "tc.preco" )),Transform( VSC8->C8_PRECO,PesqPict(


"SC8", "C8_PRECO" )) )

aAdd( (oHtml:ValByName( "tc.total" )),Transform( VSC8->C8_TOTAL,PesqPict(


"SC8", "C8_TOTAL" )) )

Return VSC8->C8_TOTAL

57
WORKFLOW DE COMPRAS

PEWFITSC

User Function PEWFITSC()

aAdd( (oHtml:ValByName( "tc.item" )),AllTrim(VSC1->C1_ITEM) )

aAdd( (oHtml:ValByName( "tc.codigo" )),AllTrim(VSC1->C1_PRODUTO) )

aAdd( (oHtml:ValByName( "tc.descricao" )),SB1->B1_DESC )

aAdd( (oHtml:ValByName( "tc.preco" )),Transform( VSC1->C1_PRECO,PesqPict(


"SC1", "C1_PRECO" )) )

aAdd( (oHtml:ValByName( "tc.total" )),Transform( VSC1->C1_TOTAL,PesqPict(


"SC1", "C1_TOTAL" )) )

Return VSC1->C1_TOTAL

DSTEMLPC

User Function DstEmlPC()


Local cDestEmail := Alltrim(SuperGetMv("ZZ_WFRETCF",, 'F'))
Local cEmailDest := ""
If cDestEmail == "C" // Manda email para o Comprador
cEmailDest := Lower(Alltrim(UsrRetMail(SC7->C7_USER)))
EndIf
Return(cEmailDest)

58
WORKFLOW DE COMPRAS

PEWFEPPR

User Function PEWFEPPR()


Local cMoeda := ""
Local cDescri := ""
Local lIngles := Upper(Posicione("SA2", 1, xFilial("SA2") + SC7->C7_FORNECE,
"A2_EST")) == "EX"

If lIngles
If SC7->C7_MOEDA == 1
cMoeda := "R$"
ElseIf SC7->C7_MOEDA == 2
cMoeda := "US$"
ElseIf SC7->C7_MOEDA == 4
cMoeda := "EUR"
ElseIf SC7->C7_MOEDA == 5
cMoeda := "JPY"
EndIf
EndIf

If lIngles .And. cMoeda == "US$"


cDescri := AllTrim(MSMM(SB1->B1_DESC_I))
ElseIf !lIngles .Or. (lIngles .And. cMoeda != "US$")
cDescri := SB1->B1_DESC
EndIf

Return(cDescri)

14. Pontos de Atenção

Há casos em que o ponto de entrada MT160WF não funciona, sendo necessário o


uso do MT120GOK.

Caso o envio de e-mail seja intermitente, ou seja, enviando e-mails para alguns
casos e outros não, verificar o log. Se a mensagem de erro for a abaixo, remover porta
das configurações do servidor nas “Contas de E-mails” no sigacfg.

[ERROR][SERVER] [SOCKCLIENT] Error [12] There was no response from the server.

Remover conteúdo dos campos marcados abaixo:

59
WORKFLOW DE COMPRAS

Obs.: Esta configuração pode ser específica de acordo com o servidor de e-mail
utilizado pela empresa.

Aprovação de Pedido por Entidade Contábil


Caso o Controle de Alçada seja por entidade contábil, devem ser revisados os
parâmetros:

MV_PCAPROV

MV_APRPCEC

Atentar-se sempre que for alterada a aprovação de determinado pedido, como por
exemplo, um pedido que tem sua aprovação por documento (CR_TIPO = ‘PC’) e seja
configurada entidade contábil (CR_TIPO = ‘IP’).

Quando for utilizado aprovação por entidade contábil, o campo C7_APROV deve
estar vazio.

O processo de aprovação de solicitação de compras só funcionará com alçada de


aprovação por entidade contábil.

60
WORKFLOW DE COMPRAS

15. Assistente para validação

O assistente para validação do workflow de compras tem como objetivo centralizar a


visualização das configurações necessárias para utilização do mesmo.

Para acessar o assistente basta seguir as orientações abaixo:

Preencher os parâmetros iniciais

Selecionar a empresa desejada

61
WORKFLOW DE COMPRAS

15.1. Informações disponíveis

 Rotinas utilizadas pelo workflow

o Data de compilação / aplicação no RPO

62
WORKFLOW DE COMPRAS

 Parâmetros utilizados

o Valores configurados em cada parâmetro utilizado pelo workflow de compras

 Pontos de entrada utilizados pelo workflow

o Data de compilação / aplicação no RPO

63
WORKFLOW DE COMPRAS

 Arquivos html utilizados pelo workflow

o Que serão buscados automaticamente conforme caminho configurado via


parâmetro

 Contas de workflow cadastradas

o Informações de configuração

64
WORKFLOW DE COMPRAS

15.2. Funcionalidades disponíveis

15.2.1. Validação de uma conta de workflow


Com a utilização deste assistente, é possível validar uma conta de e-mail cadastrada, enviando
um e-mail de teste para um destinatário informado.

65
WORKFLOW DE COMPRAS

Após o teste, será possível visualizer o log de envio / recebimento do workflow.

15.2.2. Geração do arquivo de log

Através da funcionalidade “Gerar Log” é possível exportar todas as informações de


configuração para um arquivo .csv.

66
WORKFLOW DE COMPRAS

15.2.3. Validação da licença

Através da opção “Valida Licença” é possível validar se o workflow está autorizado para
utilização na empresa selecionada.

67
WORKFLOW DE COMPRAS

16. Configuração do log de execução

O parâmetro LOG_WORKFL é responsável pela configuração do log de execução do workflow de compras e é composto por 4 posições descritas abaixo:

Parâmetros de Configuração
Primeira posição Segunda posição Terceira posição Quarta posição
Exemplo de Preenchimento
Nome do Arquivo de log a
do parâmetro Exibe o log no console? Gera arquivo de log?
Nível do Log (0 a 4) ser gerado
Descrição Conteúdo Descrição Conteúdo Descrição Conteúdo
0 = Log Desabilitado Esta
1 = Exibe os erros gerados durante a execução posição Esta posição
Esta posição
2 = Exibe os avisos gerados durante a execução define se define o nome
define se o log Lógico Lógico (.T.
4;.t.;.t.;TIP_WORKFLOW.log 3 = Exibe as informações gerais geradas durante será gerado do arquivo com a Caracter
será exibido no (.T. ou .F.) ou .F.)
a execução um novo extensão para
console.log.
4 = Exibe as informações de todo o arquivo geração do log.
processamento durante a execução para o log.

68

Você também pode gostar