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 Todos |
|
Segmento Executor | SERVIÇOS | ||
Projeto1 | DSERFAT |
| |
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>. |
Objetivo
O projeto do novo cadastro de Clientes é iniciativa TOTVS cujo objetivo é reescrever o antigo cadastro de Clientes ( MATA030 ) para um padrão de arquitetura de software chamada MVC ( Model-View-Controller ).
Definição da Regra de Negócio
Utilizamos o padrão de desenvolvimento MVC ( Model-View-Controller ) no novo cadastro de Clientes para separar a lógica de negócio da lógica de apresentação ( a interface ), para permitir o desenvolvimento, testes e manutenção de forma isolada. Visando ganho de produtividade no desenvolvimento de regras de negócios padrões do produto e das possíveis customizações de nossos Clientes utilizando POO ( Programação Orientada Objetos ). Além disso o MVC nos proporcionam funcionalidades nativas deste Framework com os seguintes recursos:
- Pontos de entrada padronizados para cada evento da aplicação
- Web Services para sua utilização
- Importação ou exportação de mensagens XML
- Serviço RESTFul
O fonte do cadastro de clientes em MVC será o CRM980.PRW. Este fonte foi dividido com a seguinte estrutura:
Localização Padrão ( Todos os Países ) | |
CRMA980.PRW | Estrutura do MVC contendo: ModelDef, ViewDef e MenuDef |
Interceptação dos eventos gerados pelo MVC para desenvolvimento das regras de negócios | |
CRM980EventDEF.PRW | Todos os módulos do Microsiga Protheus |
CRM980EventDEFCRM.PRW | CRM ( Customer Relationship Management ). |
CRM980EventDEFEIC.PRW | Controle de Importações / Exportação |
CRM980EventDEFFAT.PRW | Faturamento |
CRM980EventDEFFIN.PRW | Financeiro |
CRM980EventDEFFIS.PRW | Fiscal |
CRM980EventDEFGFE.PRW | Gestão de Frete Embarcador |
CRM980EventDEFINT.PRW | Softwares de Terceiros |
CRM980EventDEFJUR.PRW | Jurídico |
CRM980EventDEFLOJ.PRW | Controle de Lojas |
CRM980EventDEFOMS.PRW | Gestão de Distribuição |
CRM980EventDEFTMS.PRW | Gestão de Transporte |
Localização Padrão + Brasil | |
CRMA980BRA.PRW | Estrutura do MVC contendo: ModelDef, ViewDef e MenuDef |
Interceptação dos eventos gerados pelo MVC para desenvolvimento das regras de negócios | |
CRM980EventBRA.PRW | Todos os módulos do Microsiga Protheus |
CRM980EventBRAFIS.PRW | Fiscal |
Localização Padrão + Argentina | |
CRMA980ARG.PRW | Estrutura do MVC contendo: ModelDef, ViewDef e MenuDef |
Interceptação dos eventos gerados pelo MVC para desenvolvimento das regras de negócios | |
CRM980EventARG.PRW | Todos os módulos do Microsiga Protheus |
Localização Padrão + Colômbia | |
CRMA980COL.PRW | Estrutura do MVC contendo: ModelDef, ViewDef e MenuDef |
Interceptação dos eventos gerados pelo MVC para desenvolvimento das regras de negócios | |
CRM980EventCOL.PRW | Todos os módulos do Microsiga Protheus |
Localização Padrão + Guatemala | |
CRMA980COL.PRW | Todos os módulos do Microsiga Protheus |
Interceptação dos eventos gerados pelo MVC para desenvolvimento das regras de negócios | |
CRM980EventGUA.PRW | Todos os módulos do Microsiga Protheus |
O novo fonte contempla também a rotina automática e a mesma deve ser chamada da seguinte forma:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
//------------------------------------------------------------------- /*/{Protheus.doc} MyCRMA980 Função de exemplo para utilização da rotina automática de Clientes. @param Nenhum @return Nenhum @author Squad CRM / FAT @version 12.1.17 / Superior @since 24/05/2017 /*/ //------------------------------------------------------------------- User Function MyCRMA980() Local aRotAuto := {} Local nOpcAuto := MODEL_OPERATION_INSERT Local lRet := .T. Private lMsErroAuto := .F. lRet := RpcSetEnv("T1","D MG 01","Admin") If lRet //---------------------------------- // Campos da tabela de Clientes //---------------------------------- aAdd(aRotAuto,{"A1_COD" ,"693848" ,Nil}) aAdd(aRotAuto,{"A1_LOJA" ,"01" ,Nil}) aAdd(aRotAuto,{"A1_NOME" ,"ROTINA AUTOMATICA" ,Nil}) aAdd(aRotAuto,{"A1_NREDUZ" ,"ROTAUTO" ,Nil}) aAdd(aRotAuto,{"A1_END" ,"BRAZ LEME" ,Nil}) aAdd(aRotAuto,{"A1_TIPO" ,"F" ,Nil}) aAdd(aRotAuto,{"A1_CGC" ,"39346482000171" ,Nil}) aAdd(aRotAuto,{"A1_EST" ,"SP" ,Nil}) aAdd(aRotAuto,{"A1_MUN" ,"SAO PAULO" ,Nil}) //---------------------------------- // Cadastro de Clientes. //---------------------------------- MSExecAuto({|a,b| CRMA980(a,b)}, aRotAuto, nOpcAuto) If lMsErroAuto lRet := .F. MostraErro() Else Conout("Cliente incluído com sucesso!") EndIf EndIf RpcClearEnv() Return lRet |
Para o novo fonte, alguns pontos de entrada não foram mantidos já que os pontos de entradas nativos do MVC permitem a customização sem a necessidade dos pontos de entrada na rotina.São eles:
- Adicionar Visões e Gráficos no Browse
CRMBRWVIEW - Substituição das Visões Padrão do CRM - Referências restringir exibição de campos
MA030REF - Restringir exibição de campos - Adicionar novas rotinas dentro do formulário do cadastro
MA030BUT - Adicionar botões no cadastro de clientes - Referências Exclusão
M030SAO - Exclusão de dados - Controla se a manutenção do cadastro de clientes é efetuada na Integração com GFE mediante tabela GU3 - Cadastro de Emitente
MATA030IPG - Controle de manutenção na integração com o GFE - Validação antes da abertura do formulário do cadastro antes da inclusão
PE Nativo do MVC ( ID - MODELVLDACTIVE ) tem o mesmo propósito do Ma030VInc(Versão 12 ) - Validação no botão de inclusão de clientes mais informações Pontos de Entrada Nativos do MVC - Validação antes da abertura do formulário do cadastro antes da alteração.
PE Nativo do MVC ( ID - MODELVLDACTIVE ) tem o mesmo propósito do M030ALT - Validação de alterações mais informações Pontos de Entrada Nativos do MVC - Validação antes da abertura do formulário do cadastro antes da exclusão.
PE Nativo do MVC ( ID - MODELVLDACTIVE ) tem o mesmo propósito do M030DEL - Exclusão de clientes mais informações Pontos de Entrada Nativos do MVC - Permite alteração do cadastro para registros gerados via integração quando a origem e de integração (SA1->A1_ORIGEM== "S1")
PE Nativo do MVC ( ID - MODELVLDACTIVE) tem o mesmo propósito do DT_PE_MT030INT_Permite a alteração do cadastro de cliente para registros gerados via integração mais informações Pontos de Entrada Nativos do MVC - Inclusão de dados após a gravação dos dados do produto padrão dentro da transação
PE Nativo do MVC ( ID - MODELCOMMITTTS ) tem o mesmo propósito do M030INC - Inclusão de dados mais informações Pontos de Entrada Nativos do MVC - Alteração de dados após a gravação dos dados do produto padrão dentro da transação
PE Nativo do MVC ( ID - MODELCOMMITTTS ) tem o mesmo propósito do MALTCLI mais informações Pontos de Entrada Nativos do MVC - Exclusão de dados após as regras de exclusão do produto padrão dentro da transação
PE Nativo do MVC ( ID - MODELCOMMITTTS ) tem o mesmo propósito do M030EXC - Exclusão de dados mais informações Pontos de Entrada Nativos do MVC - Alteração de dados após a gravação dos dados do produto padrão fora da transação
PE Nativo do MVC ( ID - MODELCOMMITNTTS ) tem o mesmo propósito do M030PALT - Validação da alteração de clientes. mais informações Pontos de Entrada Nativos do MVC - Validação do formulário antes de confirmar a Inclusão, Alteração e Exclusão
PE Nativo do MVC ( ID - FORMPOS ) tem o mesmo propósito do MA030TOK - Inclusão e alteração / VBTOK030 - Validação do botão Ok mais informações Pontos de Entrada Nativos do MVC
Foram criados apenas pontos de entrada que existem no fonte MATA030 e que não permite customização por meio dos pontos de entrada do MVC, são eles:
PE CRM980BFil Adiciona filtro no browse do cadastro de clientes
Substitui o PE MA030BRW - Filtro de browsePE CRM980MMEN Adiciona campos memo de usuário no padrão de gravação SYP
Substitui o PE MA030MEM - Definição de campos memo de usuárioPE CRM980BLabel Adiciona legendas no browse do cadastro de cliente
Substitui o PE MA030COR - Adicionar legendas à mBrowsePE CRM980MDEF Adiciona novas funcionalidades em Ações Relacionadas no browse
Substitui o PE MA030ROT - Inclusão de novas rotinas
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
CRMA980 | [Inclusão] | [CRM > Atualizações > Vendas > Contas > Clientes] |
|