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 | 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 Contas | Alteração | Atualizações -> Entidades | |
CTBI020 | Envolvida | Não se aplica | |
UPDINT02 | Envolvida | ||
GAVM007 | Envolvida | ||
CTBATree | Envolvida | Não se aplica |
- 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 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() |
- 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. 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. - -
- 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çã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
- 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 necessidad necessidade de manter a função MAEnvEAI, devido a rotina já possuir o adapter para integração XML.
Tratamentos Localizados- SIGAPCO - Planejamento e Controle Orçamentário
- Chamadas externas de funções
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
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
- 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
- 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:
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
- 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() CT1_CTASUP ValCtaSup() CT1_CTAVM ValidaConta() CT1_CTARED ValidaConta() CT1_DTEXSF VldDtExis() CT1_CTALP ValidaConta() CT1_CTAPON ValidaConta() CT1_RGNV1 CtbValLig() CT1_RGNV2 CtbValLig() CT1_RGNV3 CtbValLig() CT1_TRNSEF ValidaConta() CT1_CODAGR VldCWDExist() CT1_NIVEL VldCWDNivel() CT1_DTEXIS VldDtExis() CT1_DTEXSF VldDtExis() CTS_CODPLA CTBA020DIC() CTS_CONTAG CTBA020DIC() CVD_VERSAO Ctb020Vers() CVD_CTAREF Ctb020CRef()
Tabelas Utilizadas
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Módulo |
|
|
|
Programa base |
|
|
|
Nome Menu | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Registro padrão | Sim | Sim | Sim |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Release de Liberação |
|
|
|
Programas
Programa |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Nome Externo |
|
|
|
Nome Menu/Programa | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Nome Verbalizado[1] | (Max 254 posições) | (Max 254 posições) | (Max 254 posições) |
Procedimento |
|
|
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Sim/Não | Sim/Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Query on-line | Sim/Não | Sim/Não | Sim/Não |
Log Exec. | Sim/Não | Sim/Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Sim/Não | Sim/Não | Sim/Não |
Home[5] | Sim/Não | Sim/Não | Sim/Não |
Posição do Portlet[6] | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right |
Informar os papeis com os quais o programa deve ser vinculado |
|
|
|
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel | (máx 3 posições) |
Descrição em Português* |
|
Descrição em Inglês* |
|
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
- 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
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|