Você está na página 1de 119

Frmula Visual RM Verso 11.

00
Christiano Coutinho de Moraes/ 10 - 2010

Frmula Visual RM 11.00


NDICE
I) II) III) IV) V) VI) B--B da Frmula Visual: Primeiros Passos - Configurao Como a Frmula Visual RM poder me atender? Criando a primeira Frmula Visual Passo a Passo Atividade Consulta SQL Prtica 02 Utilizando a atividade Consulta SQL Atividade Expresso

VII) Prtica 02 Acrescentando mensagem de erro personalizada

VIII) Instalando Novas Atividades


IX) X) XI) Atividade Para cada Iterao Prtica 04 Criando coluna em uma viso Prtica 05 Criando uma Frmula Visual de Processo

XII) Prtica 06 Complementando a atividade anterior : E-Mail XIII) Atividade Executar Processo XIV) Prtica 07 Execuo de Processos XV) At onde posso chegar com as Frmulas Visuais?

Frmula Visual RM 11.00


O que Workflow?
Workflow a tecnologia que permite automatizar processos, racionalizando-os e potencializando-os por meio de componentes implcitos: organizao e tecnologia [Duarte,1997] a automao do processo de negcio, na sua totalidade ou em partes, onde documentos, informaes ou tarefas so passadas de um participante para o outro para execuo de uma ao, de acordo com um conjunto de regras de procedimentos. A automao do processo de negcio identifica as vrias atividades do processo, regras de procedimento e controle de dados associados para gerenciar o Workflow durante a ativao do processo. [WfMC (Frmula Visual Management Coalition)]
3

Frmula Visual RM 11.00


Conceito Geral de Workflow
Um Workflow um conjunto de processos, regras, papis e rotas que definem um processo de negcio.
Em um sistema de Workflow, o usurio assume papis os quais lhe so delegados e que foram definidos dentro de processos de negcio. Processos de negcio complexos envolvem vrios papis, e normalmente so assncronos, ou seja: o fluxo pode ficar interrompido eternamente caso um usurio no execute seu papel dentro do processo. As atividades, regras e rotas se encaixam como peas de um quebracabea, que pode ser redefinido de acordo com a necessidade do negcio.
4

Frmula Visual RM 11.00


Exemplo de Workflow Simplificado

No Workflow acima, as regras so definidas pelos losangos, associados s tarefas que os precedem. Existe apenas um papel que o do pedestre e as rotas definem as possveis trajetrias que definem destinos para o processo.
5

Frmula Visual RM 11.00


O que a Frmula Visual RM
A frmula Visual RM um mecanismo amplo e com finalidade geral para o desenvolvimento visual de lgicas de negcio com o objetivo de estender a soluo TOTVS RM. Utiliza como base o Microsoft Framework .NET - Windows Frmula Visual Foundation 3.0, um produto muito robusto e poderoso desde sua concepo, utilizado pelos principais softwares da prpria Microsoft. Os Frmula Visuals so montados visualmente com o auxilio de um designer (editor visual de programas), como uma sequencia de atividades.
6

Frmula Visual RM 11.00


FAQ Frmula Visual RM
a Frmula Visual RM uma ferramenta de BPM? NO! uma ferramenta que utiliza cdigo e artefatos visuais para a elaborao de customizaes, que podem ser criadas at mesmo por usurios finais. Estou confuso... a Frmula Visual RM uma soluo completa de Workflow? uma ferramenta de customizao baseada no Microsoft Windows Workflow Foundation 3.0. Portanto, um Workflow, mas a sua finalidade atualmente est restrita a se criar customizaes nos mdulos existentes da Linha RM. Portanto, seu propsito no o de ser utilizado para orquestrar processos visualmente, mas sim o de se estender as funcionalidades da linha RM Atravs de uma interface visual.

Frmula Visual RM 11.00


O que a Frmula Visual RM

Frmula Visual RM 11.00


O que a Frmula Visual RM

Frmula Visual RM 11.00


O que a Frmula Visual RM

A Frmula Visual RM possui um princpio reativo individual. Isso quer dizer que a sua execuo est vinculada ao contexto do usurio que disparou a atividade inicial. A Frmula Visual depende da iterao do usurio para ser executado
Portanto deve-se entender que a princpio, uma nica Frmula Visual RM no poder ser utilizado para se criar Workflows de aprovao de requisies e qualquer outro de natureza assncrona, onde a iterao de vrios usurios seja necessria para a concluso do processo de negcio. Uma Frmula Visual enxergar apenas o usurio corrente.

10

Frmula Visual RM 11.00


O que a Frmula Visual RM
Em que momento minhas Frmulas Visuais so disparados? Aps construdo, a Frmula Visual poder ser disparado atravs de gatilhos (tambm conhecidos como eventos) disponveis nas telas de cadastros e processos, conforme ilustrao . Essa associao pode ser feita nos processos e cadastros do produto, assim como tambm nos cadastros do portal RM. Observe a variedade de gatilhos para processos e cadastros. Obs: Gatilhos disponveis apenas em mdulos migrados!
11

Frmula Visual RM 11.00


Como a Frmula 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 restries de acordo com a necessidade do usurio Em teoria, a Frmula Visual ser uma ferramenta que ira facilitar a customizao de toda a linha de produtos RM, ampliando ainda mais a sua utilizao e adequando as funcionalidades j existentes cenrios que necessitam de regras adicionais para complementar o processo de negcio.

12

Frmula Visual RM 11.00


B--B da Frmula Visual: Primeiros Passos - Configurao
Em ambiente 2 camadas, editar o arquivo RM.Host.Exe.config. Em ambiente 3 camadas, editar o arquivo RM.Host.Service.exe.config.

13

Frmula Visual RM 11.00


B--B da Frmula Visual: Primeiros Passos - Configurao
Criar ou editar o XML de configurao do produto no qual se deseja utilizar a Frmula Visual, acrescentando configurao. Exemplo: RM Labore:

14

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo

Prtica 01: criar uma Frmula Visual no RM Labore que bloqueie qualquer alterao nos cadastros de sees cujo nome das sees contenha o texto RM Sistemas

15

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 1) Identificar no cadastro de sees qual o campo ser tratado

16

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 1) Identificar no cadastro de sees qual o campo ser tratado

17

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 2) Cadastrar uma Categoria de Frmula Visual

18

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 3) Cadastrar a Frmula Visual

19

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 3) Detalhe: A propriedade Frmula Visual Pai serve apenas para se organizar o cadastro de forma hierrquica. No tem qualquer efeito sobre a execuo. J a propriedade Ativo habilita ou no a execuo da frmula visual selecionada.

20

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 4) Associar Frmula Visual um gatilho

21

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 4) Associar Frmula Visual um gatilho

22

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 5) Editar Frmula Visual
1) Duplo clique na Frmula Visual criado

23

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 5) Editar Frmula Visual
A aba de propriedades permite ao usurio definir as propriedades de cada elemento disponvel na janela de diagrama da Frmula Visual. A medida em que o usurio seleciona um item diferente, suas propriedades so exibidas na aba.

Janela de diagrama da Frmula Visual


24

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Passo 5) Editar Frmula Visual
Esta aba contm todas as atividades disponveis que podem ser includas na janela de edio de diagramas, definindo o processo de negcio; Atualmente, existem apenas duas categorias e algumas atividades genricas que no so especficas de um produto da linha RM; Futuramente, existiro categorias e atividades especficas por produto, aumentando ainda mais o poder do recurso e a sua facilidade de utilizao; No caso da linha de RH, podero existir atividades relacionadas a resciso, reclculo de envelope, transferncia, etc...

25

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo

Arrastar e soltar ao centro do diagrama uma atividade do tipo Se/Seno. A utilizao dessa atividade muito comum, utilizada sempre para se avaliar condies e estados dos itens da Frmula Visual RM

26

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
Ao adicionar a atividade, observe que a mesma possui duas atividades aninhadas por padro. Cada uma dessas atividades pode ser utilizada para se avaliar diferentes condies que seguiro 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 condio a ser avaliada, sendo que cada uma dessas condies podem direcionar o fluxo para sentidos diferentes. Caso contrrio, podemos utilizar apenas uma (que na verdade o nosso caso). Ento, selecione com o mouse a segunda atividade e exclua a mesma.
27

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo

Dentro da Atividade, vamos definir a condio a ser avaliada, e que quando for verdadeira, ir disparar suas atividades filhas

28

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo
this.Tables[PSECAO][DESCRICAO].OriginalValue

a Frmula Visual RM pode utilizar recursos do .net Framework atravs da sua linguagem utilizada para de criar as expresses a serem avaliadas nas atividades se/seno. A linguagem bem parecida com C#, mas as classes no so necessariamente idnticas a j conhecida FCL (Framework Component Library). Se voc conhece a linguagem C#, tome cuidado para no fazer confuso entre as classes da FCL e as classes da Frmula Visual RM. Exemplo: O objeto Table ( o qual utilizamos nesse exemplo) no um DataTable, e por isso no foi necessrio se indicar qual o ndice da linha a ser comparada Quo maior for o seu conhecimento em C# e .net, maiores sero as possibilidades de se utilizar a Frmula Visual RM.

29

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo

Como desejamos interromper o fluxo da Frmula Visual quando determinada condio for atendida, devemos ento arrastar e soltar sobre a atividade de se/seno uma atividade do tipo Gerar Exceo. Esse tipo de atividade possui exatamente essa finalidade (interromper o fluxo), e como filha de um se/seno, s ser disparado caso a condio de sua atividade me for verdadeira.

30

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Passo a Passo

Selecionando a atividade rmsThrowActivity1, basta que a propriedade Mensagem de Erro seja preenchida. Esta mesma mensagem ser exibida em dilogo de erro quando o usurio tentar executar tarefa associada cuja condio da atividade me seja atendida.

31

Frmula Visual RM 11.00


Criando a primeira Frmula 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 seo que atenda condio estabelecida na regra.
32

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Observaes

Ao se associar um Frmula Visual um gatilho que disparado por uma viso, os campos da viso podem ser facilmente acessados atravs das propriedades Tables, DataSet e Fields. Tanto os novos valores quanto valores antigos do registro podem ser acessados atravs da Frmula Visual pelos gatilhos disparados antes de se salvar o registro A atividade se/seno utilizada para se criar uma estrutura condicional cuja lgica determinada pelo usurio final.

33

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Observaes

Para dominar a utilizao das frmulas visuais, necessrio 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.

34

Frmula Visual RM 11.00


Criando a primeira Frmula Visual Observaes

Outro fato importante o de se considerar a criao de uma frmula visual para cada gatilho. Isso se faz necessrio, pois em cada situao, a condio de encaixe das atividades muda. Alm de criar, a frmula visual dever ser associada corretamente ao cadastro ou processo para o qual foi criada

35

Frmula Visual RM 11.00


Atividade Consulta SQL

Utilizada para se realizar consultas SQL cadastradas no sistema que retornem uma ou N linhas. Normalmente utilizada em operaes de validao; Apesar da quantidade de propriedades, uma das atividades mais fceis de ser utilizadas.
36

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL

Prtica 02: criar um Frmula Visual que restrinja o cadastro de dependentes a no mximo dois dependentes por funcionrio (cadastro de funcionrios .net)

37

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL
Passo 1) Cadastrar a consulta SQL que retorna a quantidade de dependentes por funcionrio.

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

38

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL
Passo 1) Criar Frmula Visual

39

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL

Passo 3) inserindo atividades:

Criar Diagrama, na ordem as

ConsultaSQL Se/Seno Gerar Exceo

(Conforme imagem ao lado)

40

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL
Passo 4) Associar a consulta SQL criada no passo 1 atividade Consulta SQL. A associao feita atravs de clique com boto direito do mouse.

41

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL
Passo 5) Aps associada, os parmetros da consulta so automaticamente atualizados na aba propriedades. Falta ento definir a origem dos parmetros da sentena: Como a Frmula Visual ser associado uma viso, no gatilho disparado antes de salvar o registro, poderemos associar os parmetros s colunas do registro selecionado Podemos ento utilizar a propriedade Fields para esse fim.

42

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL

Passo 6) Clicar em cada um dos parmetros na atividade de consulta, selecionando a propriedade Item. Pressionando a tecla F2, ser possvel informar qual o nome da coluna do registro atual ser passado como parmetro.

43

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL

Passo 6) Configurar os respectivos parmetros conforme as imagens acima. Observe que o tipo retornado deve ser compatvel com o tipo do parmetro.

44

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL
Passo 7) Selecionar com o mouse a atividade ifElseBranchActivity1 e definir a expresso a ser avaliada. Atravs 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

45

Frmula Visual RM 11.00


Prtica 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 funcionrio!

46

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL
Passo 9) Salvar a Frmula Visual e associ-lo viso de dependentes, no gatilho Antes de Salvar o Registro

47

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL
Teste) Acessar o cadastro de funcionrios do RM Vitae, editar um funcionrio e tentar incluir mais de 4 dependentes para o mesmo.

48

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL

49

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL
Pode ser que j existam funcionrios com mais de 4 dependentes. Com a expresso atual na atividade se/seno, no ser possvel excluir esses dependentes. necessrio ento alterar a expresso para que a mesma identifique se a operao de excluso.

50

Frmula Visual RM 11.00


Prtica 02 Utilizando a atividade Consulta SQL

Registro Excludo: System.Data.DataRowState.Deleted Registro Includo: System.Data.DataRowState.Detached Registro Alterado: System.Data.DataRowState.Modified

51

Frmula Visual RM 11.00


Prtica 02 Observaes

Identificamos que a atividade de consulta SQL utiliza apenas consultas cadastradas no sistema , sendo que no possvel escrever a consulta dentro da prpria atividade. Uma das formas mais convenientes de se recuperar o valor retornado pela consulta SQL atravs da propriedade: atividadeConsultaSql.Fields[nome_campo] CUIDADO para no fazer confuso entre Fields da atividade e Fields da frmula visual!
52

Frmula Visual RM 11.00


Atividade Expresso

Utilizada para se executar expresses (as mesmas j utilizadas no produto, como por exemplo, no gerador de relatrios). uma tima alternativa para tratamento de dados. A sintaxe das expresses no foram alteradas, e continuam muito semelhantes ao Object Pascal.

53

Frmula Visual RM 11.00


Prtica 02 Acrescentando mensagem de erro personalizada

Utilizaremos a atividade de expresso para definirmos uma mensagem de erro mais amigvel. Para isso, ser necessrio acrescentar a referida atividade ao diagrama anterior, conforme imagem ao lado.

54

Frmula Visual RM 11.00


Prtica 02 Acrescentando mensagem de erro personalizada
Na sequncia, alterar a sua propriedade Expresso conforme cdigo abaixo.

55

Frmula Visual RM 11.00


Prtica 02 Acrescentando mensagem de erro personalizada
Ento, vincular o resultado da expresso propriedade Mensagem de Erro da atividade rmsThrowActivity1:

56

Frmula Visual RM 11.00


Prtica 02 Acrescentando mensagem de erro personalizada
Ao testar o cadastro de dependentes, a nova mensagem de erro ser apresentada:

57

Frmula Visual RM 11.00


Observao
Na atividade Se/Seno, possvel reaproveitar condies j utilizadas em outras frmulas visuais clicando-se no nome da condio, e selecionando a condio desejada por este mesmo critrio:

58

Frmula Visual RM 11.00


EXERCCIO 01

Exerccio 01: criar uma frmula visual que no permita a alterao ou incluso de um funcionrio com salrio menor que R$ 500,00. Tempo para execuo: 15 Min

59

Frmula Visual RM 11.00


Instalando Novas Atividades

Caso as atividades existentes no produto no sejam suficientes para atender s necessidades de uma determinada customizao, novas atividades podero ser desenvolvidas e plugadas aa Frmula Visual RM Partindo desse princpio, a possibilidade de customizaes na Linha RM ainda mais ampla, pois o cliente poder definir quais as atividades ele deseja utilizar no produto.

Aps definidas, ele poder desenvolver ou solicitar proposta de desenvolvimento equipe de customizao.

60

Frmula Visual RM 11.00


Instalando Novas Atividades

61

Frmula Visual RM 11.00


Instalando Novas Atividades
Aps a instalao, o arquivo _Broker.dat deve ser excludo e o servio de Host deve ser reiniciado. A nova atividade estar ento disponvel para ser utilizada nos diagramas de Frmula Visual.

62

Frmula Visual RM 11.00


Atividade Para cada Iterao

Equivalente estrutura de repetio foreach do C#, normalmente utilizado para iterao sobre uma coleo de itens.

Sua propriedade principal a Fonte de dados;


Pode utilizar uma transao por Iterao.

63

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Prtica 04: criar Frmula Visual que resultar em uma nova coluna no cadastro da viso do cadastro de funcionrios. A coluna ir indicar se o funcionrio possui valores forados no envelope para a competncia e perodo atuais (do usurio).

64

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso
Passo 1) Definir a consulta SQL para retornar se um funcionrio possui valores forados no envelope para a competncia / Perodo 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

65

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso
Passo 2) Para se filtrar os dados da consulta SQL, poderemos utilizar as colunas da viso de funcionrios: CODCOLIGADA e CHAPA. Mas as colunas MESCOMP , ANOCOMP e NROPERIODO precisam ser recuperados atravs da atividade de Leitura de Parmetros do RM Labore. Esta ser ento a primeira atividade da Frmula Visual.

66

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Passo 3) A atividade Para cada Iterao requer uma coleo de itens para ser utilizada, que configurada atravs da propriedade Lista de Items. Ao acrescentar essa nova atividade, j sabemos de antemo que essa lista ser o DataSet de leitura da viso (o evento associado ser o aps ler viso.

67

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso
Passo 4) Para setar a lista, ser necessrio dar um duplo clique com o mouse na coluna da esquerda (conforme imagem abaixo) e setar a propriedade Rows da primeira tabela da viso.

68

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Passo 5) Acrescentar uma atividade sequncia dentro de rmsForEachActivity1. Seu nome bem sugestivo. Essa atividade delimita uma sequencia de execuo para todas as suas atividades filhas. necessria quando queremos executar mais de uma atividade em sequncia.

69

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Passo 6)
Acrescentar uma atividade Consulta SQL dentro de rmsForEachActivity1. Muita ateno: esta frmula visual ir executar uma consulta SQL para cada registro da viso. Se o filtro da viso no for muito restritivo, o tempo de carga da mesma poder aumentar bastante.

70

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Passo 7) Uma vez acrescentada, ser necessrio configurar a atividade para que a mesma execute a consulta SQL criada anteriormente. Para tal, basta clicar sobre a mesma com o boto direito selecionando em seguida o menu de contexto Selecionar Consulta SQL.

71

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Passo 8) Os parmetros de funcionrio devero ser apontados para a propriedade Fields da atividade rmsForEachActivity. essa a atividade que cuida de selecionar os registros um a um em um lao de repetio. Para se preencher a propriedade Fields com o nome da coluna desejada, deve ser utilizada a tecla F2.

72

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Passo 9) Os demais parmetros devero ser preenchidos a partir das propriedades da atividade de parmetros do RMLabore (RMSFopParamsProc). Esses parmetros sero sempre os mesmos para todos os funcionrios dentro da execuo da frmula visual.

73

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Passo 10)
Verifique se os parmetros foram preenchidos corretamente, conforme a ilustrao abaixo:

74

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Passo 11) Agora ser necessrio recuperar o resultado da consulta SQL e grav-lo em uma nova coluna da viso. Para isso, iremos utilizar uma nica atividade: Expresso. Essa a funo bsica da atividade de expresso: vincular propriedades de uma atividade outra atividade ou objeto da formula visual.

75

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso
Passo 11) A atividade de expresso enxerga as demais atividades do diagrama. Portanto, podemos recuperar o resultado da consulta digitando: Nome_da_atividade_de_consulta.Nome_daColuna

76

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

Passo 11) Agora, precisamos definir onde o valor da expresso calculada ser gravado. Sabemos que ser calculado um valor para cada registro. Portanto, podemos declarar uma nova coluna na propriedade Fields da atividade rmsForEachActivity1

77

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso
Passo Final)

Basta ento associar a frmula visual criada ao gatilho que desejamos disparar, selecionando tambm a tela de cadastro para a qual a frmula visual foi elaborada. A nova coluna dever ento ser exibida ao se acessar a viso de funcionrios.

78

Frmula Visual RM 11.00


Prtica 04 Criando coluna em uma viso

79

Frmula Visual RM 11.00


Prtica 04 Observaes

At a verso atual do produto, o recurso de frmulas visuais est vinculado a cadastros e processos, conforme a ilustrao ao lado. Observe que todos os gatilhos disponveis so disparados partir de uma dessas funcionalidades. Boa parte das dificuldades de utilizao podem surgir sobre quais as propriedades de cada atividade deve ser utilizada em cada gatilho.

80

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo

Prtica 05: criar uma frmula visual que possa ser chamada partir de uma viso, como um processo. Este processo dever aumentar em 10% o salrio de todos os funcionrios selecionados na viso cujo salrio seja menor que 1000,00.

81

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo
Passo 01) Cadastrar a nova frmula visual

82

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo
Passo 02) Acrescentar uma atividade Para cada Iterao, setando sua propriedade Lista de Itens conforme a ilustrao.

83

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo

Passo 02) Como ser necessrio executar uma srie de atividades em sequencia para atingirmos o objetivo final, precisaremos ento acrescentar dentro da atividade anterior uma atividade de sequncia.

84

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo

Passo 03) Ser necessrio avaliar o valor atual do salrio do funcionrio selecionado. Para isso, ser includa a atividade se/seno, cuja condio de regra declarativa ser setada conforme ilustrao abaixo:

85

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo

Passo 04) Sempre que se desejar alterar um registro, necessrio ler o mesmo atravs da atividade Ler de Registro. Logo, vamos acrescentar essa atividade e configurar a sua propriedade Nome do DataServer para ler do cadastro de funcionrios.

86

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo

Passo 05) Configurar a chave primria da leitura, para que a atividade faa a leitura correta do registro. Observe que a origem do registro lido A ATIVIDADE rmsForEachActivity!

87

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo

Passo 06)

Para realizar o clculo do salrio (salrio atual + 10%), utilizaremos a atividade Expresso, configurando sua frmula conforme ilustrao abaixo.

88

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo

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

89

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo
Passo 08) Para gravar as alteraes, ser necessrio incluir uma atividade do tipo Salvar Registro. A propriedade Nome do Dataserver deve ser idntica da atividade de leitura. A propriedade Fonte de Dados deve ser configurada conforme ilustrao.

90

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo
Passo 09) Por fim, ser necessrio associar a Frmula Visual um processo de um cadastro. No nosso caso em especial, esse processo deve ser a viso do cadastro de funcionrios

91

Frmula Visual RM 11.00


Prtica 05 Criando uma Frmula Visual de Processo
Passo Final) Agora, s testar a atividade de frmula visual no cadastro de funcionrio

92

Frmula Visual RM 11.00


Prtica 05 Observaes

Identificamos que para se realizar qualquer alterao no banco de dados, necessrio utilizar no mnimo 3 atividades: Ler Registro, expresso e Salvar Registro; Identificamos tambm que necessria a utilizao de uma atividade do tipo para cada iterao sempre que desejarmos executar atividades para uma lista ou coleo de itens/registros.

93

Frmula Visual RM 11.00


Prtica 06 Complementando a atividade anterior : E-Mail

Prtica 06: Acrescentar o envio de e-mail atividade anterior.

94

Frmula Visual RM 11.00


Prtica 06 Complementando a atividade anterior : E-Mail
Passo 01) Acrescentar a atividade de envio de E-Mail, configurando a prop. Destinatrios conforme abaixo.

95

Frmula Visual RM 11.00


Prtica 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 iterao. Utilizamos AsStringArray por que a propriedade Destinatrio espera um array de endereos (mesmo que tenha apenas um item).

96

Frmula Visual RM 11.00


Prtica 06 Complementando a atividade anterior : E-Mail
Passo 02)

Para se criar uma mensagem do e-mail individualizada, utilizaremos uma atividade Expresso. Basta inclu-la no diagrama conforme ilustrao ao lado, configurando sua expresso conforme imagem abaixo:

97

Frmula Visual RM 11.00


Prtica 06 Complementando a atividade anterior : E-Mail

Passo 04) Precisamos ento direcionar o valor da expresso para a propriedade do corpo da mensagem da atividade de envio de e-mails. Faremos isso na propriedade Valor Calculado da frmula recm adicionada:

98

Frmula Visual RM 11.00


Prtica 06 Complementando a atividade anterior : E-Mail

Passo 05) Na execuo da formula visual, podem ocorrer erros durante sua chamada (EMail no existe, registro nulo, etc...) Podemos ento tratar estes erros em algumas atividades atravs da opo Exibir manipuladores de Fault.

99

Frmula Visual RM 11.00


Prtica 06 Complementando a atividade anterior : E-Mail
Passo 05) Devemos ento soltar uma atividade do tipo tratar exceo dentro da atividade faultHandlerActivity . A atividade de falta ficar ento como na figura abaixo:

100

Frmula Visual RM 11.00


Prtica 06 Complementando a atividade anterior : E-Mail
Passo 06) possvel ento determinar uma ao a ser tomada de acordo com a exceo ocorrida. Neste exemplo, vamos informar a exceo do tipo mais primitivo o possvel, garantindo ento que a ao 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 especfica informando o erro

101

Frmula Visual RM 11.00


Prtica 06 Complementando a atividade anterior : E-Mail
Passo 06) Selecionar a atividade e exceo e informar a propriedade Fault Type conforme ilustrao.

102

Frmula Visual RM 11.00


Prtica 06 Complementando a atividade anterior : E-Mail

Passo 07) Precisamos ento 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 AUXLIO DO INSTRUTOR!

103

Frmula Visual RM 11.00


Atividade Executar Processo

Realiza a chamada a um processo; Quando vinculada um cadastro, pode ser amarrada ao mesmo atravs da propriedade Tabela de chave Primria. Apenas parmetros simples so exibidos na aba de propriedades

104

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos

Prtica 06: Criar uma frmula visual que ir encadear a execuo de 2 processos na emisso de um cheque

105

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos

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

106

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos
Passo 02) Observe tambm que o processo de Compensao pede um parmetro: a data de compensao:

107

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos

Passo 03) Iremos executar duas atividades: uma para gerar o cheque e outra para compens-lo. Vamos ento adicionar 3 atividades ao nosso diagrama: duas para a execuo de processo e uma atividade de Expresso, que ser utilizada para o preenchimento do parmetro do segundo processo.

108

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos
Passo 03) Na primeira atividade de processo, informar conforme ilustrao o processo a ser chamado e a tabela de chave primria. Observe que nenhum parmetro de processo aparece na aba propriedades.

109

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos
Passo 05) Na segunda atividade de processo, informar conforme ilustrao o processo a ser chamado e a tabela de chave primria. Observe o parmetro (Data de compensao) de processo que aparece na aba propriedades.

110

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos
Passo 06) Na atividade de Expresso, digitaremos na propriedade expresso a funo Today, que retorna a data atual do sistema. Observe que o parmetro do processo no aparece na listagem de propriedades da segunda atividade de execuo de processo. Logo, precisaremos ligar essa propriedade na prpria atividade...

111

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos
Passo 07) Configurar o parmetro Data de compensao para receber o valor calculado da atividade de Expresso. Observe que necessrio informar o tipo correto do parmetro.

112

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos
Passo Final) Associar a formula ao cadastro de Extrato de Caixa, na aba Processos de Workflow

113

Frmula Visual RM 11.00


Prtica 07 Execuo de Processos
Cadastrar um novo cheque e testar o processo de frmula visual.

114

Frmula Visual RM 11.00


Prtica Final Frmula Visual

Sem o auxlio do instrutor: crie um novo campo complementar no cadastro de funcionrios, e em seguida, crie uma frmula visual para forar o preenchimento deste campo na edio do registro.

115

Frmula Visual RM 11.00


Prtica 07 Observaes Importantes
possvel disparar a execuo de processos pela frmula visual; Processos que esto vinculados um ou mais cadastros podem ser vinculados atravs da propriedade tables. Parmetros simples podem ser preenchidos na aba de propriedades;

Observao: parmetros complexos (listas, arrays e datasets) podem ser preenchidos, desde que o desenvolvedor crie um designer editor para o referido tipo de propriedade. A tendncia a de que o usurio no necessite utilizar as atividades de execuo de processo em um futuro breve, pois as equipes de desenvolvimento podero criar atividades especficas para o mesmo fim.

116

Frmula Visual RM 11.00


At onde posso chegar com as Frmulas Visuais?

Posso Chegar Criar novas regras de validao de um cadastro com base nele mesmo ou em outros cadastros, desde que no viole a integridade referencial de um registro no banco. Automatizar tarefas encadeando leituras e gravaes, e execuo de processos atravs da Frmula Visual. Criar novas colunas e restries em cadastros j existentes At onde a sua criatividade (e a atividade) permitir...

117

Frmula Visual RM 11.00


At onde posso chegar com as Frmulas Visuais?

No Posso Chegar A frmula visual no um recurso completo de Frmula Visual. Portanto, no ser possvel criar uma regra de aprovao de requisies (por exemplo) em um nico diagrama. No ser possvel obrigar o cadastro de um registro em uma tabela filha partir do cadastro de item em sua tabela me. No possvel chamar cadastros ou telas de dilogo atravs das frmulas visuais.

118

Frmula Visual RM 11.00

QUESTES ?
Christiano Coutinho

christiano.coutinho@totvs.com.br

119