Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||
Produto | Microsiga Protheus | Módulo | SIGACTB - Contabilidade Gerencial |
Segmento Executor | Serviços | ||
Projeto1 | IRM/EPIC1 | ||
Requisito/Story/Issue1 | Subtarefa1 | ||
Chamado/Ticket2 | |||
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).
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.
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).
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.
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 num 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á:
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
CTBA020 - Plano de Contas | Alteração | Atualizações -> Entidades | |
CTBA020EVPE | Criação | Não se aplica | |
CTBA020EVPCO | Criação | Não se aplica | |
CTBA020EVGFE | Criação | Não se aplica | |
CTBA020BRA | Criação | Não se aplica | |
CTBA020ARG | Criação | Não se aplica | |
CTBA020MEX | Criação | Não se aplica | |
CTBA020DOM | Criação | Não se aplica | |
CTBA020RUS | Criação | Não se aplica | |
CTBI020 | Envolvida | Não se aplica | |
CTBATree | Envolvida | Não se aplica |
Os pontos de entrada serão mantidos visando reduzir o impacto para os clientes que possuem customizações, porém o MVC nativamente possui pontos de entrada que substituem os já existentes (Ponto de Entrada Padrão do MVC) ficando a critério do cliente a migração. Os pontos de entrada referentes ao Model, serão implementados em um fonte único, conforme o detalhamento abaixo:
Ponto de Entrada | Descrição | País | Fonte | Método |
AT020VCA | Executado na ativação da tela de inclusão. | Todos | CTBA020EVPE.PRW | FWModelEvent ():ModelPreVld() |
CT020BUT | Adiciona opções no grupo "Outras Opções" nas telas de inclusão, alteração,exclusão e visualização. | Todos | CTBA020.PRW | FWFormView():AddUserButton() |
CT020EXC | Executado antes de deletar um registro. | Todos | CTBA020EVPE.PRW | FWModelEvent ():BeforeTTS() |
CT020LOK | Validação das linhas do Plano Referencial. | Exceto DOM/MEX | CTBA020EVPE.PRW CTBA020EVPERUS.PRW CTBA020EVPEPER.PRW ... | FWModelEvent ():GridLinePosVld() |
CT020TOK | Validação geral do Plano Referencial. | Exceto DOM/MEX | CTBA020EVPEBRA.PRW CTBA020EVPERUS.PRW CTBA020EVPEPER.PRW ... | FWModelEvent ():GridPosVld() |
CT20ALTA | Executado no inicio da tela de alteração. | Todos | CTBA020EVPE.PRW | FWModelEvent ():ModelPreVld() |
CT20ALTD | Executado após a alteração, mas dentro da transação. | Todos | CTBA020EVPE.PRW | FWModelEvent ():InTTS() |
CT20EXCA | Executado no começo da função de exclusão de um registro. | Todos | CTBA020EVPE.PRW | FWModelEvent ():BeforeTTS() |
CT20EXCD | Depois de deletar um registro, porem dentro da transação. | Todos | CTBA020EVPE.PRW | FWModelEvent ():InTTS() |
CT20GRA | Executado no inicio da rotina de inclusão. | Todos | CTBA020EVPE.PRW | FWModelEvent ():ModelPreVld() |
CT20GRD | Executado após inclusão do registro. | Todos | CTBA020EVPE.PRW | FWModelEvent ():AfterTTS() |
CTB020VG | Executado na validação da inclusão ou alteração. | Todos | CTBA020EVPE.PRW | FWModelEvent ():ModelPosVld() |
CTB020VLD | Executado antes da apresentação da tela de inclusão, alteração e exclusão de um registro. | Todos | CTBA020EVPE.PRW | FWModelEvent ():ModelPreVld() |
CTBA20CT | Executado dentro da transação dos processo de inclusão, alteração e exclusão. | Todos | CTBA020EVPE.PRW | FWModelEvent ():InTTS() |
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. | Todos | CTBA020.PRW |
Incluir | Ctba020Inc | Inclusão de registro. | Todos | CTBA020.PRW |
Alterar | Ctba020Alt | Alteração de registro. | Todos | CTBA020.PRW |
Excluir | Ctba020Del | Exclusão de registro. | 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. | - | - |
Função | Descrição | Fonte | Método |
FWHasEAI | Função utilizada no processo de inclusão, alteração e exclusão, para verifica se a rotina possui configuração de EAI. | CTBA020EVEAI.PRW | FWModelEvent ():InTTS |
FwIntegDef | Função utilizada no processo de 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). É necessário avaliar o retorno da função para confirmar se a integração obteve sucesso e prosseguir com o processo do cadastro (inclusão, alteração ou exclusão do registro). | CTBA020EVEAI.PRW | FWModelEvent ():InTTS |
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.
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 |
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
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|