1 / 35

Padrões e convenções de codificação em Centura

Padrões e convenções de codificação em Centura. Desenvolvimento Pirâmide ERP. Agenda. Introdução Padrões de codificação Nomenclaturas Componentes visuais Convenções Tratamento de erros. Introdução. Objetivo

sine
Télécharger la présentation

Padrões e convenções de codificação em Centura

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Padrões e convenções de codificação em Centura Desenvolvimento Pirâmide ERP

  2. Agenda • Introdução • Padrões de codificação • Nomenclaturas • Componentes visuais • Convenções • Tratamento de erros

  3. Introdução • Objetivo • Apresentar os padrões básicos para o desenvolvimento dos sistemas que utilizam o Centura como linguagem. • Documento referência (completo/detalhado) • DA.07.Codificação em Centura • Padrões abordados • Pir21 • Módulos: Faturamento e Integração • Pirâmide • Módulos: Comercial, Financeiro, Fiscal, Materiais, Orçamento, Qualidade, ...

  4. Introdução • Arquivos

  5. Padrões de codificação

  6. Padrões de codificação • Nomenclatura de arquivos

  7. Padrões de codificação • Nomenclatura de variáveis

  8. Padrões de codificação • Nomenclatura de componentes visuais

  9. Padrões de codificação • Nomenclatura de constantes • Nomenclatura de funções

  10. Padrões de codificação • Nomenclatura de classes

  11. Padrões de codificação • Componentes visuais (1/3)

  12. Padrões de codificação • Componentes visuais (2/3)

  13. Padrões de codificação • Componentes visuais (3/3)

  14. Padrões de codificação • Convenções  SQL • Recomendações • O nome de campos e tabelas devem estar sempre em caixa alta. As palavras reservadas do SQL devem ser escritas com letra inicial maiúscula. • Utilizar os binds (:NomeVariável) nas cláusulas Where que utilizam variáveis como critério. Exemplo: Select CLIENTE From CLIENTES Where CLIENTE = :sCodCliente

  15. Padrões de codificação • Convenções  Formulários (Forms) • Existem algumas operações básicas que devem ser feitas sempre que um formulário é aberto e fechado:

  16. Padrões de codificação • Convenções  Formulários (Forms) • Formulários de manutenção simples • Os formulários "frmMnt" (padrão Pirâmide) e "frmBasicMnt" (padrão Pir21) devem ser utilizados para cadastros simples, que não envolvam mais de quatro atributos. • Para utilizá-los, basta criar as colunas de acordo com a funcionalidade e redefinir os métodos virtuais de seleção, inserção, update e deleção dos dados da tabela.

  17. Padrões de codificação • Convenções  Formulários (Forms) • Formulário de manutenção simples (padrão Pirâmide)

  18. Padrões de codificação • Convenções  Formulários (Forms) • Formulário de manutenção simples (padrão Pir21)

  19. Padrões de codificação • Convenções  Formulários (Forms) • Browser e formulários de manutenção • Trata-se de uma tela de navegação a partir da qual podem ser realizadas operações referentes a cadastros ou movimentações); • Se o cadastro possuir mais de quatro atributos e não for complexo, oferecendo poucas funcionalidades alem da manutenção (inclusão, alteração, exclusão e detalhamento), uma tela de browser deve ser criada; • Outras operações como cancelamentos, impressão, autorizações, entre outras, poderão ser chamadas a partir de botões do browser. (Caso o browser esteja com excesso de objetos visuais ou a operação necessite de filtros específicos, pode-se criar uma tela específica para a operação a ser realizada).

  20. Padrões de codificação • Convenções  Formulários (Forms) • Browser e formulário de manutenção (padrão Pirâmide)

  21. Padrões de codificação • Convenções  Formulários (Forms) • Browser e formulário de manutenção (padrão Pir21)

  22. Padrões de codificação • Convenções  Classes de sistema • Existe uma classe genérica previamente instanciada que pode ser utilizada em qualquer trecho do código. Essa classe genérica agrupa diversas funcionalidades. • Convenções  Empresa • Existem funções pré-definidas que devem ser utilizadas para recuperar a empresa selecionada no MDIPrincipal.

  23. Padrões de codificação • Convenções  Funções de conexão • Principais operações a serem executadas na base dados e as respectivas funções que devem ser usadas:

  24. Padrões de codificação • Convenções  Recuperação de parâmetros • Padrão Piramide • Padrão Pir21 Os parâmetros globais devem ser recuperados através da PGlobal: Global.param.GetParam(“NOME_PARAMETRO”) Para recuperar os parâmetros por empresa, deve-se utilizar um objeto da classe CParametroEmpresa. Uma vez o objeto declarado, deve-se fazer uma carga dos parâmetros, utilizando o serviço LoadParam do objeto. Sintaxe: oParam.LoadParam(sEmpresa, “NOMEPARAM1, NOMEPARAM2, ...”, sOrigem) onde “NOMEPARAM1, NOMEPARAM2, ...”  Lista dos parâmetros que se deseja carregar o valor. Se nulo, carrega todos. sOrigem  Origem à qual pertence o parâmetro. Também é opcional. Feita a carga dos parâmetros, para recuperar seu valor deve-se utilizar o método GetParam() do objeto: Set sValorParametro = oParam.GetParam(“NOME_PARAMETRO”)

  25. Tratamentos de erros

  26. Tratamento de erros • O tratamento de erros deve ser feito através do empilhamento da mensagem de erro no momento em que o mesmo acontece e sua posterior exibição na interface. • A exibição de mensagens de erro (ou outros tipos de mensagens) nunca deverá ser feita dentro de um objeto de negócio ou dentro de uma transação. • As mensagens de erro ficam armazenadas no banco de dados, na tabela PIR_ERROS. No padrão Pir21, a utilização da tabela PIR_ERROS é obrigatória, não sendo permitido a transcrição de mensagens de erro diretamente no código fonte. • Para empilhar o erro devem ser utilizadas constantes de erros que indicam o código do mesmo no banco de dados. As mensagens podem receber parâmetros que facilitem o entendimento ou identificação da causa do erro. Isso deve ser feito utilizando o símbolo % precedido de um índice para o parâmetro, conforme exemplo: “Não foi possível gravar o pedido ‘%1’ da filial ‘%2’.” • Os parâmetros das mensagens serão passados para funções de empilhamento de erro. Devem formar uma única String, sendo os parâmetros separados por um #. No exemplo acima, caso o erro tenha acontecido para o pedido ‘000123’ da filial ‘001’, a string de parâmetros deverá ser ‘000123#001’.

  27. Tratamento de erros • Padrão Pirâmide O empilhamento e exibição dos erros são feitos através do objeto tobPir. As funções deverão sempre retornar TRUE ou FALSE, de forma que a interface identifique a existência ou não de erros e decida se irá exibir ou não a mensagem. If Not fGravarPedido() If Not fGravarPedido() Return FALSE Mostra mensagem de erro. • Padrão Pir21 O empilhamento e exibição dos erros são feitos através do objeto Global. As funções deverão sempre retornar constantes de erro, ou a constante PFC_Ok, que indica que a função foi executada com sucesso. O retorno de uma função sempre deve ser testado utilizando-se a função PFFailed(nReturn) ou PFSucced(nReturn), onde nReturn é a constante de erro retornada pela função. Set nReturn = GravarPedido() Set nReturn = GravarPedido() If PFFailed(nReturn) If PFFailed(nReturn) Return nReturn Mostra mensagem de erro.

  28. Tratamento de erros • Formas de empilhamento e exibição das mensagens de erro • Método tError do tobPiramide Pode ser utilizada tanto para empilharquanto para exibir erros, mas não suportaas mensagens de erro gravadas emPIR_ERROS.Quando o erro detectado for erro de banco, oparâmetro pnError deve receber a constanteErr_SQL e o handle SQL deve ser enviado parao parâmetro phSqlErro.Ex.: CalltobPir.tError( 0, Err_SQL, '',hSqlComum)Quando o erro detectado for erro de negócio, o parâmetro pnError deve receber a constante de erro correspondente. Estas constantes deverão estar declaradas em Constant.apl. O handle SQL a ser enviado para o parâmetro phSqlErro deve ser hWndNULL.Ex.: CalltobPir.tError(0, Err_ClienteInvalido, '', hWndNULL) Para exibir erros empilhados: CalltobPir.tError(1,1, 'Erro ao gravar', hWndNULL)

  29. Tratamento de erros • Formas de empilhamento e exibição das mensagens de erro • Método tErrorApp do tobPiramide • Pode ser utilizada tanto para empilhar quanto para exibir erros, e suporta as mensagens de erro gravadas em PIR_ERROS. Exemplo: Call tobPir.tErrorApp(0, Err_PedidoVenda,'Erro inserindo pedido', ‘000123#001’, ‘fInserPedido’, hWndNULL)

  30. Tratamento de erros • Formas de empilhamento e exibição das mensagens de erro • Método __PushPckErro do tobPiramide • Deve ser utilizado para empilhar mensagens de erro retornadas por processamento em packages. A exibição da mensagem é feita através da tobPir.tErrorApp. O parâmeto “p_nCode” é o código de erro retornado pela package e o prâmetro “p_sPackage” é o nome da package que retornou o erro. Exemplo: tobPir.__PushPckError(nReturn ,PCK_PIR_TITULO_RECEBER’)

  31. Tratamento de erros • Formas de empilhamento e exibição das mensagens de erro • Método Global.PushDBError • Utilizado para empilhar erros de banco de dados, normalmente após uma instrução SqlPrepareAndExecute(). Exemplo: Call Global.PushDBError( Global.db.GetBasicHandle())

  32. Tratamento de erros • Formas de empilhamento e exibição das mensagens de erro • Método Global.PushAppError • Utilizada para empilhar erros, suporta as mensagens de erro gravadas em PIR_ERROS. Exemplo: Call Global.PushAppError( BOE_VEN_PedidoVenda, ‘000123#001’, ‘GravaPedido()’, hWndNULL)

  33. Tratamento de erros • Formas de empilhamento e exibição das mensagens de erro • Método Global.PushPckError • Deve ser utilizado para empilhar mensagens de erro retornadas por processamento em packages. Exemplo: Call Global.PushPckError(nReturn , 'PCK_PIR_FATURAMENTO', Global.db.GetBasicHandle())

  34. Tratamento de erros • Formas de empilhamento e exibição das mensagens de erro • Métodos Global.err.Show() e Global.ShowValidacao() • Estes métodos devem ser utilizados para exibição de mensagens de erro no padrão Pir21. O Global.ShowVailidacao() deve ser utilizado no SAM_Validate de objetos, pois já exibe a telapadrão para tratamento de errosde validação.

More Related