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 “Executar Código Fonte” disponível na Fórmula Visualo bloco Saúde da Aplicação do Cockpit.

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.

Image Removed

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

Image Removed

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.

Image 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:

Image Removed

Nome do Parâmetro

Descrição do Parâmetro

Obrigatoriedade

1CompletedCódigo à ser executado no momento em que a execução do WorkFlow termina.
Estado
colourYellow
titleOpcional
2InitializedCódigo à ser executado no momento em que a execução do WorkFlow se inicia.
Estado
colourYellow
titleOpcional

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
Image Removed
Image Removed

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
Image Removed
Image Removed

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:

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.

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" "Enviar E-mail".

Image Removed

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

Image Removed

Bloco de código
languagesql
firstline1
titleConsulta SQL FVXML01
linenumberstrue
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
languagec#
firstline1
titlecodeActivity1: ExecuteCode
linenumberstrue
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); 
}
Informações
titleOUTROS EXEMPLOS DE CÓDIGO

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

Bloco de código
languagec#
firstline1
titlecodeActivity1: ExecuteCode
linenumberstrue
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
languagec#
firstline1
titlecodeActivity1: ExecuteCode
linenumberstrue
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;
}

 Para acessar a tela do Cockpit acesse, em qualquer módulo, o Menu Ambiente >> Cockpit, 

Image Added


Na tela do Cockpit, observe que para cada servidor conhecido, um bloco de informações é apresentado. Esse bloco de informações possui grupos distintos, que são: 

  • Processos
  • Servidores de Aplicação
  • Saúde da Aplicação

Nesse documento iremos explicar apenas o bloco "Saúde da Aplicação".

Image Added


Vamos descrever os componentes desse grupo.

Image Added


Componente

Descrição do Componente

1Ícone de StatusSituação da Aplicação / Situação do Processo Executado (Visual)
2Situação da Aplicação / Situação do Processo ExecutadoAqui é apresentado de forma textual a situação da aplicação / situação do processo executado dentro do grupo "Saúde da Aplicação". Refere-se aos processos executados pelos botões (4, 5 e 6).
3Descrição dos Serviços Indisponíveis.Aqui é apresentado de forma textual os serviços indisponíveis que poderão ser recuperados através do Processo de Recuperar Serviços (Botão 6).
4Verificação RápidaRealiza uma verificação superficial dos serviços do RM.
5Verificação CompletaRealiza uma verificação de todos os serviços do RM.
6Recuperar ServiçosO processo de Recuperar Serviços tentará recuperar todos os serviços que por algum motivo se tornaram indisponíveis.


Vamos Iniciar a Verificação Rápida para tentar descobrir se algum serviço está indisponível e poderá impactar na Saúde da Aplicação.

1- Clique no botão Verificação Rápida (4):

Image Added

Você pode perceber que a verificação foi feita e não foi identificado serviço indisponível algum, o que é um ótimo indicativo. Vamos prosseguir e iniciar agora a Verificação Completa para ter certeza que realmente não há nenhum serviço indisponível que poderá impactar na Saúde da Aplicação.


2 - Clique no botão Verificação Completa (5):

Você poderá obter 2 resultados: 

  • Sucesso

Image Added

Caso a Verificação Completa termine em sucesso, quer dizer que todos os serviços do RM estão ativos e disponíveis para uso, ou seja, a aplicação estará em sua atividade plena.

  • Falha

Image Added

Caso a Verificação Completa termine em falha, verifique:

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
  • O Status da Aplicação:
    • se o Ícone (1) for amarelo (atenção) e o Texto (2) for "Indisponível", confira em seguida o campo Serviços Indisponíveis (3) e verifique se algum serviço foi apresentado. Caso algum serviço tenha sido apresentado selecione-o, e clique no botão Recuperar Serviços (6).
    • se o Ícone (1) for vermelho (critico) e o Texto (2) for "Indisponivel", algum problema ocorreu no processo de Verificação, então execute novamente o processo de Verificação Completa.


Informações
iconfalse
Informações
iconfalse

Produto: Framework

Informações
iconfalse

Versão: 12.1.17 ou Superior

Informações
iconfalse

Processo: Atividade "Executar Código Fonte" da Fórmula Visual Saúde da Aplicação - Cockpit

Informações
iconfalse
Informações
iconfalse

Status: Finalizado

Informações
iconfalse

Data:  

Informações
iconfalse

Autores:

Alexandre de Sousa José

Carlos Philippe de Farias Marques

Carlos Roberto Pereira Garcia

Diogo Damiani Ferreira

Stella Gleyse Macedo Vilaca

Fábio Augusto Amaral Melo Nunes

Informações
iconfalse