Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 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

DSERCTR1-386

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 ContasAlteraçãoAtualizações -> EntidadesFonte centralizador contendo a regra de negócio vigente para todas localizações
CTBA020EVPCOCriaçãoNão se aplicaFonte contendo o processo de integração com o SIGAPCO
CTBA020EVGFECriaçãoNão se aplicaFonte contendo o processo de integração com o SIGAGFE
CTBA020BRACriaçãoNão se aplicaFonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização Brasil.
CTBA020ARGCriaçãoNão se aplicaFonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização Argentina.
CTBA020MEXCriaçãoNão se aplicaFonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização Mexico.
CTBA020DOMCriaçãoNão se aplicaFonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização República Dominicana.
CTBA020RUSCriaçãoNão se aplicaFonte que obtém os dados do cadastro padrão (CTBA020) e inclui os dados específicos para a localização Russia.
CTBI020EnvolvidaNão se aplicaAdapter para integração da mensagem única do plano de contas.
CTBATreeEnvolvidaNão se aplicaRotina 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.

 

  • 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çãoID Ponto de Entrada
    AT020VCAExecutado 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.

     
    CT020EXCExecutado antes de deletar um registro. 
    CT020LOKValidação das linhas do Plano Referencial. 
    CT020TOKValidação geral do Plano Referencial. 
    CT20ALTAExecutado no inicio da tela de alteração. 
    CT20ALTDExecutado após a alteração, mas dentro da transação. 
    CT20EXCAExecutado no começo da função de exclusão de um registro. 
    CT20EXCDDepois de deletar um registro, porem dentro da transação. 
    CT20GRAExecutado no inicio da rotina de inclusão. 
    CT20GRDExecutado após inclusão do registro. 
    CTB020VGExecutado 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.

     
    CTBA20CTExecutado 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çã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. Será adequada para o padrão MVC.TodosCTBA020.PRW
      IncluirCtba020IncInclusão de registro. Será adequada para o padrão MVC.TodosCTBA020.PRW
      AlterarCtba020AltAlteração de registro. Será adequada para o padrão MVC.TodosCTBA020.PRW
      ExcluirCtba020DelExclusão de registro. Será adequada para o padrão MVC.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 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çãoDescriçãoFonte
      FwIntegDefFunçã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

       

    • 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


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.