Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Índice:
Objetivo:
Este documento tem por objetivo especificar a atividade “Localizar Registro na Tabela” disponível na Fórmula Visual.
Especificação:
A atividade “Executar Código Fonte” “Localizar Registro na Tabela” é uma atividade que permite que um código (que varia de Levantar uma Exceção à realizar rotinas de Selecionar Dados de Tabelas do Banco, entre outras ) seja executado. Devido a sua complexidade,esta atividade exige um nível de conhecimento avançado em Fórmula Visual e em codificação.registro especifico de uma tabela específica seja localizada. No exemplo que será utilizado abaixo iremos, ao editarmos um usuário, enviar um e-mail informando que o usuário "X" foi modificado.
Image AddedImage Removed
Para começarmos a utilizar a atividade, temos que conhecer os parâmetros que ele recebe.
Image RemovedImage Added
N° | Nome do Parâmetro | Descrição do Parâmetro | Obrigatoriedade |
---|---|---|---|
1 |
KeyFields | Campos que serão utilizados como chave de pesquisa (separados por vírgula) |
| |||||||
2 | Tabela | Tabela cujo registro será localizado |
|
1) Existem duas formas de preencher a Propriedade ExecuteCode: Primeiramente iremos preencher a tabela à qual o registro será localizado (recuperado).
Clique 1.1) Clicando no Ícone Amarelo ao lado da Propriedade ExecuteCodeTabela, ou no botão [...] que aparece ao lado da mesma propriedade, a tela abaixo irá aparecer.
Image Added
Image AddedImage Removed
1.2) Clicando duas vezes em cima da Propriedade ExecuteCode, um console de programação .Net irá aparecer abaixo do diagrama do Workflow.
Image Removed
A funcionalidade de Executar Código aparece também clicando:
2) Na parte branca do Workflow, através do Grupo Manipuladores:
Agora devemos preencher a Propriedade KeyFields
Como escolhemos a tabela PFUNC (Funcionários) devemos informar suas chaves primárias, separadas por vírgula:
- CODCOLIGADA
- CHAPA
Image Added
3) Agora iremos preencher os parâmetros que foram criados dinamicamente à partir da propriedade KeyFields (CHAPA e CODCOLIGADA)
Image AddedImage Removed
N° | Nome do Parâmetro | Descrição do Parâmetro | Obrigatoriedade |
---|---|---|---|
1 |
CODCOLIGADA | Valor da Coligada que será utilizada para recuperar um registro específico |
|
|
| ||
2 |
CHAPA | Valor da Chapa do Funcionário que será utilizada para recuperar um registro específico |
|
|
Tanto para a Propriedade Completed, quanto para a Propriedade Initialized, existem duas formas de preenchê-las, são elas:
|
42.1) Clicando no Ícone Amarelo ao lado das Propriedades Initialized / Completed da Propriedade CODCOLIGADA , ou no botão [...] que aparece ao lado das mesmas propriedadesda mesma propriedade, a tela abaixo irá aparecer.
InitializedImage Added
2.2) Clicando duas vezes em cima das Propriedades Initialized / Completed, um console de programação .Net irá aparecer abaixo do diagrama do Workflow.
3) Na atividade Se / Senão.
3.1) No Grupo Condições Escolher Condição de Código
Image Removed
3.2) Existem duas formas de preencher a Propriedade Condition:
Image Added
5) Clicando no Ícone Amarelo ao lado da Propriedade CHAPA, 3.2.1) Clicando no Ícone Amarelo ao lado da Propriedade Condition, ou no botão [...] que que aparece ao lado da mesma propriedade, a tela abaixo irá aparecer.
Image Added
Image Removed
3.2.2) Clicando duas vezes em cima da Propriedade Condition, um console de programação .Net irá aparecer abaixo do diagrama do Workflow.
Image Removed
A diferença do console da Propriedade Condition é que ela já vem por padrão com a linha args.Result = true;.
Como é uma atividade que necessita definir uma condição, o resultado desse código deve ser um valor booleano (ou lógico), true ou false.
Exemplo de Utilização da Atividade
EXEMPLO 1:
Iremos utilizar a atividade "Executar Web Service" em conjunto com a atividade "Executar Código".
1) Configure a atividade de Web Service [Utilizando a atividade "Executar Web Service"]
Image Removed
2) Defina o Retorno como uma Nova Propriedade clicando no botão [...] à frente da Propriedade Retorno
Image Removed
2.1) A tela da Atividade ficará assim:
Image Removed
3) Vamos gerar uma exceção trazendo o retorno do Web Service
Image Removed
O Resultado é o mesmo das telas apresentadas abaixo:
Image Removed
Image Removed
EXEMPLO 2:
Iremos utilizar a atividade "Executar Consulta SQL" em conjunto com as atividades "Executar Código" e "Enviar E-mail".
Image Removed
1) Configure a atividade de Consulta SQL [Utilizando a atividade "Consulta SQL"]
Image Removed
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
SELECT XMLNFE FROM TNFEMUNICIPAL (NOLOCK) WHERE CODCOLIGADA = 1 AND IDMOV = 2231 |
2) Configure a atividade de "Executar Código Fonte".
Image Removed
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
string Xml = null;
private void codeActivity1_ExecuteCode(object sender, System.EventArgs args)
{
string xml = Convert.ToString(this.rmsConsSQLActivity1.Tables[0].Row[0]);
System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
this.XmlResultEmail = encoding.GetBytes(xml);
} |
title | OUTROS EXEMPLOS DE CÓDIGO |
---|
Image Added
6) Ao término da configuração da Atividade "Localizar Registro na Tabela", vamos configurar agora a atividade "Enviar E-mail" [Utilizando a Atividade Enviar E-mail]
Image Added
6.1) Na imagem acima, foi preenchido:
Nº | Propriedade | Valor | Descrição / (Valor Amigável) |
---|---|---|---|
1 | Assunto | Activity=rmsFindRecordActivity1, Path=Fields["NOME"].AsString | Coluna NOME da tabela PFUNC |
2 | Destinatários | Matriz String[] | Conjunto de endereços de e-mail |
3 | Remetente | Company | O Remetente do e-mail será a própria empresa (COLIGADA do contexto) |
4 | Texto do e-mail | Foi realizado alteração no funcionário objeto desse e-mail | Texto que será apresentado no Corpo do e-mail |
O E-mail enviado será como a imagem abaixo:
Image Added
Image Added
EXEMPLO (Geração de Erro com conteúdo de SQL de uma Atividade Consulta SQL e retornando um erro):
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
string Xml = null;
private void codeActivity1_ExecuteCode(object sender, System.EventArgs args)
{
string xml = Convert.ToString(this.rmsConsSQLActivity1.Tables[0].Row[0]);
this.rmsThrowActivity1.Message = "Erro"+xml;
//this.XmlResult = xml;
// outra opção que pode ser utilizada para passar o conteúdo para a Gera Exceção, porém é necessário criar um novo campo na Atividade Gera Exceção, através da Aba "Associar a um novo membro"
} |
EXEMPLO Geração de Erro com conteúdo de SQL de dentro da Atividade Executar Código e retornando um erro:
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
string Xml = null;
private void codeActivity1_ExecuteCode(object sender, System.EventArgs args)
{
string xml = Convert.ToString(DBS.QueryValue("", "SELECT XMLNFE FROM TNFEMUNICIPAL (NOLOCK) WHERE CODCOLIGADA = 1 AND IDMOV = 2231"));
this.rmsThrowActivity1.Message = "Erro"+xml;
} |
3) Configure a atividade de "Enviar E-mail" [Utilizando a atividade "Enviar E-mail"].
Image Removed
4) Ao executar a Fórmula Visual o E-mail com o XML da Nota Fiscal Eletrônica (Exemplo Utilizado) será enviado aos destinatários configurados.
Image Removed
Image Removed
Image Removed
Informações | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
|
Informações | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
|