Páginas filhas
  • CRIAÇÃO FÓRMULA VISUAL - Copiar Dados Contador/Representante entre Filiais

Versões comparadas

Chave

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

Image ModifiedObjetivo

Este documento visa demonstrar como implementar uma fórmula visual no RM Gestão Fiscal para copiar/alterar dados cadastrais do Contador [1] das Filiais (o mesmo procedimento serve para os dados do Representante. Também podendo ser utilizado para outras necessidades).

Image ModifiedNecessidade

Quando um Representante ou um Contador precisam ter seus dados incluídos/alterados em uma ou mais Filiais, o procedimento é realizado Filial por Filial, tornando-se um processo lento e passível de erros.

Image ModifiedSolução

Foi criada uma Fórmula Visual buscando facilitar o processo citado, de forma que a manipulação dos dados possa ser realizada em massa e minimizando os erros.

Abaixo o passo-a-passo de como criar a Fórmula Visual


Observação: Caso a fórmula visual não seja criada exatamente igual ao passo-a-passo (seguindo inclusive a mesma sequencia) o nome das atividades podem alterar e consequentemente será necessário ajustar os vários parâmetros da fórmula visual para os novos nomes. 


Informações
iconfalse
Deck of Cards
idFormulas
Card
label1º Passo

Para se criar uma Fórmula Visual basta acessar o módulo de Serviços Globais - aba Gestão | Ferramentas de Análise | Fórmula Visual | Fórmula Visual

Expandir
titleImagem


Uma aba se abrirá. Clique em Incluir. 

Expandir
titleImagem

Escolha um nome e a categoria da Fórmula, marque-a como Ativo, e se quiser coloque uma descrição e clique em OK.

Expandir
titleImagem

Card
label2º Passo

Dê um duplo clique na Fórmula criada para abrir sua edição.

Expandir
titleImagem

A seguinte aba irá se abrir, e é aqui que iremos iniciar o desenho de nossa fórmula.

Expandir
titleImagem

Card
label3º Passo

A Fórmula Visual tem por objetivo copiar os dados de uma Filial selecionada para as demais filiais informadas no processo.

Para isto, será necessário adicionar uma validação para que o processo somente execute caso tenha apenas uma filial selecionada. Esta filial selecionada será a origem dos dados que serão copiados para as demais Filiais e a origem deve ser única. Neste 3º passo será adicionado a validação citada acima.


Selecione uma nova atividade de "Se/Senão".

Expandir
titleImagem

Image Added

Arraste para o Fluxo da Fórmula Visual.

Expandir
titleImagem

Image Added

Clique com o botão direito do mouse em um dos lados da atividade "Se/Senão" e selecione a opção Excluir.

Expandir
titleImagem

Image Added

Selecione no lado que ficou da atividade, nas propriedades em Condition seleciona a opção "Condição de Regra Declarativa".

Expandir
titleImagem

Image Added

Expanda a Condition e no campo ConditionName clica nos três pontinhos (...).

Expandir
titleImagem

Image Added

Adicione uma nova Condition com a informação abaixo. Após isto, salve o registro e selecione a condition.

Informação da Condição: this.Tables[0].DataTable.Rows.Count > 1

Expandir
titleImagem

Image Added

Selecione uma nova atividade de Exceção e arraste para dentro da condição adicionada anteriormente.

Expandir
titleImagem

Image Added

Selecione a atividade de Exceção adicionada no Fluxo, na aba Propriedades adicione a mensagem que será exibida para o usuário.

Obs: A mensagem pode ser customizada conforme a necessidade da empresa.

Expandir
titleImagem

Image Added

Card
label4º Passo

Adicionando a consulta SQL que irá selecionar os dados de da Filial de Origem a serem copiados para a(s) filial(is) de destino.


Selecione uma nova atividade de Consulta SQL e arraste para o Fluxo da Fórmula Visual (Abaixo da atividade Se/Senão adicionada anteriormente).

Expandir
titleImagem

Image Added

Clique com o botão direito do mouse em cima da atividade de Consulta SQL e selecione a opção "Selecionar Consulta SQL".

Expandir
titleImagem

Image Added

Clique no ícone para incluir uma nova consulta e adicione uma consulta SQL que retorne os campos que deseja copiar. Exemplo:


SELECT NOMECONTADOR, CPFCONTADOR, LOGRADCONTADOR, NROLOGRADCONTADOR, COMPLOGRADCONTADOR, TELCONTADOR,
UFCRCCONTADOR, BAIRROCONTADOR, CEPCONTADOR, UFCONTADOR, CODMUNICCONTADOR, EMAILCONTADOR, TIPOINSCRCONTADOR,
DIGITOCRCCONTADOR, CXPOSTALCONTADOR, CEPCXPOSTALCONTADOR, FAXCONTADOR, DDDCONTADOR, DDDFAXCONTADOR,
CELULARCONTADOR, DDDCELCONTADOR, CRCCONTADOR
FROM DFILIAL (NOLOCK)
WHERE CODCOLIGADA = :CODCOLIGADA
AND CODFILIAL = :CODFILIAL


Importante: O SQL deve possuir a coligada e filial como parâmetro no WHERE conforme exemplo acima para conseguir pegar os dados da Filial selecionada.

Expandir
titleImagem

Image AddedImage Added

Selecione a consulta SQL criada anteriormente.

Expandir
titleImagem

Image Added

Selecione a Atividade de Consulta SQL adicionada e preencha os parâmetros nas Propriedades.

CODCOLIGADA: Activity=RMSWorkflow, Path=Tables[0].Item["CODCOLIGADA"].AsShort

CODFILIAL: Activity=RMSWorkflow, Path=Tables[0].Item["CODFILIAL"].AsShort

Expandir
titleImagem

Image Added

Card
label5º Passo

No processo o usuário precisará selecionar a(s) filial(is) de destino para onde os dados serão copiados. Neste passo será criado os parâmetros do processo para o usuário preencher.


Clicar em Fluxo de Trabalho Sequencial e acessar a aba de Propriedades (Essas são as propriedades da Fórmula Visual).

Expandir
titleImagem

Image Added

Na parte de Parâmetros em Definição dos Parâmetros clicar nos três pontinhos (...).

Expandir
titleImagem

Image Added

Clicar no ícone para adicionar uma nova tabela de parâmetros e colocar o nome da tabela = PARAMETROS e clicar em Ok.

Expandir
titleImagem

Image Added

Selecionar a tabela de parâmetros criada na lateral esquerda e preencher os campos conforme abaixo:

CODCOLIGADA - Código da Coligada - Opcional desmarcado - Visível marcado - Tipo System.Int16

CODFILIALINICIAL - Código da Filial de Destino Inicial - Opcional desmarcado - Visível marcado - Tipo System.Int16

CODFILIALFINAL - Código da Filial de Destino Final - Opcional desmarcado - Visível marcado - Tipo System.Int16


Expandir
titleImagem

Image Added

Card
label6º Passo

Adicionando a consulta SQL para retornar os dados da(s) filial(is) de destino que foram selecionadas nos parâmetros.


Selecione uma nova atividade de Consulta SQL e arraste para o Fluxo da Fórmula Visual (Abaixo da outra atividade de Consulta SQL adicionada anteriormente).

Expandir
titleImagem

Image Added

Clique com o botão direito do mouse em cima da atividade de Consulta SQL adicionada no passo anterior e selecione a opção "Selecionar Consulta SQL".

Expandir
titleImagem

Image Added

Clique no ícone para incluir uma nova consulta e adicione uma consulta SQL que retorne os dados da(s) filial(is) de destino. Exemplo:


SELECT * FROM GFILIAL (NOLOCK)
WHERE CODCOLIGADA = :CODCOLIGADA
AND CODFILIAL >= :CODFILIALINICIAL
AND CODFILIAL <= :CODFILIALFINAL


Importante: O SQL deve possuir a coligada, filial inicial e filial final como parâmetro no WHERE conforme exemplo acima para conseguir pegar os dados preenchidos nos parâmetros do processo.


Expandir
titleImagem

Image AddedImage Added

Selecione a consulta SQL criada anteriormente.

Expandir
titleImagem

Image Added

Selecione a Atividade de Consulta SQL adicionada e preencha os parâmetros nas Propriedades.

CODCOLIGADA: Activity=RMSWorkflow, Path=ParameterTables["PARAMETROS"].Item["CODCOLIGADA"].AsShort

CODFILIALFINAL: Activity=RMSWorkflow, Path=ParameterTables["PARAMETROS"].Item["CODFILIALFINAL"].AsShort

CODFILIALINICIAL: Activity=RMSWorkflow, Path=ParameterTables["PARAMETROS"].Item["CODFILIALINICIAL"].AsShort


Expandir
titleImagem

Image Added

Card
label7º Passo

Será necessário validar se os filtros informados pelo usuário no processo encontrou pelo menos uma filial de destino.


Selecione uma nova atividade de Se/Senão e arraste para o Fluxo da Fórmula Visual (Abaixo da segunda atividade de Consulta SQL adicionada no passo anterior).

Expandir
titleImagem

Image Added

Clique com o botão direito do mouse em um dos lados da atividade "Se/Senão" adicionada anteriormente e selecione a opção Excluir.

Expandir
titleImagem

Image Added

Selecione no lado que ficou da atividade, nas propriedades em Condition seleciona a opção "Condição de Regra Declarativa".

Expandir
titleImagem

Image Added

Expanda a Condition e no campo ConditionName clica nos três pontinhos (...).

Expandir
titleImagem

Image Added

Adicione uma nova Condition com a informação abaixo. Após isto, salve o registro e selecione a condition que acabou de ser criada.

this.rmsConsSQLActivity2.Tables[0].DataTable.Rows.Count == 0

Expandir
titleImagem

Image Added

Selecione uma nova atividade de Exceção e arraste para dentro da condição adicionada anteriormente.

Expandir
titleImagem

Image Added

Selecione a atividade de Exceção adicionada anteriormente, na aba Propriedades adicione a mensagem que será exibida para o usuário.

Obs: A mensagem pode ser customizada conforme a necessidade da empresa.

Expandir
titleImagem

Image Added

Card
label8º Passo

Como pode encontrar várias filiais de destino, será necessário percorre-las para executar a copia em cada filial.


Selecione uma nova atividade de ForEach e arraste para o Fluxo da Fórmula Visual (Abaixo da segunda atividade de Se/Senão adicionada no passo anterior).

Expandir
titleImagem

Image Added

Selecione a atividade de ForEach adicionada, acesse a aba Propriedades e clique no ícone Ligações.

Expandir
titleImagem

Image Added

No campo Lisa de Items, apague a informação (nenhum) e preencha o campo com o valor abaixo:

Activity=rmsConsSQLActivity2, Path=Tables[0].Rows

Expandir
titleImagem

Image Added

Selecione uma nova atividade de Sequência e arraste para dentro do ForEach adicionada anteriormente.

Expandir
titleImagem

Image Added

Card
label9º Passo

Abrindo o DataSet da(s) Filial(is) de Destino para poder copiar as informações.


Selecione uma nova atividade de Ler Registro e arraste para dentro da atividade de Sequencia adicionada no passo anterior.

Expandir
titleImagem

Image Added

Selecione a atividade de Ler Registro adicionada, na aba Propriedades preencha o Nome do DataServer = FisFilialFiscalData e aperte Tab no teclado.

Expandir
titleImagem

Image Added

Preencha os campos abaixo com as seguintes informações:

Código da Coligada: Activity=rmsForEachActivity1, Path=Fields["CODCOLIGADA"].AsShort

Código da Filial: Activity=rmsForEachActivity1, Path=Fields["CODFILIAL"].AsShort

Expandir
titleImagem

Image Added

Card
label10º Passo

Copiando as informações para a(s) filial(is) de destino. 


IMPORTANTE: No exemplo informamos apenas o Nome e o Bairro do Contador. Pode adicionar mais campos conforme a necessidade da empresa. O mesmo processo é utilizado para as informações do Contador e Representante. Então, caso queira preencher outros campos, basta adicionar uma Expressão para cada campo desejado e informar o nome do campo na base de dados. Abaixo exemplo dos dois campos.


Selecione uma nova atividade de Expressão e arraste para dentro da atividade de Sequencia, abaixo da atividade de Ler Registro.

Expandir
titleImagem

Image Added

Selecione a atividade de Expressão adicionada, na aba Propriedades preencha os campos abaixo:

Expressões: Valor Original (Ex: rmsConsSQLActivity1.NOMECONTADOR)

Valor Calculado: Campo de Destino (Ex: Activity=rmsReadRecordActivity1, Path=Fields["NOMECONTADOR"].AsString)

Obs: Para os demais campos desejados, basta mudar o nome do campo nos parâmetros acima. Este exemplo é do campo NOMECONTADOR.

Expandir
titleImagem

Image Added

Exemplo de uma nova Expressão adicionada para o Bairro do Contador.

Expressões: rmsConsSQLActivity1.BAIRROCONTADOR

Valor Calculado: Activity=rmsReadRecordActivity1, Path=Fields["BAIRROCONTADOR"].AsString

Expandir
titleImagem

Image Added


Observação: Pode-se adicionar quantas expressões forem necessárias. Uma para cada campo que deseja copiar, com as suas origens e destinos preenchidos corretamente conforme demonstrado acima.

Card
label11º Passo

Fechando o DataSet da(s) Filial(is) de Destino após copiar as informações.


Selecione uma nova atividade de Salvar Registro e arraste para dentro da atividade de Sequencia adicionada no passo anterior (Abaixo das Expressões).

Expandir
titleImagem

Image Added

Selecione a atividade de Salvar Registro adicionada, na aba Propriedades preencha o campo Atividade Ler Registro com a atividade adicionada no Passo 9.

Expandir
titleImagem

Image Added

20º Passo
Card
label12º Passo

Salvando a Fórmula Visual.


Clique no ícone Salvar para que a fórmula visual criada seja salva.

Expandir
titleImagem

Image Added

Card
label11º Passo
Card
label12º Passo
Card
label13º Passo
Card
label14º Passo
Card
label15º Passo
Card
label16º Passo
Card
label17º Passo
Card
label18º Passo
Card
label19º Passo
Card
label



Para começar a utilizar as Fórmulas Visuais basta seguir o seguinte passo-a-passo


Informações
iconfalse
Após todos os passos


Deck of Cards
idConfigurando



Card
label2º Passo

As fórmulas Visuais podem ser importadas e exportadas.

Para isto, basta seguir procedimento de Importação disponível no link abaixo:


Importar/Exportar Fórmula Visual

Card
label3º Passo

Após importadas as Fórmulas devemos acessar Gestão Fiscal | Cadastros | Globais | Filiais | Processos | Fórmula Visual | Gerenciar

Expandir
titleImagem

Card
label4º Passo

A seguinte janela de Gerenciamento de Fórmula Visual se abrirá.

Basta selecionar a aba Processos de Fórmula Visual e clicar no ícone de Processos - Adicionar Fórmula Visual (destacado em vermelho)

Expandir
titleImagem

Card
label5º Passo

A janela de Fórmula Visual se abrirá.

Expandir
titleImagem

Basta selecionar a fórmula desejada, clicar em OK. O registro ficará da seguinte forma:

Expandir
titleImagem

Card
label6º Passo

Após todos os passos, chegou o momento em que iremos utilizar a Fórmula Visual, para isto basta acessar Gestão Fiscal | Cadastros | Globais | Filiais 

No exemplo, iremos utilizar apenas uma Filial nº 1.

Vamos selecionar a Filial citada, editá-la, clicar em Anexos | Dados Fiscais e selecionar a aba Contador

Expandir
titleImagem

Card
label7º Passo

Neste passo, vamos alterar alguns dados do Contador.

No exemplo, iremos alterar os campos:

Nome

de: Décio Antonio da Silva 

para: João da Silva

Bairro:

de: Funcionarios

para: São Bento

Realizar as alterações e salvá-las.

Expandir
titleImagem

Card
label8º Passo

Após realizadas as alterações do Contador na Filial 1 (mudanças do campo: nome e bairro) e salvá-las, vamos aplicar as alterações para outras Filiais.

Para isto, vamos selecionar a Filial 1, clicar em Processos | Fórmula Visual | Alterar Dados Contador Por Filial (Fórmula Visual Cadastrada)

Expandir
titleImagem

Card
label9º Passo

Uma janela se abrirá e nela iremos preencher os seguintes dados:

Código da Coligada - O Código da Coligada para que você deseja copiar as alterações feitas. (No exemplo irei utilizar a 1)

Filial início - Corresponde ao Código da Filial Inicial que você deseja iniciar a Cópia. (No exemplo irei utilizar a 2)

Filial Final - Corresponde ao Código da Filial Final que você deseja finalizar a Cópia. (No exemplo irei utilizar a 4)

Expandir
titleImagem

Após preenchidos os dados, basta clicar em executar.

Informações

A Filial Inicial não pode ser maior do que a Filial Final. Ex.:

Filial Início: 4

Filial Final:  2

Card
label10º Passo

Após executado o processo, vamos abrir as Filiais 2, 3 e 4 e verificar se as alterações foram aplicadas.

Deck of Cards
id1
Deck of Cards
id2
Card
labelFilial 2 - Antes

Card
labelFilial 2 - Depois

Card
labelFilial 3 - Antes

Card
labelFilial 3 - Depois

Card
labelFilial 4 - Antes

Card
labelFilial 4 - Depois

...