Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: JSON Schema Validation: A Comprehensive Guide

# JSON Schema Validation: A Comprehensive Guide ## Understanding JSONSchemaValidator Ensuring the integrity and compliance of JSON data is crucial for modern applications. **JSONSchemaValidator** is a powerful class designed to validate JSON data against a specified JSON Schema. It provides robust methods to check types, patterns, numerical constraints, required properties, and both internal and external schema references. This guide breaks down the key features and functionalities of JSONSchemaValidator, making it easier for developers to implement schema validation effectively. 🔗 **GitHub Repository:** [JSONSchemaValidator](https://github.com/naldodj/naldodj-hb-jsonschema-validator) --- ## Key Features ✅ **Schema-Based Validation** – Ensures JSON data conforms to a predefined schema. ✅ **Error Handling & Logging** – Captures validation errors for debugging. ✅ **Fast Mode Support** – Stops validation upon detecting the first error. ✅ **Internal & External Reference ...

Protheus :: Usando a Modelo3 :: Combo I

Anônimo sugeriu: "E ae Naldo DJ, tudo certo? Se possível falar um pouco sobre Modelo 3, tela semelhante a tela do PEDIDO DE VENDA. Tempos atrás fiz uma tela deste tipo. Apanhei demais para conseguir. Abraços"

No protheus existem algumas funções "facilitadoras" para a montagem de "telas", a Modelo3() é uma delas. Ela monta um "Dialog" com os seguintes Objetos: MsMget(), mas comumente chamado de "Enchoice" e o MsGetDados(), chamado simplesmente de GetDados.

A Enchoice e um objeto que formata os dados e os disponibiliza como "Formulário" já a GetDados os disponibiliza em uma "Grid".

Eu, particularmente, nunca usei a Modelo3() para formatar tela. Prefiro manipular os objetos diretamente de forma a obter o maior controle possível. Dessa forma, para elucidar a questão da Modelo3, primeiro vou explicar como usá-la, depois, como criar a sua própria Modelo3.

Bem, como nunca usei a Modelo3, primeiro preciso saber quais os seus parâmetros formais. Usarei para esse fim a função GetFuncPrm(). GetFuncPrm() retorna um Array com todos os parâmetros formais de uma função escrita usando Advpl (não serve para as funções em C, C++ e ou Assembler, que são as "Internal Functions", se é que posso chama-las assim).

Os parâmetros formais da função Modelo3, retornados pela GetFuncPrm("Modelo3") são:


Modelo3 -> ARRAY (   16) [...]          
   Modelo3[1] -> C (    7) [CTITULO]
   Modelo3[2] -> C (    7) [CALIAS1]
   Modelo3[3] -> C (    7) [CALIAS2]
   Modelo3[4] -> C (    8) [AMYENCHO]
   Modelo3[5] -> C (    6) [CLINOK]
   Modelo3[6] -> C (    7) [CTUDOOK]
   Modelo3[7] -> C (    5) [NOPCE]
   Modelo3[8] -> C (    5) [NOPCG]
   Modelo3[9] -> C (    8) [CFIELDOK]
   Modelo3[10] -> C (    8) [LVIRTUAL]
   Modelo3[11] -> C (    7) [NLINHAS]
   Modelo3[12] -> C (   12) [AALTENCHOICE]
   Modelo3[13] -> C (    7) [NFREEZE]
   Modelo3[14] -> C (    8) [ABUTTONS]
   Modelo3[15] -> C (    6) [ACORDW]
   Modelo3[16] -> C (   11) [NSIZEHEADER]
     )  

Que poderiam ser traduzidos como:



Modelo3[1] -> C (    7) [CTITULO]    Titulo do(a) "Dialog"/Janela
Modelo3[2] -> C (    7) [CALIAS1]   Alias Usado na Enchoice
Modelo3[3] -> C (    7) [CALIAS2]   Alias Usado na Alias da GetDados
Modelo3[4] -> C (    8) [AMYENCHO]   Array com campos a serem usados na Enchoice
Modelo3[5] -> C (    6) [CLINOK]   String com a Funcao a ser usada para valida a Linha da GetDados
Modelo3[6] -> C (    7) [CTUDOOK]   String com a Funcao para Validar o Tudo Ok da GetDados
Modelo3[7] -> C (    5) [NOPCE]   Tipo de Operação a ser executada na Enchoice (Visualizar ou Alterar ...)
Modelo3[8] -> C (    5) [NOPCG]   Tipo de Opção a ser executada na GetDados (visualizar, Incluir, Alterar ... )
Modelo3[9] -> C (    8) [CFIELDOK]   Função para validacao de todos os campos da GetDados
Modelo3[10] -> C (    8) [LVIRTUAL]   Se os campos Virtuais deverão aparecer na Enchoice
Modelo3[11] -> C (    7) [NLINHAS]   Numero Maximo de linhas que serão suportadas pela GetDados
Modelo3[12] -> C (   12) [AALTENCHOICE]  Array contendo os campos Alteraveis na Enchoice
Modelo3[13] -> C (    7) [NFREEZE]   Posição para o Congelamento (Freeze) de Colunas na GetDados
Modelo3[14] -> C (    8) [ABUTTONS]   Botões a serem disponibizados na EnchoiceBar
Modelo3[15] -> C (    6) [ACORDW]   Coordenadas do(a) "Dialog"/janela
Modelo3[16] -> C (   11) [NSIZEHEADER]  Valor para Alinhamento dos Objetos

...Continua no próximo Combo

[]s
иαldσ dj

Comentários

  1. Legal o tema sobre Modelo3. Acols me complica por inteiro.

    Legal tb a função GetFuncPrm, eu particularmente, sempre acessava o TDN para saber todos os parâmetros.

    És da TOTVS? Se sim me adicione no comunnicator: jefferson.costa@totvs.com.br

    Abraços

    ResponderExcluir

Postar um comentário

Postagens mais visitadas