Fórmula Visual
1
Fórmula Visual
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.
2
Fórmula Visual
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)
3
Fórmula Visual
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
4
Fórmula Visual
Prática 02 – Utilizando a atividade “Consulta SQL”
Passo 1) Criar Fórmula Visual
5
Fórmula Visual
Prática 02 – Utilizando a atividade “Consulta SQL”
Passo 3)
inserindo
atividades:
Criar Diagrama,
na
ordem
as
• ConsultaSQL
• Se/Senão
• Gerar Exceção
(Conforme imagem ao lado)
6
Fórmula Visual
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.
7
Fórmula Visual
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.
8
Fórmula Visual
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.
9
Fórmula Visual
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.
10
Fórmula Visual
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
11
Fórmula Visual
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!”
12
Fórmula Visual
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”
13
Fórmula Visual
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.
14
Fórmula Visual
Prática 02 – Utilizando a atividade “Consulta SQL”
15
Fórmula Visual
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 e alterar
esses dependentes. É necessário então alterar a expressão para que a
mesma identifique se a operação é de exclusão ou alteração.
this.rmsConsSQLActivity1.Fields["QTD"].AsInteger > 3
&&
this.Tables[0].Row.RowState != System.Data.DataRowState.Deleted
&&
this.Tables[0].Row.RowState != System.Data.DataRowState.Modified
16
Fórmula Visual
Prática 02 – Utilizando a atividade “Consulta SQL”
• Registro Excluído:
• System.Data.DataRowState.Deleted
• Registro Incluído:
• System.Data.DataRowState.Detached
• Registro Alterado:
• System.Data.DataRowState.Modified
17
Fórmula Visual
Prática 02 – 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 para não fazer confusão entre Fields da atividade e
Fields da fórmula visual!
18
Download

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