Treinamento Fórmula Visual

118
1 Fórmula Visual RM Versão 11.40 Belo Horizonte, 24 de agosto de 2012

Transcript of Treinamento Fórmula Visual

Page 1: Treinamento Fórmula Visual

1

Fórmula Visual RM Versão 11.40

Belo Horizonte, 24 de agosto de 2012

Page 2: Treinamento Fórmula Visual

2

Fórmula Visual RM 11.40

I) Bê-á-Bá da Fórmula Visual: Primeiros Passos - Configuração

II) Como a Fórmula Visual RM poderá me atender?

III) Criando a primeira Fórmula Visual – Passo a Passo

IV) Atividade “Consulta SQL”

V) Prática 02 – Utilizando a atividade “Consulta SQL”

VI) Atividade “Expressão”

VII) Prática 02 – Acrescentando mensagem de erro personalizada

VIII) Instalando Novas Atividades

IX) Atividade “Para cada Iteração”

X) Prática 04 – Criando coluna em uma visão

XI) Prática 05 – Criando uma Fórmula Visual de Processo

XII) Prática 06 – Complementando a atividade anterior : E-Mail

XIII) Atividade “Executar Processo”

XIV) Prática 07 – Execução de Processos

XV) Até onde posso chegar com as Fórmulas Visuais?

ÍNDICE

Page 3: Treinamento Fórmula Visual

3

O que é Workflow?

“Workflow é a tecnologia que permite automatizar processos, racionalizando-os e potencializando-os por meio de componentes implícitos: organização e tecnologia”

[Duarte,1997]

“É a automação do processo de negócio, na sua totalidade ou em partes, onde documentos, informações ou tarefas são passadas de um participante para o outro para execução de uma ação, de acordo com um conjunto de regras de procedimentos. A automação do processo de negócio identifica as várias atividades do processo, regras de procedimento e controle de dados associados para gerenciar o Workflow durante a ativação do processo.”

[WfMC (Fórmula Visual Management Coalition)]

Fórmula Visual RM 11.40

Page 4: Treinamento Fórmula Visual

4

Conceito Geral de Workflow

• Um Workflow é um conjunto de processos, regras, papéis e rotas que definem um processo de negócio.

• Em um sistema de Workflow, o usuário assume papéis os quais lhe são delegados e que foram definidos dentro de processos de negócio.

• Processos de negócio complexos envolvem vários papéis, e normalmente são assíncronos, ou seja: o fluxo pode ficar interrompido eternamente caso um usuário não execute seu papel dentro do processo.

• As atividades, regras e rotas se “encaixam” como peças de um quebra-cabeça, que pode ser redefinido de acordo com a necessidade do negócio.

Fórmula Visual RM 11.40

Page 5: Treinamento Fórmula Visual

5

Exemplo de Workflow Simplificado

Fórmula Visual RM 11.40

No Workflow acima, as regras são definidas pelos losangos, associados às tarefas que os precedem. Existe apenas um papel que é o do pedestre e as rotas definem as possíveis trajetórias que definem “destinos” para o processo.

Page 6: Treinamento Fórmula Visual

6

O que é a Fórmula Visual RM

• A fórmula Visual RM é um mecanismo amplo e com finalidade geral para o desenvolvimento visual de lógicas de negócio com o objetivo de estender a solução TOTVS RM.

• Utiliza como base o Microsoft Framework .NET - Windows Fórmula Visual Foundation 3.0, um produto muito robusto e poderoso desde sua concepção, utilizado pelos principais softwares da própria Microsoft.

• Os Fórmula Visuals são montados visualmente com o auxilio de um designer (editor visual de programas), como uma sequencia de atividades.

Fórmula Visual RM 11.40

Page 7: Treinamento Fórmula Visual

7

FAQ Fórmula Visual RM

Fórmula Visual RM 11.40

a Fórmula Visual RM é uma ferramenta de BPM? NÃO! É uma ferramenta que utiliza código e artefatos visuais para a elaboração de customizações, que podem ser criadas até mesmo por usuários finais. Estou confuso... a Fórmula Visual RM é uma solução completa de Workflow? É uma ferramenta de customização baseada no Microsoft Windows Workflow Foundation 3.0. Portanto, é um Workflow, mas a sua finalidade atualmente está restrita a se criar customizações nos módulos existentes da Linha RM. Portanto, seu propósito não é o de ser utilizado para orquestrar processos visualmente, mas sim o de se estender as funcionalidades da linha RM Através de uma interface visual.

Page 8: Treinamento Fórmula Visual

8

O que é a Fórmula Visual RM

Fórmula Visual RM 11.40

Page 9: Treinamento Fórmula Visual

9

O que é a Fórmula Visual RM

Fórmula Visual RM 11.40

Page 10: Treinamento Fórmula Visual

10

O que é a Fórmula Visual RM

Fórmula Visual RM 11.40

• A Fórmula Visual RM possui um princípio reativo individual. Isso quer dizer que a sua execução está vinculada ao contexto do usuário que disparou a atividade inicial. A Fórmula Visual depende da iteração do usuário para ser executado

• Portanto deve-se entender que a princípio, uma única Fórmula Visual

RM não poderá ser utilizado para se criar Workflows de aprovação de requisições e qualquer outro de natureza assíncrona, onde a iteração de vários usuários seja necessária para a conclusão do processo de negócio. Uma Fórmula Visual “enxergará” apenas o usuário corrente.

Page 11: Treinamento Fórmula Visual

11

O que é a Fórmula Visual RM

Fórmula Visual RM 11.40

Em que momento minhas Fórmulas Visuais são disparados? Após construído, a Fórmula Visual poderá ser disparado através de gatilhos (também conhecidos como “eventos”) disponíveis nas telas de cadastros e processos, conforme ilustração . Essa associação pode ser feita nos processos e cadastros do produto, assim como também nos cadastros do portal RM. Observe a variedade de gatilhos para processos e cadastros. Obs: Gatilhos disponíveis apenas em módulos migrados!

Page 12: Treinamento Fórmula Visual

12

Como a Fórmula Visual RM poderá me atender?

Fórmula Visual RM 11.40

• Adicionando novas regras aos cadastros já existentes; • Automatizando tarefas associadas a cadastros e processos • Integrando-se aos Mash-Ups (para envio de SMS, por exemplo) • Criando novas restrições de acordo com a necessidade do usuário

• Em teoria, a Fórmula Visual será uma ferramenta que ira facilitar a customização de toda a linha de produtos RM, ampliando ainda mais a sua utilização e adequando as funcionalidades já existentes à cenários que necessitam de regras adicionais para complementar o processo de negócio.

Page 13: Treinamento Fórmula Visual

13

Bê-á-Bá da Fórmula Visual: Primeiros Passos - Configuração

Fórmula Visual RM 11.40

• Esta configuração é necessária em versão anteriores a Biblioteca 11.40.60, acima dessa versão o sistema já dispara os gatilhos sem a necessidade da mesma.

• RM.Host.Exe.config. / RM.Host.Service.exe.config.

Page 14: Treinamento Fórmula Visual

14

Bê-á-Bá da Fórmula Visual: Primeiros Passos - Configuração

Fórmula Visual RM 11.40

• Criar ou editar o XML de configuração do produto no qual se deseja utilizar a Fórmula Visual, acrescentando configuração. Exemplo: RM Labore:

Page 15: Treinamento Fórmula Visual

15

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Prática 01: criar uma Fórmula Visual no RM Labore que bloqueie qualquer alteração nos cadastros de seções cujo nome das seções contenha o texto “RM Sistemas”

Page 16: Treinamento Fórmula Visual

16

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 1) Identificar no cadastro de seções qual o campo será tratado

Page 17: Treinamento Fórmula Visual

17

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 1) Identificar no cadastro de seções qual o campo será tratado

Page 18: Treinamento Fórmula Visual

18

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 2) Cadastrar uma Categoria de Fórmula Visual

Page 19: Treinamento Fórmula Visual

19

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 3) Cadastrar a Fórmula Visual

Page 20: Treinamento Fórmula Visual

20

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 3) Detalhe: A propriedade “Fórmula Visual Pai” serve apenas para se organizar o cadastro de forma hierárquica. Não tem qualquer efeito sobre a execução. Já a propriedade “Ativo” habilita ou não a execução da fórmula visual selecionada.

Page 21: Treinamento Fórmula Visual

21

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 4) Associar Fórmula Visual à um gatilho

Page 22: Treinamento Fórmula Visual

22

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 4) Associar Fórmula Visual à um gatilho

Page 23: Treinamento Fórmula Visual

23

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 5) Editar Fórmula Visual

1) Duplo clique na Fórmula Visual criado

Page 24: Treinamento Fórmula Visual

24

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 5) Editar Fórmula Visual

A aba de propriedades permite ao usuário definir as propriedades de cada elemento disponível na janela de diagrama da Fórmula Visual. A medida em que o usuário seleciona um item diferente, suas propriedades são exibidas na aba.

Janela de diagrama da Fórmula Visual

Page 25: Treinamento Fórmula Visual

25

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Passo 5) Editar Fórmula Visual

• Esta aba contém todas as atividades disponíveis que podem ser incluídas na janela de edição de diagramas, definindo o processo de negócio;

• Atualmente, existem apenas duas categorias e algumas atividades genéricas que não são específicas de um produto da linha RM;

• Futuramente, existirão categorias e atividades específicas por produto, aumentando ainda mais o poder do recurso e a sua facilidade de utilização;

• No caso da linha de RH, poderão existir atividades relacionadas a rescisão, recálculo de envelope, transferência, etc...

Page 26: Treinamento Fórmula Visual

26

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Arrastar e soltar ao centro do diagrama uma atividade do tipo Se/Senão. A utilização dessa atividade é muito comum, utilizada sempre para se avaliar condições e estados dos itens da Fórmula Visual RM

Page 27: Treinamento Fórmula Visual

27

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Ao adicionar a atividade, observe que a mesma possui duas atividades aninhadas por padrão. Cada uma dessas atividades pode ser utilizada para se avaliar diferentes condições que seguirão fluxos diferentes em uma mesma etapa. N atividades do tipo ifElseBranchActivity podem ser adicionadas (Copiar / Colar).

Faz sentido utilizar mais de uma ifElseBranchActivity quando houver mais de uma condição a ser avaliada, sendo que cada uma dessas condições podem direcionar o fluxo para sentidos diferentes. Caso contrário, podemos utilizar apenas uma (que na verdade é o nosso caso). Então, selecione com o mouse a segunda atividade e exclua a mesma.

Page 28: Treinamento Fórmula Visual

28

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Dentro da Atividade, vamos definir a condição a ser avaliada, e que quando for verdadeira, irá disparar suas atividades filhas

Page 29: Treinamento Fórmula Visual

29

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

• a Fórmula Visual RM pode utilizar recursos do .net Framework através da sua linguagem utilizada para de criar as expressões a serem avaliadas nas atividades “se/senão”.

• A linguagem é bem parecida com C#, mas as classes não são necessariamente idênticas a já conhecida FCL (Framework Component Library).

• Se você conhece a linguagem C#, tome cuidado para não fazer confusão entre as classes da FCL e as classes da Fórmula Visual RM. Exemplo: • O objeto Table ( o qual utilizamos nesse exemplo) não é um DataTable, e por

isso não foi necessário se indicar qual o índice da linha a ser comparada • Quão maior for o seu conhecimento em C# e .net, maiores serão as possibilidades

de se utilizar a Fórmula Visual RM.

this.Tables[“PSECAO”][“DESCRICAO”].OriginalValue

Page 30: Treinamento Fórmula Visual

30

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Como desejamos interromper o fluxo da Fórmula Visual quando determinada condição for atendida, devemos então arrastar e soltar sobre a atividade de se/senão uma atividade do tipo “Gerar Exceção”. Esse tipo de atividade possui exatamente essa finalidade (interromper o fluxo), e como é “filha” de um “se/senão”, só será disparado caso a condição de sua atividade mãe for verdadeira.

Page 31: Treinamento Fórmula Visual

31

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Selecionando a atividade rmsThrowActivity1, basta que a propriedade “Mensagem de Erro” seja preenchida. Esta mesma mensagem será exibida em diálogo de erro quando o usuário tentar executar tarefa associada cuja condição da atividade mãe seja atendida.

Page 32: Treinamento Fórmula Visual

32

Criando a primeira Fórmula Visual – Passo a Passo

Fórmula Visual RM 11.40

Caso todos os passos tenham sido executados corretamente, a janela de erro será exibida ao se alterar o cadastro de uma seção que atenda à condição estabelecida na regra.

Page 33: Treinamento Fórmula Visual

33

Criando a primeira Fórmula Visual – Observações

Fórmula Visual RM 11.40

• Ao se associar um Fórmula Visual à um gatilho que é disparado por uma visão, os campos da visão podem ser facilmente acessados através das propriedades “Tables”, “DataSet” e Fields.

• Tanto os novos valores quanto valores antigos do registro podem ser acessados através da Fórmula Visual pelos gatilhos disparados antes de se salvar o registro

• A atividade “se/senão” é utilizada para se criar uma estrutura condicional cuja lógica é determinada pelo usuário final.

Page 34: Treinamento Fórmula Visual

34

Criando a primeira Fórmula Visual – Observações

Fórmula Visual RM 11.40

• Para dominar a utilização das fórmulas visuais, é necessário conhecer “como as atividades se encaixam”

• Nessa primeira atividade, já aprendemos um tipo de encaixe

que deve ser memorizado: devemos utilizar a propriedade :

this.Tables[“nome_tabela”][“nome_campo”]

quando desejarmos criar um diagrama que irá ser disparado por um gatilho que tratará um registro.

Page 35: Treinamento Fórmula Visual

35

Criando a primeira Fórmula Visual – Observações

Fórmula Visual RM 11.40

• Outro fato importante é o de se considerar a criação de uma fórmula visual para cada gatilho. Isso se faz necessário, pois em cada situação, a condição de “encaixe” das atividades muda.

• Além de criar, a fórmula visual deverá ser associada corretamente ao cadastro ou processo para o qual foi criada

Page 36: Treinamento Fórmula Visual

36

Atividade “Consulta SQL”

Fórmula Visual RM 11.40

• Utilizada para se realizar consultas SQL cadastradas no sistema que retornem uma ou N linhas. Normalmente utilizada em operações de validação;

• Apesar da quantidade de propriedades, é uma das atividades mais fáceis de ser utilizadas.

Page 37: Treinamento Fórmula Visual

37

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Prática 02: criar um Fórmula Visual que restrinja o cadastro de dependentes a no máximo dois dependentes por funcionário (cadastro de funcionários .net)

Page 38: Treinamento Fórmula Visual

38

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 1) Cadastrar a consulta SQL que retorna a quantidade de dependentes por funcionário.

SELECT COUNT(CODCOLIGADA) QTD FROM PFDEPEND (NOLOCK) WHERE CODCOLIGADA = :CODCOLIGADA AND CHAPA = :CHAPA

Page 39: Treinamento Fórmula Visual

39

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 1) Criar Fórmula Visual

Page 40: Treinamento Fórmula Visual

40

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 3) Criar Diagrama, inserindo na ordem as atividades: • ConsultaSQL • Se/Senão • Gerar Exceção

(Conforme imagem ao lado)

Page 41: Treinamento Fórmula Visual

41

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 4) Associar a consulta SQL criada no passo 1 à atividade “Consulta SQL”. A associação é feita através de clique com botão direito do mouse.

Page 42: Treinamento Fórmula Visual

42

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 5) Após associada, os parâmetros da consulta são automaticamente atualizados na aba “propriedades”. Falta então definir a origem dos parâmetros da sentença: • Como a Fórmula Visual será associado

à uma visão, no gatilho disparado antes de salvar o registro, poderemos associar os parâmetros às colunas do registro selecionado

• Podemos então utilizar a propriedade Fields para esse fim.

Page 43: Treinamento Fórmula Visual

43

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 6) Clicar em cada um dos parâmetros na atividade de consulta, selecionando a propriedade “Item”. Pressionando a tecla “F2”, será possível informar qual o nome da coluna do registro atual será passado como parâmetro.

Page 44: Treinamento Fórmula Visual

44

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 6) Configurar os respectivos parâmetros conforme as imagens acima. Observe que o tipo retornado deve ser compatível com o tipo do parâmetro.

Page 45: Treinamento Fórmula Visual

45

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 7) Selecionar com o mouse a atividade “ifElseBranchActivity1” e definir a expressão a ser avaliada. Através da propriedade Fields dessa atividade, poderemos ler as colunas do primeiro registro retornado pela consulta. A coluna que procuramos é “QTD”:

SELECT COUNT(CODCOLIGADA) QTD FROM PFDEPEND (NOLOCK) WHERE CODCOLIGADA = :CODCOLIGADA AND CHAPA = :CHAPA

Page 46: Treinamento Fórmula Visual

46

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 8) Selecionar a atividade rmsThrowActivity no diagrama e preencher a propriedade “Mensagem de Erro” com o seguinte texto:

“Existe limite de 4 dependentes por funcionário!”

Page 47: Treinamento Fórmula Visual

47

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Passo 9) Salvar a Fórmula Visual e associá-lo à visão de dependentes, no gatilho “Antes de Salvar o Registro”

Page 48: Treinamento Fórmula Visual

48

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Teste) Acessar o cadastro de funcionários do RM Vitae, editar um funcionário e tentar incluir mais de 4 dependentes para o mesmo.

Page 49: Treinamento Fórmula Visual

49

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Page 50: Treinamento Fórmula Visual

50

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

Pode ser que já existam funcionários com mais de 4 dependentes. Com a expressão atual na atividade se/senão, não será possível excluir esses dependentes. É necessário então alterar a expressão para que a mesma identifique se a operação é de exclusão.

Page 51: Treinamento Fórmula Visual

51

Prática 02 – Utilizando a atividade “Consulta SQL”

Fórmula Visual RM 11.40

• Registro Excluído: • System.Data.DataRowState.Deleted

• Registro Incluído:

• System.Data.DataRowState. Added

• Registro Alterado: • System.Data.DataRowState.Modified

Page 52: Treinamento Fórmula Visual

52

Prática 02 – Observações

Fórmula Visual RM 11.40

• Identificamos que a atividade de consulta SQL utiliza apenas consultas cadastradas no sistema , sendo que não é possível escrever a consulta dentro da própria atividade.

• Uma das formas mais convenientes de se recuperar o valor

retornado pela consulta SQL é através da propriedade: atividadeConsultaSql.Fields[“nome_campo”]

• CUIDADO para não fazer confusão entre Fields da atividade e Fields da fórmula visual!

Page 53: Treinamento Fórmula Visual

53

Atividade “Expressão”

Fórmula Visual RM 11.40

• Utilizada para se executar expressões (as mesmas já utilizadas no produto, como por exemplo, no gerador de relatórios). É uma ótima alternativa para tratamento de dados.

• A sintaxe das expressões não foram alteradas, e continuam muito semelhantes ao Object Pascal.

Page 54: Treinamento Fórmula Visual

54

Prática 02 – Acrescentando mensagem de erro personalizada

Fórmula Visual RM 11.40

Utilizaremos a atividade de expressão para definirmos uma mensagem de erro mais amigável. Para isso, será necessário acrescentar a referida atividade ao diagrama anterior, conforme imagem ao lado.

Page 55: Treinamento Fórmula Visual

55

Prática 02 – Acrescentando mensagem de erro personalizada

Fórmula Visual RM 11.40

Na sequência, alterar a sua propriedade “Expressão” conforme código abaixo.

Page 56: Treinamento Fórmula Visual

56

Prática 02 – Acrescentando mensagem de erro personalizada

Fórmula Visual RM 11.40

Então, vincular o resultado da expressão à propriedade “Mensagem de Erro” da atividade rmsThrowActivity1:

Page 57: Treinamento Fórmula Visual

57

Prática 02 – Acrescentando mensagem de erro personalizada

Fórmula Visual RM 11.40

Ao testar o cadastro de dependentes, a nova mensagem de erro será apresentada:

Page 58: Treinamento Fórmula Visual

58

Observação

Fórmula Visual RM 11.40

Na atividade Se/Senão, é possível reaproveitar condições já utilizadas em outras fórmulas visuais clicando-se no nome da condição, e selecionando a condição desejada por este mesmo critério:

Page 59: Treinamento Fórmula Visual

59

EXERCÍCIO 01

Fórmula Visual RM 11.40

Exercício 01: criar uma fórmula visual que não permita a alteração ou inclusão de um funcionário com salário menor que R$ 500,00. Tempo para execução: 15 Min

Page 60: Treinamento Fórmula Visual

60

Instalando Novas Atividades

Fórmula Visual RM 11.40

• Caso as atividades existentes no produto não sejam suficientes para atender às necessidades de uma determinada customização, novas atividades poderão ser desenvolvidas e “plugadas” aa Fórmula Visual RM

• Partindo desse princípio, a possibilidade de customizações na Linha RM é ainda mais ampla, pois o cliente poderá definir quais as atividades ele deseja utilizar no produto.

• Após definidas, ele poderá desenvolver ou solicitar proposta de desenvolvimento à equipe de customização.

Page 61: Treinamento Fórmula Visual

61

Instalando Novas Atividades

Fórmula Visual RM 11.40

Page 62: Treinamento Fórmula Visual

62

Instalando Novas Atividades

Fórmula Visual RM 11.40

Após a instalação, o arquivo “_Broker.dat” deve ser excluído e o serviço de Host deve ser reiniciado. A nova atividade estará então disponível para ser utilizada nos diagramas de Fórmula Visual.

Page 63: Treinamento Fórmula Visual

63

Atividade “Para cada Iteração”

Fórmula Visual RM 11.40

• Equivalente à estrutura de repetição foreach do C#, é normalmente utilizado para iteração sobre uma coleção de itens.

• Sua propriedade principal é a “Fonte de dados”;

• Pode utilizar uma transação por Iteração.

Page 64: Treinamento Fórmula Visual

64

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Prática 04: criar Fórmula Visual que resultará em uma nova coluna no cadastro da visão do cadastro de funcionários. A coluna irá indicar se o funcionário possui valores forçados no envelope para a competência e período atuais (do usuário).

Page 65: Treinamento Fórmula Visual

65

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 1) Definir a consulta SQL para retornar se um funcionário possui valores forçados no envelope para a competência / Período atuais:

SELECT COUNT(VALORESFORCADOS) VALORESFORCADOS FROM PFPERFF(NOLOCK) WHERE CAST(CODCOLIGADA AS INTEGER) = :CODCOLIGADA AND CHAPA = :CHAPA AND ANOCOMP = :ANOCOMP AND MESCOMP = :MESCOMP AND CAST(NROPERIODO AS INTEGER) = :PERIODO AND VALORESFORCADOS = 1

Page 66: Treinamento Fórmula Visual

66

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 2) Para se filtrar os dados da consulta SQL, poderemos utilizar as colunas da visão de funcionários: CODCOLIGADA e CHAPA. Mas as colunas MESCOMP , ANOCOMP e NROPERIODO precisam ser recuperados através da atividade de “Leitura de Parâmetros do RM Labore”. Esta será então a primeira atividade da Fórmula Visual.

Page 67: Treinamento Fórmula Visual

67

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 3) A atividade “Para cada Iteração” requer uma coleção de itens para ser utilizada, que é configurada através da propriedade Lista de Items. Ao acrescentar essa nova atividade, já sabemos de antemão que essa lista será o DataSet de leitura da visão (o evento associado será o “após ler visão”.

Page 68: Treinamento Fórmula Visual

68

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 4) Para setar a lista, será necessário dar um duplo clique com o mouse na coluna da esquerda (conforme imagem abaixo) e setar a propriedade “Rows” da primeira tabela da visão.

Page 69: Treinamento Fórmula Visual

69

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 5)

Acrescentar uma atividade “sequência” dentro de rmsForEachActivity1. Seu nome é bem sugestivo. Essa atividade delimita uma sequencia de execução para todas as suas atividades filhas. É necessária quando queremos executar mais de uma atividade em sequência.

Page 70: Treinamento Fórmula Visual

70

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 6)

Acrescentar uma atividade “Consulta SQL” dentro de rmsForEachActivity1. Muita atenção: esta fórmula visual irá executar uma consulta SQL para cada registro da visão. Se o filtro da visão não for muito restritivo, o tempo de carga da mesma poderá aumentar bastante.

Page 71: Treinamento Fórmula Visual

71

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 7)

Uma vez acrescentada, será necessário configurar a atividade para que a mesma execute a consulta SQL criada anteriormente. Para tal, basta clicar sobre a mesma com o botão direito selecionando em seguida o menu de contexto “Selecionar Consulta SQL”.

Page 72: Treinamento Fórmula Visual

72

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 8)

Os parâmetros de funcionário deverão ser apontados para a propriedade Fields da atividade rmsForEachActivity. É essa a atividade que cuida de selecionar os registros um a um em um laço de repetição. Para se preencher a propriedade “Fields” com o nome da coluna desejada, deve ser utilizada a tecla “F2”.

Page 73: Treinamento Fórmula Visual

73

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 9)

Os demais parâmetros deverão ser preenchidos a partir das propriedades da atividade de parâmetros do RMLabore (RMSFopParamsProc). Esses parâmetros serão sempre os mesmos para todos os funcionários dentro da execução da fórmula visual.

Page 74: Treinamento Fórmula Visual

74

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 10)

Verifique se os parâmetros foram preenchidos corretamente, conforme a ilustração abaixo:

Page 75: Treinamento Fórmula Visual

75

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 11)

Agora será necessário recuperar o resultado da consulta SQL e gravá-lo em uma nova coluna da visão. Para isso, iremos utilizar uma única atividade: “Expressão”. Essa é a função básica da atividade de expressão: vincular propriedades de uma atividade à outra atividade ou objeto da formula visual.

Page 76: Treinamento Fórmula Visual

76

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 11)

A atividade de expressão “enxerga” as demais atividades do diagrama. Portanto, podemos recuperar o resultado da consulta digitando: Nome_da_atividade_de_consulta.Nome_daColuna

Page 77: Treinamento Fórmula Visual

77

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Passo 11)

Agora, precisamos definir onde o valor da expressão calculada será gravado. Sabemos que será calculado um valor para cada registro. Portanto, podemos declarar uma nova coluna na propriedade Fields da atividade “rmsForEachActivity1”

Page 78: Treinamento Fórmula Visual

78

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Basta então associar a fórmula visual criada ao gatilho que desejamos disparar, selecionando também a tela de cadastro para a qual a fórmula visual foi elaborada. A nova coluna deverá então ser exibida ao se acessar a visão de funcionários.

Passo Final)

Page 79: Treinamento Fórmula Visual

79

Prática 04 – Criando coluna em uma visão

Fórmula Visual RM 11.40

Page 80: Treinamento Fórmula Visual

80

Prática 04 – Observações

Fórmula Visual RM 11.40

Até a versão atual do produto, o recurso de fórmulas visuais está vinculado a cadastros e processos, conforme a ilustração ao lado. Observe que todos os gatilhos disponíveis são disparados à partir de uma dessas funcionalidades. Boa parte das dificuldades de utilização podem surgir sobre quais as propriedades de cada atividade deve ser utilizada em cada gatilho.

Page 81: Treinamento Fórmula Visual

81

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Prática 05: criar uma fórmula visual que possa ser chamada à partir de uma visão, como um processo. Este processo deverá aumentar em 10% o salário de todos os funcionários selecionados na visão cujo salário seja menor que 1000,00.

Page 82: Treinamento Fórmula Visual

82

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 01) Cadastrar a nova fórmula visual

Page 83: Treinamento Fórmula Visual

83

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 02) Acrescentar uma atividade “Para cada Iteração”, setando sua propriedade “Lista de Itens” conforme a ilustração.

Page 84: Treinamento Fórmula Visual

84

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 02) Como será necessário executar uma série de atividades em sequencia para atingirmos o objetivo final, precisaremos então acrescentar dentro da atividade anterior uma atividade de sequência.

Page 85: Treinamento Fórmula Visual

85

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 03) Será necessário avaliar o valor atual do salário do funcionário selecionado. Para isso, será incluída a atividade “se/senão”, cuja condição de regra declarativa será setada conforme ilustração abaixo:

Page 86: Treinamento Fórmula Visual

86

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 04) Sempre que se desejar alterar um registro, é necessário ler o mesmo através da atividade “Ler de Registro”. Logo, vamos acrescentar essa atividade e configurar a sua propriedade “Nome do DataServer” para ler do cadastro de funcionários.

Page 87: Treinamento Fórmula Visual

87

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 05) Configurar a chave primária da leitura, para que a atividade faça a leitura correta do registro. Observe que a origem do registro lido É A ATIVIDADE rmsForEachActivity!

Page 88: Treinamento Fórmula Visual

88

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 06) Para realizar o cálculo do salário (salário atual + 10%), utilizaremos a atividade “Expressão”, configurando sua fórmula conforme ilustração abaixo.

Page 89: Treinamento Fórmula Visual

89

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 07) Precisamos ainda indicar que o resultado da fórmula será gravado na coluna “SALARIO” do registro lido. Faremos isso na propriedade “Valor Calculado” da fórmula. Observe que ele deve ser setado na atividade rmsReadRecordActivity!

Page 90: Treinamento Fórmula Visual

90

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 08) Para gravar as alterações, será necessário incluir uma atividade do tipo “Salvar Registro”. A propriedade “Nome do Dataserver” deve ser idêntica à da atividade de leitura. A propriedade “Fonte de Dados” deve ser configurada conforme ilustração.

Page 91: Treinamento Fórmula Visual

91

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo 09) Por fim, será necessário associar a Fórmula Visual à um processo de um cadastro. No nosso caso em especial, esse processo deve ser a visão do cadastro de funcionários

Page 92: Treinamento Fórmula Visual

92

Prática 05 – Criando uma Fórmula Visual de Processo

Fórmula Visual RM 11.40

Passo Final) Agora, é só testar a atividade de fórmula visual no cadastro de funcionário

Page 93: Treinamento Fórmula Visual

93

Prática 05 – Observações

Fórmula Visual RM 11.40

• Identificamos que para se realizar qualquer alteração no banco de dados, é necessário utilizar no mínimo 3 atividades: Ler Registro, expressão e Salvar Registro;

• Identificamos também que é necessária a utilização de uma

atividade do tipo “para cada iteração” sempre que desejarmos executar atividades para uma lista ou coleção de itens/registros.

Page 94: Treinamento Fórmula Visual

94

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Prática 06: Acrescentar o envio de e-mail à atividade anterior.

Page 95: Treinamento Fórmula Visual

95

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Passo 01) Acrescentar a atividade de “envio de E-Mail”, configurando a prop. “Destinatários” conforme abaixo.

Page 96: Treinamento Fórmula Visual

96

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Passo 01) Detalhes Observe que podemos “enxergar” a coluna “E-Mail” tanto na atividade de leitura de registro quanto na atividade “para cada iteração”. Utilizamos “AsStringArray” por que a propriedade “Destinatário” espera um array de endereços (mesmo que tenha apenas um item).

Page 97: Treinamento Fórmula Visual

97

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Passo 02) Para se criar uma mensagem do e-mail individualizada, utilizaremos uma atividade Expressão. Basta incluí-la no diagrama conforme ilustração ao lado, configurando sua expressão conforme imagem abaixo:

Page 98: Treinamento Fórmula Visual

98

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Passo 04) Precisamos então direcionar o valor da expressão para a propriedade do corpo da mensagem da atividade de envio de e-mails. Faremos isso na propriedade “Valor Calculado” da fórmula recém adicionada:

Page 99: Treinamento Fórmula Visual

99

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Passo 05) Na execução da formula visual, podem ocorrer erros durante sua chamada (E-Mail não existe, registro nulo, etc...) Podemos então tratar estes erros em algumas atividades através da opção “Exibir manipuladores de Fault”.

Page 100: Treinamento Fórmula Visual

100

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Passo 05) Devemos então soltar uma atividade do tipo “tratar exceção” dentro da atividade “faultHandlerActivity”. A atividade de falta ficará então como na figura abaixo:

Page 101: Treinamento Fórmula Visual

101

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Passo 06) É possível então determinar uma ação a ser tomada de acordo com a exceção ocorrida. Neste exemplo, vamos informar a exceção do tipo mais primitivo o possível, garantindo então que a ação seja executada sempre que QUALQUER TIPO DE ERRO ocorrer. Comportamento desejado: Quando ocorrer algum erro de qualquer natureza, um E-Mail deverá ser enviado para uma pessoa específica informando o erro

Page 102: Treinamento Fórmula Visual

102

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Passo 06) Selecionar a atividade e exceção e informar a propriedade “Fault Type” conforme ilustração.

Page 103: Treinamento Fórmula Visual

103

Prática 06 – Complementando a atividade anterior : E-Mail

Fórmula Visual RM 11.40

Passo 07) Precisamos então preencher a atividade de Envio de E-Mail de forma apropriada para que em caso de erro, uma mensagem seja enviada para um E-Mail já conhecido. TENTE EXECUTAR ESTA TAREFA SEM O AUXÍLIO DO INSTRUTOR!

Page 104: Treinamento Fórmula Visual

104

Atividade “Executar Processo”

Fórmula Visual RM 11.40

• Realiza a chamada a um processo; • Quando vinculada à um cadastro, pode ser “amarrada” ao mesmo através da

propriedade “Tabela de chave Primária”. • Apenas parâmetros simples são exibidos na aba de propriedades

Page 105: Treinamento Fórmula Visual

105

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Prática 06: Criar uma fórmula visual que irá encadear a execução de 2 processos na emissão de um cheque

Page 106: Treinamento Fórmula Visual

106

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Passo 01) Abra a visão de Extrato de Caixa e clique no menu de processos. Observe que o processo de gerar cheque manual e o de Compensar estão ligados à visão, ou seja: são executados para os itens selecionados dessa visão.

Page 107: Treinamento Fórmula Visual

107

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Passo 02) Observe também que o processo de Compensação pede um parâmetro: a data de compensação:

Page 108: Treinamento Fórmula Visual

108

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Passo 03) Iremos executar duas atividades: uma para gerar o cheque e outra para compensá-lo. Vamos então adicionar 3 atividades ao nosso diagrama: duas para a execução de processo e uma atividade de Expressão, que será utilizada para o preenchimento do parâmetro do segundo processo.

Page 109: Treinamento Fórmula Visual

109

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Passo 03) Na primeira atividade de processo, informar conforme ilustração o processo a ser chamado e a tabela de chave primária. Observe que nenhum parâmetro de processo aparece na aba propriedades.

Page 110: Treinamento Fórmula Visual

110

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Passo 05) Na segunda atividade de processo, informar conforme ilustração o processo a ser chamado e a tabela de chave primária. Observe o parâmetro (Data de compensação) de processo que aparece na aba propriedades.

Page 111: Treinamento Fórmula Visual

111

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Passo 06) Na atividade de Expressão, digitaremos na propriedade “expressão” a função “Today”, que retorna a data atual do sistema. Observe que o parâmetro do processo não aparece na listagem de propriedades da segunda atividade de execução de processo. Logo, precisaremos “ligar” essa propriedade na própria atividade...

Page 112: Treinamento Fórmula Visual

112

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Passo 07) Configurar o parâmetro “Data de compensação para receber o valor calculado da atividade de Expressão. Observe que é necessário informar o tipo correto do parâmetro.

Page 113: Treinamento Fórmula Visual

113

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Passo Final) Associar a formula ao cadastro de “Extrato de Caixa”, na aba “Processos de Workflow”

Page 114: Treinamento Fórmula Visual

114

Prática 07 – Execução de Processos

Fórmula Visual RM 11.40

Cadastrar um novo cheque e testar o processo de fórmula visual.

Page 115: Treinamento Fórmula Visual

115

Prática Final – Fórmula Visual

Fórmula Visual RM 11.40

Sem o auxílio do instrutor: crie um novo campo complementar no cadastro de funcionários, e em seguida, crie uma fórmula visual para forçar o preenchimento deste campo na edição do registro.

Page 116: Treinamento Fórmula Visual

116

Prática 07 – Observações Importantes

Fórmula Visual RM 11.40

• É possível disparar a execução de processos pela fórmula visual; • Processos que estão vinculados à um ou mais cadastros podem ser

vinculados através da propriedade tables. • Parâmetros simples podem ser preenchidos na aba de propriedades;

Observação: parâmetros complexos (listas, arrays e datasets) podem ser preenchidos, desde que o desenvolvedor crie um designer editor para o referido tipo de propriedade. A tendência é a de que o usuário não necessite utilizar as atividades de execução de processo em um futuro breve, pois as equipes de desenvolvimento poderão criar atividades específicas para o mesmo fim.

Page 117: Treinamento Fórmula Visual

117

Até onde posso chegar com as Fórmulas Visuais?

Fórmula Visual RM 11.40

Posso Chegar • Criar novas regras de validação de um cadastro com base nele mesmo

ou em outros cadastros, desde que não viole a integridade referencial de um registro no banco.

• Automatizar tarefas encadeando leituras e gravações, e execução de processos através da Fórmula Visual.

• Criar novas colunas e restrições em cadastros já existentes • Até onde a sua criatividade (e a atividade) permitir...

Page 118: Treinamento Fórmula Visual

118

Até onde posso chegar com as Fórmulas Visuais?

Fórmula Visual RM 11.40

Não Posso Chegar • A fórmula visual não é um recurso completo de Fórmula Visual.

Portanto, não será possível criar uma regra de aprovação de requisições (por exemplo) em um único diagrama.

• Não será possível obrigar o cadastro de um registro em uma tabela filha à partir do cadastro de item em sua tabela mãe.

• Não é possível chamar cadastros ou telas de diálogo através das fórmulas visuais.