Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice:


Objetivo:


          Esse documento possui a finalidade de exemplificar a utilização da atividade de fórmula visual Executar Código Fonte para personalizar a execução de processos. Utilizaremos o processo de cópia de perfis neste exemplo.

         Para maiores detalhes da criação e acesso a fórmulas visuais, acesse a documentação Fórmula Visual - RM

Especificação:


     A atividade “Executar Código Fonte” é uma atividade que permite que um código (que varia de Levantar uma Exceção à


Informações
iconfalse
Deck of Cards
idExemploFV
Card
idExemploFV
labelPasso 01

Crie uma nova fórmula visual e edite a mesma. A esquerda, clique na aba Atividades e arraste a atividade de Executar Código Fonte para o fluxo de trabalho da fórmula.

Depois de arrastar a atividade para o fluxo, clique com o botão direito do mouse e acesse a opção “Selecionar código fonte”.

Card
idExemploFV
labelPasso 02

Inclua um novo registro, preencha o campo Nome do código fonte e posteriormente clique no botão Editor C#

Na janela aberta é disponibilizado um NameSpace com uma classe pré criada para personalizarmos a execução do nosso processo. Nessa janela possuímos recursos para executar o Build do código fonte e adicionar referências necessárias para a nossa classe entre outros.

Como vamos personalizar um processo, utilizaremos o método CustomProcess

Card
idExemploFV
labelPasso 03

Para manipular a classe de parâmetros do processo de cópia de perfis, é necessário referenciar a dll que contém a definição da mesma, para isso, acessamos o Project Explorer (no canto direito da janela), selecionamos o item References, clicamos com o botão direito e selecionamos a opção Add Reference...

Na janela aberta, selecionamos a aba Browse, e clicamos no botão Browse

Card
idExemploFV
labelPasso 04

Para acessar as propriedades da classe de parâmetros do processo, é necessário realizar um CAST do objeto genérico processParams.ParamsProc para o tipo da classe de parâmetros do processo que escolhemos (RM.Glb.Processos.GlbParamsProcCopyPerfil). Observe que após realizar o cast, as propriedades da classe de parâmetros do nosso processo estarão disponíveis através do intelisense da atividade.

A partir daí, podemos manipular as informações da forma como desejarmos, e nesse exemplo utilizamos o recurso para:

  • Forçar a criação de um novo perfil;
  • Não permitir a substituição de registros existentes
  • Verificar se todos os campos foram preenchidos e lançar exceções caso contrário
  • Adicionar a string “**Cópia** ” na identificação do perfil resultante do processo de cópia

Método ficou assim:

Bloco de código
languagec#
  public void CustomProcess(RM.Con.SourceCode.Intf.SrcProcessParams processParams)
   {
     // força que seja criado um novo registro
     ((RM.Glb.Processos.GlbParamsProcCopyPerfil)processParams.ParamsProc).GenerateNewRecord = true;
       
     // impossibilita a substituição de recursos existentes
     if (((RM.Glb.Processos.GlbParamsProcCopyPerfil)processParams.ParamsProc).ReplaceExistingRecords)
       throw new Exception ("Não é permitido sobrescrever perfis existentes");
     
     // verifica se o código do novo perfil foi informado
     if (string.IsNullOrEmpty(((RM.Glb.Processos.GlbParamsProcCopyPerfil)processParams.ParamsProc).NewProfileCode.Trim()))
       throw new Exception("O código do novo perfil deve ser informado!");
     
     // verifica se o identificador do novo perfil foi informado
     if (string.IsNullOrEmpty(((RM.Glb.Processos.GlbParamsProcCopyPerfil)processParams.ParamsProc).NewProfileId.Trim()))
       throw new Exception("O identificador do novo perfil deve ser informado!");
           
     // verifica se o nome do novo perfil foi informado
     if (string.IsNullOrEmpty(((RM.Glb.Processos.GlbParamsProcCopyPerfil)processParams.ParamsProc).NewProfileName.Trim()))
       throw new Exception("O nome do novo perfil deve ser informado!");
           
     // altera o nome do novo perfil para que seja identificado como uma cópia      
     ((RM.Glb.Processos.GlbParamsProcCopyPerfil)processParams.ParamsProc).NewProfileName = "**Cópia** " + ((RM.Glb.Processos.GlbParamsProcCopyPerfil)processParams.ParamsProc).NewProfileName ;
   }
Informações
iconfalse
Informações
iconfalse

Produto: Framework

Informações
iconfalse

Versão: 12.1.24 ou Superior

Informações
iconfalse

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

Informações
iconfalse
Informações
iconfalse

Status: Em Montagem

Informações
iconfalse

Data: 21/10/2019

Informações
iconfalse

Autores:

Aline Cristina Braz de Oliveira

Erlon Cesar Lima De Freitas

Gustavo Naves De Castro

Usuário desconhecido (igor.rodrigues)

LUCAS ANDRADE DE OLIVEIRA REIS

Renan Ramos Moura

TIAGO ANDRADE GOMES SILVEIRA

Wesley Avelino De Carvalho

Informações
iconfalse