Você está na página 1de 118

Fórmula Visual RM Versão 11.

40
Belo Horizonte, 24 de agosto de 2012
Fórmula Visual RM 11.40
ÍNDICE
I) Bê-á-B
Bê-á-Báá da Fórmu
Fórmula
la Visual
Visual:: Prim
Primeir
eiros
os Passo
Passoss - Config
Configur
uraçã
ação
o
II)
II) Como
Como a Fórm
Fórmul
ulaa Vis
Visua
uall RM pod
poder
eráá me
me aten
atende
der?
r?
III)
III) Cria
Criand
ndo
o a prim
primei
eira
ra Fór
Fórmu
mula
la Vis
Visua
uall  – Passo
 – Passo a Passo
IV) Atividade “Consulta SQL”
V) Prática 02 – Utilizando a atividade “Consulta SQL”
VI) Atividade “Expressão”
VII)
VII) Prá
Prática
ica 02
02 – Acrescentando
 – Acrescentando mensagem de erro personalizada
VIII)
VIII) Instalan
Instalando
do Novas
Novas Ativid
Atividades
ades
IX) Atividade “Para cada Iteração”
X) Prática 04 – Criando
 – Criando coluna em uma visão
XI) Prática 05
05 – Criando
 – Criando uma Fórmula Visual de Processo
XII)
II) Prá
Prática
ica 06 – Complementando
 – Complementando a atividade anterior : E-Mail
XIII) Atividade “Executar Processo”
XIV)
XIV) Prát
Prátic
icaa 07
07 – Execução
 – Execução de Processos
XV) Até
Até onde
onde posso
posso cheg
chegar
ar com
com as Fórmula
Fórmulass Visuais?
Visuais?
Fórmula Visual RM 11.40
ÍNDICE
I) Bê-á-B
Bê-á-Báá da Fórmu
Fórmula
la Visual
Visual:: Prim
Primeir
eiros
os Passo
Passoss - Config
Configur
uraçã
ação
o
II)
II) Como
Como a Fórm
Fórmul
ulaa Vis
Visua
uall RM pod
poder
eráá me
me aten
atende
der?
r?
III)
III) Cria
Criand
ndo
o a prim
primei
eira
ra Fór
Fórmu
mula
la Vis
Visua
uall  – Passo
 – Passo a Passo
IV) Atividade “Consulta SQL”
V) Prática 02 – Utilizando a atividade “Consulta SQL”
VI) Atividade “Expressão”
VII)
VII) Prá
Prática
ica 02
02 – Acrescentando
 – Acrescentando mensagem de erro personalizada
VIII)
VIII) Instalan
Instalando
do Novas
Novas Ativid
Atividades
ades
IX) Atividade “Para cada Iteração”
X) Prática 04 – Criando
 – Criando coluna em uma visão
XI) Prática 05
05 – Criando
 – Criando uma Fórmula Visual de Processo
XII)
II) Prá
Prática
ica 06 – Complementando
 – Complementando a atividade anterior : E-Mail
XIII) Atividade “Executar Processo”
XIV)
XIV) Prát
Prátic
icaa 07
07 – Execução
 – Execução de Processos
XV) Até
Até onde
onde posso
posso cheg
chegar
ar com
com as Fórmula
Fórmulass Visuais?
Visuais?
Fórmula Visual RM 11.40

O que é Workflow?

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

“É a
“É 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.”
processo.”
[WfMC (Fórmula Visual Management Coalition)]
Fórmula Visual RM 11.40

Conceito Geral de Workflow

• Um Workflow é um conjunto de processos, regras, papéis e rotas que


definem um processo de negócio.
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.
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

Exemplo de Workflow Simplificado

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.
Fórmula Visual RM 11.40

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

FAQ Fórmula Visual RM


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.
Fórmula Visual RM 11.40

O que é a Fórmula Visual RM


Fórmula Visual RM 11.40

O que é a Fórmula Visual RM


Fórmula Visual RM 11.40

O que é a Fórmula Visual RM

• 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.
Fórmula Visual RM 11.40

O que é a Fórmula Visual RM

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!
Fórmula Visual RM 11.40

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


• 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.
Fórmula Visual RM 11.40

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


• 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.
Fórmula Visual RM 11.40

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


• 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:
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo

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”
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


Passo 1) Identificar no cadastro de seções qual o campo será tratado
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


Passo 1) Identificar no cadastro de seções qual o campo será tratado
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


Passo 2) Cadastrar uma Categoria de Fórmula Visual
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


Passo 3) Cadastrar a Fórmula Visual
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


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.
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


Passo 4) Associar Fórmula Visual à um gatilho
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


Passo 4) Associar Fórmula Visual à um gatilho
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


Passo 5) Editar Fórmula Visual
1) Duplo clique na Fórmula Visual criado
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


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


Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo


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...
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo

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
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo

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.
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo

Dentro da Atividade, vamos


definir a condição a ser avaliada,
e que quando for verdadeira, irá
disparar suas atividades filhas
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo

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

• 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.
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo

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.
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo

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.
Fórmula Visual RM 11.40

Criando a primeira Fórmula Visual – Passo a Passo

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.
Fórmula Visual RM 11.40

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

• 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.
Fórmula Visual RM 11.40

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

• 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.
Fórmula Visual RM 11.40

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

• 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
Fórmula Visual RM 11.40

Atividade “Consulta SQL”

• 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.
Fórmula Visual RM 11.40

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

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)
Fórmula Visual RM 11.40

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


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
Fórmula Visual RM 11.40

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


Passo 1) Criar Fórmula Visual
Fórmula Visual RM 11.40

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

Passo 3) Criar Diagrama,


inserindo na ordem as
atividades:

• ConsultaSQL
• Se/Senão
• Gerar Exceção

(Conforme imagem ao lado)


Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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


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
Fórmula Visual RM 11.40

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


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!” 


Fórmula Visual RM 11.40

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


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

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


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

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


Fórmula Visual RM 11.40

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


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.
Fórmula Visual RM 11.40

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

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

• Registro
Registro Incluído:
Incluído :
• System.Data.DataRowState. Added

• Registro Alterado:
• System.Data.DataRowState.Modified
Fórmula Visual RM 11.40

Prática 02 –
02 – Observações
 Observações

• 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 
CUIDADO  para não fazer confusão entre Fields da atividade e
Fields da fórmula visual!
Fórmula Visual RM 11.40

Atividade “Expressão”

• Utilizada para se executar expressões (as mesmas já utilizadas no


produto,
produto, como por exemplo,
exemplo, no gerador
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.
Fórmula Visual RM 11.40

Prática 02 – Acrescentando mensagem de erro personalizada

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.
Fórmula Visual RM 11.40

Prática 02 – Acrescentando mensagem de erro personalizada


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

Prática 02 – Acrescentando mensagem de erro personalizada


Então, vincular o resultado da expressão à propriedade “Mensagem
de Erro” da atividade rmsThrowActivity1:
Fórmula Visual RM 11.40

Prática 02 – Acrescentando mensagem de erro personalizada


 Ao testar o cadastro de dependentes, a nova mensagem de erro
será apresentada:
Fórmula Visual RM 11.40

Observação
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:
Fórmula Visual RM 11.40

EXERCÍCIO 01

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


Fórmula Visual RM 11.40

Instalando Novas Atividades

• 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.
Fórmula Visual RM 11.40

Instalando Novas Atividades


Fórmula Visual RM 11.40

Instalando Novas Atividades

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.
Fórmula Visual RM 11.40

Atividade “Para cada Iteração”

• 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.


Fórmula Visual RM 11.40

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

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).
Fórmula Visual RM 11.40

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


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
Fórmula Visual RM 11.40

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


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.
Fórmula Visual RM 11.40

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

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”.
Fórmula Visual RM 11.40

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


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.
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

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”.
Fórmula Visual RM 11.40

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

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”.
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

Passo 10)

Verifique se os parâmetros foram preenchidos corretamente, conforme a


ilustração abaixo:
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

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
Fórmula Visual RM 11.40

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

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”
Fórmula Visual RM 11.40

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

Passo Final)

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.
Fórmula Visual RM 11.40

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


Fórmula Visual RM 11.40

Prática 04 – Observações

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.
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

Passo 01) Cadastrar a nova fórmula visual


Fórmula Visual RM 11.40

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

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

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

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.
Fórmula Visual RM 11.40

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

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:
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

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!
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

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!
Fórmula Visual RM 11.40

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

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.
Fórmula Visual RM 11.40

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

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
Fórmula Visual RM 11.40

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

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


cadastro de funcionário
Fórmula Visual RM 11.40

Prática 05 – Observações

• 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.
Fórmula Visual RM 11.40

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

Prática 06: Acrescentar o


envio de e-mail à atividade
anterior.
Fórmula Visual RM 11.40

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

Passo 01)
Acrescentar a atividade de “envio de E-Mail”,
configurando a prop. “Destinatários”
conforme abaixo.
Fórmula Visual RM 11.40

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

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).
Fórmula Visual RM 11.40

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

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:
Fórmula Visual RM 11.40

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

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:
Fórmula Visual RM 11.40

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

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”.
Fórmula Visual RM 11.40

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


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:
Fórmula Visual RM 11.40

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


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
Fórmula Visual RM 11.40

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


Passo 06) Selecionar a atividade e exceção e informar a propriedade
“Fault Type” conforme ilustração.
Fórmula Visual RM 11.40

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

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!
Fórmula Visual RM 11.40

Atividade “Executar Processo”

• 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
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos

Prática 06: Criar uma fórmula


visual que irá encadear a
execução de 2 processos na
emissão de um cheque
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos

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.
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos

Passo 02)

Observe também que o processo de Compensação pede um parâmetro: a


data de compensação:
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos

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.
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos


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.
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos


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.
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos


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...
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos


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.
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos


Passo Final) Associar a formula ao cadastro de “Extrato de Caixa”,  na aba
“Processos de Workflow”
Fórmula Visual RM 11.40

Prática 07 – Execução de Processos


Cadastrar um novo cheque e testar o processo de fórmula visual.
Fórmula Visual RM 11.40

Prática Final – Fórmula Visual

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.
Fórmula Visual RM 11.40

Prática 07 – Observações Importantes


• É 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.
Fórmula Visual RM 11.40

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

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...

Você também pode gostar