Image ModifiedObjetivo
Este documento visa demonstrar como implementar uma fórmula visual no RM Gestão Fiscal para copiar/alterar dados cadastrais do Contador Contador [1] das Filiais (o mesmo procedimento serve para os dados do Representante) [1]. 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
Foram criadas Fórmulas Visuais que buscam 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. A Fórmula Visual irá copiar os dados de uma Filial selecionada para outras filiais/coligadas selecionadas pelo usuário durante o processo.
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 |
---|
|
Deck of Cards |
---|
| Card |
---|
| Baixar os arquivos desejados nos links abaixo: Fórmula visual Dados Contador: DADOS DO CONTADOR.zip Fórmula visual Dados Representante DADOS DO REPRESENTANTE.zip Card |
---|
| Importar o arquivo da Fórmula desejada para o RM. Para isso basta seguir procedimento de Importação disponível no link abaixo: Importar Fórmula Visual | 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 |
---|
| Image Added
|
Uma aba se abrirá. Clique em Incluir. Expandir |
---|
| Image Added
|
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 |
---|
| Image Added
|
|
Card |
---|
| Dê um duplo clique na Fórmula criada para abrir sua edição. Expandir |
---|
| Image Added
|
A seguinte aba irá se abrir, e é aqui que iremos iniciar o desenho de nossa fórmula. Expandir |
---|
| Image Added
|
|
Card |
---|
| 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. Adicionando a validação para que não permita executar o processo caso possua mais de uma filial selecionada.
Selecione uma nova atividade de "Se/Senão". Expandir |
---|
| Image Added
|
Arraste para o Fluxo da Fórmula Visual. Expandir |
---|
| 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 |
---|
| Image Added
|
Selecione no lado que ficou da atividade, nas propriedades em Condition seleciona a opção "Condição de Regra Declarativa". Expandir |
---|
| Image Added
|
Expanda a Condition e no campo ConditionName clica nos três pontinhos (...). Expandir |
---|
| 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 |
---|
| Image Added
|
Selecione uma nova atividade de Exceção e arraste para dentro da condição adicionada anteriormente. Expandir |
---|
| 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 |
---|
| Image Added
|
|
Card |
---|
| 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 |
---|
| 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 |
---|
| Image Added
|
Clique no ícone para incluir uma nova consulta e adicione uma consulta SQL que retorne os campos que deseja copiar. Exemplo:
SELECT * 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 |
---|
| Image Added Image Added
|
Selecione a consulta SQL criada anteriormente. Expandir |
---|
| 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 |
---|
| Image Added
|
|
Card |
---|
| 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 |
---|
| Image Added
|
Na parte de Parâmetros em Definição dos Parâmetros clicar nos três pontinhos (...). Expandir |
---|
| 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 |
---|
| 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 |
---|
| Image Added
|
|
Card |
---|
| 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 |
---|
| 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 |
---|
| 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 CODCOLIGADA, CODFILIAL FROM DFILIAL (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 |
---|
| Image Added Image Added
|
Selecione a consulta SQL criada anteriormente. Expandir |
---|
| 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 |
---|
| Image Added
|
|
Card |
---|
| 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 |
---|
| 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 |
---|
| Image Added
|
Selecione no lado que ficou da atividade, nas propriedades em Condition seleciona a opção "Condição de Regra Declarativa". Expandir |
---|
| Image Added
|
Expanda a Condition e no campo ConditionName clica nos três pontinhos (...). Expandir |
---|
| 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 |
---|
| Image Added
|
Selecione uma nova atividade de Exceção e arraste para dentro da condição adicionada anteriormente. Expandir |
---|
| 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 |
---|
| Image Added
|
|
Card |
---|
| 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 |
---|
| Image Added
|
Selecione a atividade de ForEach adicionada, acesse a aba Propriedades e clique no ícone Ligações. Expandir |
---|
| Image Added
|
No campo Lista de Items, apague a informação (nenhum) e preencha o campo com o valor abaixo: Activity=rmsConsSQLActivity2, Path=Tables[0].Rows Expandir |
---|
| Image Added
|
Selecione uma nova atividade de Sequência e arraste para dentro do ForEach adicionada anteriormente. Expandir |
---|
| Image Added
|
|
Card |
---|
| 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 |
---|
| Image Added
|
Selecione a atividade de Ler Registro adicionada, na aba Propriedades preencha o Nome do DataServer = FisFilialFiscalData e aperte Tab no teclado. Expandir |
---|
| 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 |
---|
| Image Added
|
|
Card |
---|
| 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 |
---|
| 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 |
---|
| 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 |
---|
| 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 |
---|
| 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 |
---|
| 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 |
---|
| Image Added
|
|
Card |
---|
| Salvando a Fórmula Visual.
Clique no ícone Salvar para que a fórmula visual criada seja salva. Expandir |
---|
| Image Added
|
|
|
|
Passo-a-passo para associar a Fórmula Visual como um Processo no cadastro de Filiais
A fórmula visual será associada na tela de cadastro de Filiais como um "Processo" onde os usuários poderão executa-la quando necessário.
Informações |
---|
|
Deck of Cards |
---|
| Card |
---|
| Após criado/importado a Fórmula Visual | Card |
---|
| Após importadas as Fórmulas devemos acessar Gestão Fiscal | Cadastros | Globais | Filiais | Processos | Fórmula Visual | Gerenciar Expandir |
---|
| Image Modified
|
|
Card |
---|
| 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 |
---|
| Image Modified
|
|
Card |
---|
| A janela de Fórmula Visual se abrirá. Expandir |
---|
| Image Modified
|
Basta selecionar a fórmula desejada, clicar em OKe ficará . O registro ficará da seguinte forma: Expandir |
---|
| Image Modified
|
|
|
|
Executando o processo disponível no cadastro de Filiais
Exemplo de utilização do processo disponibilizado para os usuários de Cópia das Informações para as Filiais. O processo será exibido para os usuários no cadastro de Filiais e poderá ser executado quando necessário.
Informações |
---|
|
Deck of Cards |
---|
| Card |
---|
| 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 , iremos copiar os dados da Filial nº 1. Vamos Para verificar como está a informação do Nome e Bairro do Contador da Filial 1, selecionar a Filial citada, editá-la, e clicar em Anexos | Dados Fiscais e selecionar a aba Contador Expandir |
---|
| Image Modified
|
|
Card |
---|
| 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 |
---|
| Image Modified
|
|
Card |
---|
| 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 isso isto, vamos selecionar a Filial 1, clicar em Processos | Fórmula Visual | Alterar Dados Contador Por Filial (Fórmula Visual Cadastrada) Expandir |
---|
| Image Modified
|
|
Card |
---|
| Uma janela se abrirá e nela iremos preencher os seguintes dados: Código da Coligada - O Código da Coligada para que da(s) filial(is) de Destino, para onde você deseja copiar as alterações feitasos campos. (No exemplo irei utilizar a 1) Filial início - Corresponde ao Código da Filial Inicial que de Destino, para onde você deseja iniciar a Cópiacopiar os campos . (No exemplo irei utilizar a 2) Filial Final - Corresponde ao Código da Filial Final que Destino, para onde você deseja finalizar a Cópiacopiar os campos . (No exemplo irei utilizar a 4) Neste exemplo, será copiado as informações para as filiais 2, 3 e 4 da Coligada 1. Expandir |
---|
| ![](/download/attachments/593047841/image2021-2-2_16-29-42.png?version=1&modificationDate=1612294182497&api=v2)
|
Após preenchidos os dados, basta clicar em executar. Informações |
---|
A Filial Inicial não pode ser menor maior do que a Filial Final. Ex.: Filial Início: 4 Filial Final: 2 |
|
Card |
---|
| Após executado o processo, vamos abrir as Filiais 2, 3 e 4 e verificar se as alterações foram aplicadas. Deck of Cards |
---|
| Deck of Cards |
---|
| Card |
---|
| Image Modified
|
Card |
---|
| Image Modified
|
Card |
---|
| Image Modified
|
Card |
---|
| Image Modified
|
Card |
---|
| Image Modified
|
Card |
---|
| Image Modified
|
|
|
|
|
|
Em resumo, estamos aplicando a alteração feita nos copiando a informação dos campos Nome e Bairro dos dados do Contador na da Filial 1 para as Filiais 2, 3 e 4.
Observação:
As fórmulas Visuais podem ser importadas e exportadas entre as bases (Por exemplo criar em homologação e depois importa-la para o ambiente de Produção).
Para isto, basta seguir procedimento de Importação disponível no link abaixo:
Importar/Exportar Fórmula Visual
Informações |
---|
title | Dados Contador e Representante |
---|
|
Âncora |
---|
| DadosContador |
---|
| DadosContador |
---|
|
[1] Os dados de Contador e Representante podem ser encontrados no módulo Gestão Fiscal | Cadastros | Globais | Filiais | Anexos | Dados Fiscais: Expandir |
---|
| ![](/download/attachments/593047841/image2021-2-2_14-59-32.png?version=1&modificationDate=1612288916543&api=v2)
|
|
...