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

 

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). 

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 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á:

  • Manter as funcionalidades existentes (inclusão, alteração, exclusão, etc.);
  • Manter os pontos de entrada existentes;
  • Manter as integrações existentes (mensagem única, SIGAPCO, etc);
  • 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 ContasAlteraçãoAtualizações -> Entidades 
CTBA020EVPECriaçãoNão se aplica 
CTBA020EVPCOCriaçãoNão se aplica 
CTBA020EVGFECriaçãoNão se aplica 
CTBA020BRACriaçãoNão se aplica 
CTBA020ARGCriaçãoNão se aplica 
CTBA020MEXCriaçãoNão se aplica 
CTBA020DOMCriaçãoNão se aplica 
CTBA020RUSCriaçãoNão se aplica 
CTBI020EnvolvidaNão se aplica 
CTBATreeEnvolvidaNão se aplica 

 

  • Modelagem dos Fontes


    • CTBA020 - Fonte principal com elementos comuns para todas as localizações.

    • CTBA020EVPE - Classe de evento que contem a chamada dos pontos de entrada que serão mantidos mas já são contemplados pelo MVC, futuramente se esses pontos forem descontinuados é necessário somente desinstalar o evento do modelo de dados.

    • 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.

 

  • Pontos de Entrada

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 EntradaDescriçãoPaísFonteMétodo
AT020VCAExecutado na ativação da tela de inclusão.TodosCTBA020EVPE.PRWFWModelEvent ():ModelPreVld()
CT020BUT

Adiciona opções no grupo "Outras Opções" nas telas de inclusão,

alteração,exclusão e visualização.

TodosCTBA020.PRWFWFormView():AddUserButton()
CT020EXCExecutado antes de deletar um registro.TodosCTBA020EVPE.PRWFWModelEvent ():BeforeTTS()
CT020LOKValidação das linhas do Plano Referencial.Exceto DOM/MEX

CTBA020EVPE.PRW

CTBA020EVPERUS.PRW

CTBA020EVPEPER.PRW

...

FWModelEvent ():GridLinePosVld()
CT020TOKValidação geral do Plano Referencial.Exceto DOM/MEX

CTBA020EVPEBRA.PRW

CTBA020EVPERUS.PRW

CTBA020EVPEPER.PRW

...
FWModelEvent ():GridPosVld()
CT20ALTAExecutado no inicio da tela de alteração.TodosCTBA020EVPE.PRWFWModelEvent ():ModelPreVld()
CT20ALTDExecutado após a alteração, mas dentro da transação.TodosCTBA020EVPE.PRWFWModelEvent ():InTTS()
CT20EXCAExecutado no começo da função de exclusão de um registro.TodosCTBA020EVPE.PRWFWModelEvent ():BeforeTTS()
CT20EXCDDepois de deletar um registro, porem dentro da transação.TodosCTBA020EVPE.PRWFWModelEvent ():InTTS()
CT20GRAExecutado no inicio da rotina de inclusão.TodosCTBA020EVPE.PRWFWModelEvent ():ModelPreVld()
CT20GRDExecutado após inclusão do registro.TodosCTBA020EVPE.PRWFWModelEvent ():AfterTTS()
CTB020VGExecutado na validação da inclusão ou alteração.TodosCTBA020EVPE.PRWFWModelEvent ():ModelPosVld()
CTB020VLD

Executado antes da apresentação da tela de inclusão, alteração e exclusão

de um registro.

TodosCTBA020EVPE.PRWFWModelEvent ():ModelPreVld()
CTBA20CTExecutado dentro da transação dos processo de inclusão, alteração e exclusão.TodosCTBA020EVPE.PRWFWModelEvent ():InTTS()


 

  • 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çãoFunçãoDescriçãoPaísRotina
      PesquisarAxPesquiPesquisa de registro. Está opção será removida devida presença de
      recurso nativo no Browse.
      TodosCTBA020.PRW
      VisualizarCtba020VisVisualização de registro.TodosCTBA020.PRW
      IncluirCtba020IncInclusão de registro.TodosCTBA020.PRW
      AlterarCtba020AltAlteração de registro.TodosCTBA020.PRW
      ExcluirCtba020DelExclusão de registro.TodosCTBA020.PRW
      ImportarCtba020ImpImportação de registros.TodosCTBA020.PRW
      ExportarCtba020ExpExportação de registros.TodosCTBA020.PRW
      LegendaCtba020legLegenda do Browse. Está opção será removida, devida apresentação
      ocorrer no duplo clique no ícone da legenda.
      TodosCTBA020.PRW
      ConhecimentoMSDocumentAssociação de documentos aos registros.TodosCTBA020.PRW
      Imprimir Browse-Opção inclusa automaticamente.--
      Controles ContábeisCTBA001Controles contábeis.Exceto BrasilCTBA020RUS.PRW
      CTBA020MEX.PRW
      CTBA020ARG.PRW
      ...



       

    • Browse em arvore:

      OpçãoFunçãoDescriçãoPaísRotina
      Ajuda-Opção inclusa automaticamente.--
      PesquisarCtba3Pes()Pesquisa de registroTodosCTBATree
      IncluirCtba3Inc()Inclusão de registroTodosCTBATree
      AlterarCtba3Alt()Alteração de registroTodosCTBATree
      ExcluirCtba3Exc()Exclusão de registroTodosCTBATree
      RecalcularCTTreeRfsh()Refaz a estrutura da árvore de registrosTodosCTBATree
      Configurar-Opção inclusa automaticamente.--

 

  • Integrações

    As integrações existentes com o cadastro de plano de contas devem ser mantidas, segue abaixo o detalhamento:

    • Rotina Automática (MSExecAuto):

      Com o intuito de não alterar todas as rotinas que integram com o plano de contas e tão pouco gerar impacto em customizações, deve ser realizado tratamento na rotina (CTBA020.PRW) para receber os dados no padrão utilizado pela MSExecAuto e realizar a alimentação do modelo de dados, validação e gravação dos dados recebidos.


    • Mensagem Única (EAI - Enterprise Application Integration):
       
      O adapter do plano de contas (CTBI020), utiliza a rotina automática (MSExecAuto) para realizar a integração, como será mantida a funcionalidade, o adapter continuará funcionando sem necessitar de adequações. Para enviar os processos ocorridos no cadastro de plano de contas para o adapter, serão efetuadas as adequações abaixo:

       

      FunçãoDescriçãoFonteMétodo
      FWHasEAIFunção utilizada no processo de inclusão, alteração e exclusão, para verifica se a rotina possui configuração de EAI.CTBA020EVEAI.PRWFWModelEvent ():InTTS
      FwIntegDefFunçã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.PRWFWModelEvent ():InTTS

       

       

    • 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çãoDescriçãoFunçãoFonteMétodo
      ExclusãoValida se a conta orçamentária pode ser excluídaPCOA010ELK()CTBA020EVPCO.PRW 
      ExclusãoValida se a conta orçamentária foi excluída para prosseguir o processoPCOVLDSINC()
      PCOSincCO()
      CTBA020EVPCO.PRW 
      InclusãoApós a gravação do plano de contas, gera a conta orçamentária.PCOSincCO()CTBA020EVPCO.PRW 
      AlteraçãoApó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çãoDescriçãoFunçãoFonteMétodo
      InclusãoInclusão de registroModel - GFEA090CTBA020EVGFE.PRW 
      AlteraçãoAlteração de registroModel - GFEA090CTBA020EVGFE.PRW 
      ExclusãoExclusão de registroModel - GFEA090CTBA020EVGFE.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çãoRotina 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.

 

  • 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:

     

    CampoFunção
    CT1_CONTACtb020cta()
    CT1_CLASSECtb020Prox()
    Ctb020Var()
    Ctb020LP()
    CT1_RESCtb020NoRe()
    CT1_DTBLINCTB020DTIN()
    CT1_DTBLFICTB020DTFI()
    CT1_DCCtb020Dc()
    CT1_NCUSTOCtb020Cust()
    CTS_CODPLACTBA020DIC()
    CTS_CONTAGCTBA020DIC()
    CVD_VERSAOCtb020Vers()
    CVD_CTAREFCtb020CRef()

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
    • CW8Histórico de Alterações

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.