Índice:


      

Objetivo:


     Este documento tem por objetivo especificar a atividade “Executar Código Fonte” disponível na Fórmula Visual.

Especificação:


     A atividade “Executar Código Fonte” é 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.



Para começarmos a utilizar a atividade, temos que conhecer os parâmetros que ele recebe.


Nome do Parâmetro
Descrição do Parâmetro
Obrigatoriedade
1ExecuteCodeCódigo à ser executadoOBRIGATÓRIO


1) Existem duas formas de preencher a Propriedade ExecuteCode:

1.1) Clicando no Ícone Amarelo ao lado da Propriedade ExecuteCode, ou no botão [...] que aparece ao lado da mesma propriedade, a tela abaixo irá aparecer.


1.2) Clicando duas vezes em cima da Propriedade ExecuteCode, um console de programação .Net irá aparecer abaixo do diagrama do Workflow.



A funcionalidade de Executar Código aparece também clicando:

2) Na parte branca do Workflow, através do Grupo Manipuladores:


Nome do Parâmetro
Descrição do Parâmetro
Obrigatoriedade
1CompletedCódigo à ser executado no momento em que a execução do WorkFlow termina.
OPCIONAL
2InitializedCódigo à ser executado no momento em que a execução do WorkFlow se inicia.
OPCIONAL


Tanto para a Propriedade Completed, quanto para a Propriedade Initialized, existem duas formas de preenchê-las, são elas: 


2.1) Clicando no Ícone Amarelo ao lado das Propriedades Initialized / Completed , ou no botão [...] que aparece ao lado das mesmas propriedades, a tela abaixo irá aparecer.


InitializedCompleted


2.2) Clicando duas vezes em cima das Propriedades Initialized / Completed, um console de programação .Net irá aparecer abaixo do diagrama do Workflow.


InitalizedCompleted


3) Na atividade Se / Senão.

3.1) No Grupo Condições Escolher Condição de Código



3.2) Existem duas formas de preencher a Propriedade Condition:

3.2.1) Clicando no Ícone Amarelo ao lado da Propriedade Condition, ou no botão [...] que aparece ao lado da mesma propriedade, a tela abaixo irá aparecer.



3.2.2) Clicando duas vezes em cima da Propriedade Condition, um console de programação .Net irá aparecer abaixo do diagrama do Workflow.



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"]


 


2) Defina o Retorno como uma Nova Propriedade clicando no botão [...] à frente da Propriedade Retorno



2.1) A tela da Atividade ficará assim



3) Vamos gerar uma exceção trazendo o retorno do Web Service



O Resultado é o mesmo das telas apresentadas abaixo:



EXEMPLO 2: 

Iremos utilizar a atividade "Executar Consulta SQL" em conjunto com as atividades "Executar Código" e "Enviar E-mail".



1) Configure a atividade de Consulta SQL [Utilizando a atividade "Consulta SQL"]



Consulta SQL FVXML01
SELECT XMLNFE FROM TNFEMUNICIPAL (NOLOCK) WHERE CODCOLIGADA = 1 AND IDMOV = 2231


2) Configure a atividade de "Executar Código Fonte".


codeActivity1: ExecuteCode
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); 
}

OUTROS EXEMPLOS DE CÓDIGO

EXEMPLO (Geração de Erro com conteúdo de SQL de uma Atividade Consulta SQL e retornando um erro):

codeActivity1: ExecuteCode
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:

codeActivity1: ExecuteCode
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"].



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.


Produto: Framework

Versão: 12.1.17 ou Superior

Processo: Atividade "Executar Código Fonte" da Fórmula Visual