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 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>. |
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 ).
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:
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:
//------------------------------------------------------------------- /*/{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:
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:
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
CRMA980 | [Inclusão] | [CRM > Atualizações > Vendas > Contas > Clientes] |
|