...
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 |
---|
| 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 |
---|
|
|
Uma aba se abrirá. Clique em Incluir. Expandir |
---|
|
|
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 |
---|
|
|
|
Card |
---|
| Dê um duplo clique na Fórmula criada para abrir sua edição. Expandir |
---|
|
|
A seguinte aba irá se abrir, e é aqui que iremos iniciar o desenho de nossa fórmula. Expandir |
---|
|
|
|
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 |
---|
|
|
Arraste para o Fluxo da Fórmula Visual. Expandir |
---|
|
|
Clique com o botão direito do mouse em um dos lados da atividade "Se/Senão" e selecione a opção Excluir. Expandir |
---|
|
|
Selecione no lado que ficou da atividade, nas propriedades em Condition seleciona a opção "Condição de Regra Declarativa". Expandir |
---|
|
|
Expanda a Condition e no campo ConditionName clica nos três pontinhos (...). Expandir |
---|
|
|
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 |
---|
|
|
Selecione uma nova atividade de Exceção e arraste para dentro da condição adicionada anteriormente. Expandir |
---|
|
|
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 |
---|
|
|
|
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 |
---|
|
|
Clique com o botão direito do mouse em cima da atividade de Consulta SQL e selecione a opção "Selecionar Consulta SQL". Expandir |
---|
|
|
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 |
---|
|
|
Selecione a consulta SQL criada anteriormente. Expandir |
---|
|
|
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 |
---|
|
|
|
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 |
---|
|
|
Na parte de Parâmetros em Definição dos Parâmetros clicar nos três pontinhos (...). Expandir |
---|
|
|
Clicar no ícone para adicionar uma nova tabela de parâmetros e colocar o nome da tabela = PARAMETROS e clicar em Ok. Expandir |
---|
|
|
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 |
---|
|
|
|
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 |
---|
|
|
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 |
---|
|
|
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 |
---|
|
|
Selecione a consulta SQL criada anteriormente. Expandir |
---|
|
|
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 |
---|
|
|
|
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 |
---|
|
|
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 |
---|
|
|
Selecione no lado que ficou da atividade, nas propriedades em Condition seleciona a opção "Condição de Regra Declarativa". Expandir |
---|
|
|
Expanda a Condition e no campo ConditionName clica nos três pontinhos (...). Expandir |
---|
|
|
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 |
---|
|
|
Selecione uma nova atividade de Exceção e arraste para dentro da condição adicionada anteriormente. Expandir |
---|
|
|
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 |
---|
|
|
|
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 |
---|
|
|
Selecione a atividade de ForEach adicionada, acesse a aba Propriedades e clique no ícone Ligações. Expandir |
---|
|
|
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 |
---|
|
|
Selecione uma nova atividade de Sequência e arraste para dentro do ForEach adicionada anteriormente. Expandir |
---|
|
|
|
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 |
---|
|
|
Selecione a atividade de Ler Registro adicionada, na aba Propriedades preencha o Nome do DataServer = FisFilialFiscalData e aperte Tab no teclado. Expandir |
---|
|
|
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 |
---|
|
|
|
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 |
---|
|
|
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 |
---|
|
|
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 |
---|
|
|
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 |
---|
|
|
Selecione a atividade de Salvar Registro adicionada, na aba Propriedades preencha o campo Atividade Ler Registro com a atividade adicionada no Passo 9. Expandir |
---|
|
|
|
Card |
---|
| Salvando a Fórmula Visual.
Clique no ícone Salvar para que a fórmula visual criada seja salva. Expandir |
---|
|
|
|
|
|
...
Passo-a-passo para associar a Fórmula Visual criada como um Processo no cadastro de Filiais
Informações |
---|
|
Após todos os passos
Deck of Cards |
---|
| Card |
---|
| Após criado/importado a Fórmula Visual devemos acessar Gestão Fiscal | Cadastros | Globais | Filiais | Processos | Fórmula Visual | Gerenciar Expandir |
---|
|
|
|
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 |
---|
|
|
|
Card |
---|
| A janela de Fórmula Visual se abrirá. Expandir |
---|
|
|
Basta selecionar a fórmula desejada, clicar em OK. O registro ficará da seguinte forma: Expandir |
---|
|
|
|
|
|
Processo disponível para os usuários executar a Copia das informações das Filiais
Executando o processo disponível no cadastro de Filiais
Informações |
---|
|
Deck of Cards |
---|
|
Após todos os passos
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 copiar os dados da Filial nº 1. Para verificar como está a informação do Nome e Bairro do Contador da Filial 1, selecionar a Filial 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 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 da(s) filial(is) de Destino, para onde você deseja copiar os campos. (No exemplo irei utilizar a 1) Filial início - Corresponde ao Código da Filial Inicial de Destino, para onde você deseja copiar os campos . (No exemplo irei utilizar a 2) Filial Final - Corresponde ao Código da Filial Final Destino, para onde você deseja copiar 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 |
---|
| Image Modified |
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 |
---|
| 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 copiando a informação dos campos Nome e Bairro dos dados do Contador da Filial 1 para as Filiais 2, 3 e 4.
...