Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Informações Gerais
Especificação | |||
Produto | Microsiga Protheus | Módulo | SIGACTB - Contabilidade Gerencial |
Segmento Executor | Serviços | ||
Projeto1 | DSERCTR1 | IRM/EPIC1 | |
Requisito/Story/Issue1 | Subtarefa1 | ||
País | ( ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( x ) Outro Todos . | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
Objetivo
Reescrever o programa Plano de Contas (CTBA020) utilizando a arquitetura MVC (Model View Controller), isolando a regra de negócio especifica por localizações e integrações do produto com outros módulos.
Definição da Regra de Negócio
- Plano de Contas
Plano de Contas é um elenco de todas as Contas previstas pelo setor contábil da empresa tidas como necessárias aos seus registros contábeis. Estas receberão os valores lançados dia-a-dia pela Contabilidade.
Os planos de contas são elaborados pelas empresas para atender aos seus interesses e à legislação vigente (atualmente a Lei nº 6404, de 15 de dezembro de 1976 - Lei das Sociedades por Ações).
- MVC
A arquitetura Model-View-Controller ou MVC, como é mais conhecida, é um padrão de arquitetura de software que visa separar a lógica de negócio da lógica de apresentação (a interface), permitindo o desenvolvimento, teste e manutenção isolada de ambos.
- Observer
O Observer é um padrão de projeto de software que define uma dependência um-para-muitos entre objetos de modo que quando um objeto muda o estado, todos seus dependentes são notificados e atualizados automaticamente. Permite que objetos interessados sejam avisados da mudança de estado ou outros eventos ocorrendo em outro objeto.
O conceito do Observer será aplicado para realizar a separação da regra de negócio especifica de cada país e das integrações de outros módulos, utilizando a classe FWModelEvent.
A melhoria proposta deverá:
- Manter as funcionalidades existentes (inclusão, alteração, exclusão, etc.);
- Substituir os pontos de entrada existentes pelos padrões do MVC;
- Manter as integrações existentes (mensagem única, SIGAPCO e SIGAGFE);
- Separar os processos específicos de cada localização (país) em fonte especifico;
- Separar os processos específicos das integrações em fonte especifico.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
CTBA020 - Plano de Contas | Alteração | Atualizações -> Entidades | Fonte centralizador contendo a regra de negócio vigente para todas localizações |
CTBA020EVPCO | Criação | Não se aplica | Fonte contendo o processo de integração com o SIGAPCO |
CTBA020EVGFE | Criação | Não se aplica | Fonte contendo o processo de integração com o SIGAGFE |
CTBA020BRA | Criação | Não se aplica | Fonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização Brasil. |
CTBA020ARG | Criação | Não se aplica | Fonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização Argentina. |
CTBA020MEX | Criação | Não se aplica | Fonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização Mexico. |
CTBA020DOM | Criação | Não se aplica | Fonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização República Dominicana. |
CTBA020RUS | Criação | Não se aplica | Fonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização Russia. |
CTBI020 | Envolvida | Não se aplica | Adapter para integração da mensagem única do plano de contas. |
CTBATree | Envolvida | Não se aplica | Rotina que apresenta o cadastro de plano de contas em modo Árvore. |
- Modelagem dos Fontes
- CTBA020 - Fonte principal com elementos comuns para todas as localizações.
- CTBA020EVPCO - Classe de evento responsável pela integração com o SIGAPCO.
- CTBA020EVGFE - Classe de evento responsável pela integração com o SIGAGFE.
- CTBA020BRA - Fonte localizado para o pais Brasil. Esse fonte possui model, view, browse e menu, todavia os componentes são baseados na rotina padrão e adicionado no fonte somente as necessidades especificas do pais.
- CTBA020MEX - Fonte localizado para o pais México. Esse fonte possui model, view, browse e menu, todavia os componentes são baseados na rotina padrão e adicionado no fonte somente as necessidades especificas do pais.
- CTBA020DOM - Fonte localizado para o pais Republica Dominicana. Esse fonte possui model, view, browse e menu, todavia os componentes são baseados na rotina padrão e adicionado no fonte somente as necessidades especificas do pais.
- CTBA020ARG - Fonte localizado para o pais Argentina. Esse fonte possui model, view, browse e menu, todavia os componentes são baseados na rotina padrão e adicionado no fonte somente as necessidades especificas do pais.
- CTBA020RUS - Fonte localizado para o pais Russia. Esse fonte possui model, view, browse e menu, todavia os componentes são baseados na rotina padrão e adicionado no fonte somente as necessidades especificas do pais.
- CTBA020 - Fonte principal com elementos comuns para todas as localizações.
Pontos de Entrada
Os pontos de entrada serão substituídos pelos pontos nativos do MVC (Ponto de Entrada Padrão do MVC) sendo necessária a adequação pelos clientes na migração. Abaixo o detalhamento :Ponto de Entrada
Descrição ID Ponto de Entrada AT020VCA Executado na ativação da tela de inclusão. CT020BUT Adiciona opções no grupo "Outras Opções" nas telas de inclusão,
alteração,exclusão e visualização.
CT020EXC Executado antes de deletar um registro. CT020LOK Validação das linhas do Plano Referencial. CT020TOK Validação geral do Plano Referencial. CT20ALTA Executado no inicio da tela de alteração. CT20ALTD Executado após a alteração, mas dentro da transação. CT20EXCA Executado no começo da função de exclusão de um registro. CT20EXCD Depois de deletar um registro, porem dentro da transação. CT20GRA Executado no inicio da rotina de inclusão. CT20GRD Executado após inclusão do registro. CTB020VG Executado na validação da inclusão ou alteração. CTB020VLD Executado antes da apresentação da tela de inclusão, alteração e exclusão
de um registro.
CTBA20CT Executado dentro da transação dos processo de inclusão, alteração e exclusão.
- Opções da Rotina
As opções de menu do cadastro de Plano de Contas possuem diferenças nas opções conforme a forma de apresentação, pergunta Cadastro em arvore (F12), abaixo o detalhamento:
Browse padrão
Opção Função Descrição País Rotina Pesquisar AxPesqui Pesquisa de registro. Está opção será removida devida presença de
recurso nativo no Browse.Todos CTBA020.PRW Visualizar Ctba020Vis Visualização de registro. Será adequada para o padrão MVC. Todos CTBA020.PRW Incluir Ctba020Inc Inclusão de registro. Será adequada para o padrão MVC. Todos CTBA020.PRW Alterar Ctba020Alt Alteração de registro. Será adequada para o padrão MVC. Todos CTBA020.PRW Excluir Ctba020Del Exclusão de registro. Será adequada para o padrão MVC. Todos CTBA020.PRW Importar Ctba020Imp Importação de registros. Todos CTBA020.PRW Exportar Ctba020Exp Exportação de registros. Todos CTBA020.PRW Legenda Ctba020leg Legenda do Browse. Está opção será removida, devida apresentação
ocorrer no duplo clique no ícone da legenda.Todos CTBA020.PRW Conhecimento MSDocument Associação de documentos aos registros. Todos CTBA020.PRW Imprimir Browse - Opção inclusa automaticamente. - - Controles Contábeis CTBA001 Controles contábeis. Exceto Brasil CTBA020RUS.PRW
CTBA020MEX.PRW
CTBA020ARG.PRW
...Browse em arvore:
Opção Função Descrição País Rotina Ajuda - Opção inclusa automaticamente. - - Pesquisar Ctba3Pes() Pesquisa de registro Todos CTBATree Incluir Ctba3Inc() Inclusão de registro Todos CTBATree Alterar Ctba3Alt() Alteração de registro Todos CTBATree Excluir Ctba3Exc() Exclusão de registro Todos CTBATree Recalcular CTTreeRfsh() Refaz a estrutura da árvore de registros Todos CTBATree Configurar - Opção inclusa automaticamente. - -
- Integrações
As integrações existentes com o cadastro de plano de contas serão adequadas conforme o detalhamento abaixo:- Rotina Automática (MSExecAuto):
Devido a conversão para MVC, o MSExecAuto não será mais utilizado, sendo necessário utilizar a inclusão por meio de instanciação do modelo de dados (ex: FWLoadModel("CTBA020")).
- Mensagem Única (EAI - Enterprise Application Integration):
O adapter do plano de contas (CTBI020), utiliza a rotina automática (MSExecAuto) para realizar a integração, necessitando adequar para o uso do modelo de dados. Para enviar os processos ocorridos no cadastro de plano de contas para o adapter, será efetuada a adequação abaixo:Função Descrição Fonte FwIntegDef Função utilizada nos processos da rotina (inclusão, alteração e exclusão), para realizar a integração com o adapter da rotina (CTBI020) gerando o XML que será enviado para a outra marca (produto). CTBA020.PRW
- Rotina Automática (MSExecAuto):
- SIGAPCO - Planejamento e Controle Orçamentário
O módulo SIGAPCO se integra para possibilitar a sincronização do cadastro de plano de contas com as contas orçamentárias. Este processo é ativado por meio dos parâmetros: MV_PCOINTE = 1 e MV_PCOSINC = 2. Seguem abaixo os pontos de integração:Ação Descrição Função Fonte Método Exclusão Valida se a conta orçamentária pode ser excluída PCOA010ELK() CTBA020EVPCO.PRW Exclusão Valida se a conta orçamentária foi excluída para prosseguir o processo PCOVLDSINC()
PCOSincCO()CTBA020EVPCO.PRW Inclusão Após a gravação do plano de contas, gera a conta orçamentária. PCOSincCO() CTBA020EVPCO.PRW Alteração Após a gravação das alterações do plano de contas, replica para a conta orçamentária. PCOSincCO() CTBA020EVPCO.PRW SIGAGFE - Gestão de Frete Embarcador
O módulo SIGAGFE se integra para manter a tabela GUE - Conta Contábil sincronizada com a CT1 - Plano de Contas. Este processo é ativo por meio dos parâmetros: MV_INTGFE igual = .T. e MV_INTGFE2 = 1. Para os processos de inclusão, alteração e exclusão, deve-se utilizar o modelo da rotina GFEA090:Ação Descrição Função Fonte Método Inclusão Inclusão de registro Model - GFEA090 CTBA020EVGFE.PRW Alteração Alteração de registro Model - GFEA090 CTBA020EVGFE.PRW Exclusão Exclusão de registro Model - GFEA090 CTBA020EVGFE.PRW SIGAGFE x SIGAOMS
Necessário avaliar a necessidade de manter a função MAEnvEAI, devido a rotina já possuir o adapter para integração XML.
- SIGAPCO - Planejamento e Controle Orçamentário
Chamadas externas de funções
Alguma funções presentes no cadastro de plano de contas são executadas por outras rotinas, desta forma, é preciso garantir que a conversão para MVC não implicará em erro nas rotinas externas, segue a relação:
Função Rotina Externa CTBA020() CONA020.PRW CTBA020Del() CTBATree.PRW CTBA020Inc() CTBATree.PRW CTBA020Alt() CTBATree.PRW SV020Mem() CTBA350.PRW
CTBA030.PRW
CTBA040.PRW
CTBA060.PRW- Tratamentos Localizados
- Para os países México e República Dominicana, não é utilizado o sub-cadastro de Plano Referencial. Desta forma, o tratamento para apresentação do Plano Referencial e a validação, inclusão, alteração e exclusão, devem ser tratados nos fontes das demais localizações.
- Para o país Angola, há uma chamada para a função CT998x5LL(), utilizada para criação da tabela genérica LL - Classificação de Contas no Lalur, devido o cadastro no ATUSX, essa função não precisa ser chamada no cadastro de plano de contas.
- Para os países México e República Dominicana, não é utilizado o sub-cadastro de Plano Referencial. Desta forma, o tratamento para apresentação do Plano Referencial e a validação, inclusão, alteração e exclusão, devem ser tratados nos fontes das demais localizações.
Funções utilizadas pelo dicionário de dados
Há uma relação de campos que possuem em sua validação (X3_VALID), chamada de funções que devem manter sua finalidade após a conversão para MVC. Seguem abaixo:
Campo Função CT1_CONTA Ctb020cta() CT1_CLASSE Ctb020Prox()
Ctb020Var()
Ctb020LP()CT1_RES Ctb020NoRe() CT1_DTBLIN CTB020DTIN() CT1_DTBLFI CTB020DTFI() CT1_DC Ctb020Dc() CT1_NCUSTO Ctb020Cust() CTS_CODPLA CTBA020DIC() CTS_CONTAG CTBA020DIC() CVD_VERSAO Ctb020Vers() CVD_CTAREF Ctb020CRef()
Tabelas Utilizadas
- CT1 – Plano de Contas
- CTS – Visões Gerenciais
- CVD – Plano de Contas Referenciais
- CVF – Estrutura da Visão
- GUE – Conta Contábil
- CVE – Visão Gerencial
- CVN – Planos de Contas de Referência
- CW8 – Histórico de Alterações
- CT1 – Plano de Contas
Dicionário de Dados
- Alteração de Campos no arquivo SX3 – Campos:
- Tabela CTS - Visões Gerenciais:
Campo | CTS_IDENT |
---|---|
Usado | Sim |
- Criação ou Alteração de Consulta Padrão no arquivo SXB – Consulta Padrão:
- Pesquisa B05PLS:
Alias | (XB_ALIAS) |
Tipo | (XB_TIPO) |
Sequência | (XB_SEQ) |
Coluna | (XB_COLUNA) |
Descrição | (XB_DESCRI) |
Contém | (XB_CONTEM) |
- Criação de Gatilhos no arquivo SX7 – Gatilhos:
- Tabela CVD – Plano de Contas Referenciais:
Campo | CVD_CODPLA |
Sequência | 003 |
Cnt. Domínio | CVD_VERSAO |
Tipo | 1 - Primario |
Regra | SPACE(LEN(CVD->CVD_VERSAO)) |
Posiciona? | 2 - Não |
- Exclusão de Gatilhos no arquivo SX7 – Gatilhos:
- Tabela CT1 – Plano de Contas:
Campo | CT1_CONTA |
Sequência | 001 |
Cnt. Domínio | CT1_CTLALU |
Tipo | 1 - Primario |
Regra | M->CT1_CONTA |
Posiciona? | 2 - Não |
- Alteração de Gatilhos no arquivo SX7 – Gatilhos:
- Tabela CVD – Plano de Contas Referenciais:
Campo | CVD_CODPLA |
Sequência | 002 |
Condição | Empty(FWFldGet("CVD_CODPLA")) |
Campo | CVD_CTAREF |
Sequência | 001 |
Chave | XFilial('CVN')+FWFldGet('CVD_CODPLA')+FWFldGet("CVD_CTAREF")+FWFldGet("CVD_VERSAO") |
Campo | CVD_CTAREF |
Sequência | 002 |
Chave | XFilial('CVN')+FWFldGet('CVD_CODPLA')+FWFldGet("CVD_VERSAO")+FWFldGet("CVD_CTAREF") |
Campo | CVD_CTAREF |
Sequência | 003 |
Chave | XFilial('CVN')+FWFldGet('CVD_CODPLA')+FWFldGet("CVD_VERSAO")+FWFldGet("CVD_CTAREF") |
Campo | CVD_CTAREF |
Sequência | 004 |
Chave | XFilial('CVN')+FWFldGet('CVD_CODPLA')+FWFldGet("CVD_VERSAO")+FWFldGet("CVD_CTAREF") |
- Criação ou Alteração (mantenha somente a instrução correspondente) de Pasta no arquivo SXA – Pastas:
- Tabela CT1 – Plano de Contas:
Campo | Informe o conteúdo do (X7_CAMPO) |
Sequência | Informe o conteúdo do (X7_SEQUENC) |
Campo Domínio | Informe o conteúdo do (X7_CDOMIN) |
Tipo | Informe o conteúdo do (X7_TIPO) |
Regra | Informe o conteúdo do (X7_REGRA) |
Posiciona? | Informe o conteúdo do (X7_SEEK) |
Chave | Informe o conteúdo do (X7_CHAVE) |
Condição | Informe o conteúdo do (X7_CONDIC) |
Proprietário | Informe o conteúdo do (X7_PROPRI) |
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|