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
N° | Nome do Parâmetro | Descrição do Parâmetro | Obrigatoriedade |
---|---|---|---|
1 | ExecuteCode | Código à ser executado | OBRIGATÓ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
N°
Nome do Parâmetro
Descrição do Parâmetro
Obrigatoriedade
Estado | ||||
---|---|---|---|---|
|
Estado | ||||
---|---|---|---|---|
|
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.
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:
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" 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 |
---|
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;
} |
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
N° | Componente | Descrição do Componente |
---|---|---|
1 | Ícone de Status | Situação da Aplicação / Situação do Processo Executado (Visual) |
2 | Situação da Aplicação / Situação do Processo Executado | Aqui é 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). |
3 | Descriçã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). |
4 | Verificação Rápida | Realiza uma verificação superficial dos serviços do RM. |
5 | Verificação Completa | Realiza uma verificação de todos os serviços do RM. |
6 | Recuperar Serviços | O 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 | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||
|
Informações | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||
|