Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Tabela Campo

Decimal

Esse campo é usado para valores numéricos com casas decimais, como preços, porcentagens, ou medidas. Mesmo que só números possam ser digitados, o sistema entende que esse número pode ter vírgula ou ponto para representar os centavos ou frações.

Comportamento

A máscara é aplicada nos seguintes lugares:

  • Lista do crud
  • Formulário do crud: Preenche o caracter separador de milhar (se houver) automaticamente a cada 3 casas. Usuário digita o separador dos decimais quando precisar identificar os decimais. Placeholder exibirá um padrão conforme a mascara. (9[9],[9][9][9].9 -> 99,999.9)

Regra

A combinação de vírgula para a separação dos decimais e vírgula também para a separação dos milhares não é permitida. Ao detectar isso a mascara inverte o separador e irá usar o ponto como separador de milhar. Ex: 9[9],[9][9][9],9 --> 9[9].[9][9][9],9

O mesmo para o uso de ponto para ambos separadores: Ex: 9[9].[9][9][9].9 --> 9[9],[9][9][9].9

Máscara vazia

Quando o campo MASCARA estiver nulo ou vazio, assume automaticamente uma máscara padrão de 8 casas de inteiros e 2 decimais. Quando não houver entrypoint de configuração por filial a máscara configurada será aplicada para todas.

Entrypoint

Filiais que usam diferentes tipos de máscara podem utilizar um entrypoint para fazer essa configuração.

Na tabela core_ds_tabela_campo o campo MASCARA será preenchido com o termo 'ENTRY_POINT'.

Um entrypoint do tipo JSON é criado com a seguinte estrutura no exemplo abaixo:

ACTION:

filial_masks

TABELA:

Tabela em que o campo decimal se encontra.

EQP

CONTENT:

Uma lista de campos, que possui a lista com as respectivas filiais e suas máscaras. É obrigatório o uso da filial 9999 que será a máscara padrão.

{
	"ULTIMO_HORIMETRO": {
		"9999": "9[9][9],[9][9][9].99", /** Default */
		"31": "9[9][9].[9][9][9],99"
	}
}

Exemplo completo do entrypoint (insert)

insert
	into
	nfs_homol_pamela_testes.nfs_entry_point (FILE_OR_DOMAIN,
	`ACTION`,
	XMOVA_INSTALLCODE,
	XMOVA_INSTALLCODE_VERSION,
	EMPRESA,
	FILIAL,
	`LOCAL`,
	TABELA,
	ENTRY_NUM,
	CODE,
	VERSION,
	BUILD,
	ATIVO,
	CODETYPE,
	FIELD,
	DESCRIPTION,
	INS_DH,
	UPD_DH,
	NFS_USER,
	DB_USER)
values('SYSTEM', 'filial_masks', null, null, 9999, 9999, 9999, 'EQP', null, '{
	"ULTIMO_HORIMETRO": {
		"9999": "9[9][9][9][9][9].99",
		"1": "9[9][9][9][9][9],99"
	}
}', 1, 16, 1, 'JSON', null, null, '2019-04-01 10:58:59', '2025-03-31 16:20:55', null, 'thiago.silva.chp@152.249.44.132');

Máscaras (exemplos validados)

['[9][9][9][9]', '9999'],
['[9][9][9][9][9][9]', '999999'],
['[9][9],[9][9]', '99,99'],
['[9][9].99', '99.99'],
['[9][9][9],99', '999,99'],
['[9][9][9][9].99', '9999.99'],
['[9][9][9][9][9][9][9].99', '9999999.99'],
['9[9].9', '99.9'],
['9[9].99', '99.99'],
['9[9][9].99', '999.99'],
['9[9][9].99', '999.99'],
['9[9][9].9999', '999.9999'],
['9[9][9][9].9', '9999.9'],
['9[9][9][9].99', '9999.99'],
['9[9][9][9][9].99', '99999.99'],
['9[9][9][9][9][9].9', '999999.9'],
['9[9][9][9][9][9].99', '999999.99'],
['9[9][9],[9][9][9].99', '999,999.99'],
['9[9][9].[9][9][9],99', '999.999,99'],
['9[9][9][9][9][9],99', '999999,99'],
['9[9][9][9][9][9].999', '999999.999'],
['9[9][9][9][9][9].9999', '999999.9999'],
['9[9][9][9][9][9][9].9', '9999999.9'],
['9[9][9][9][9][9][9].99', '9999999.99'],
['9[9][9][9][9][9][9].999', '9999999.999'],
['9[9][9][9][9][9][9][9].9', '99999999.9'],
['9[9][9][9][9][9][9][9].99', '99999999.99'],
['9[9][9][9][9][9][9][9].999', '99999999.999'],
['9[9][9][9][9][9][9][9].99999', '99999999.99999'],
['9[9][9][9][9][9][9][9].99999999', '99999999.99999999'],
['9[9][9][9][9][9][9][9][9].9', '999999999.9'],
['9[9][9][9][9][9][9][9][9].9', '999999999.9'],
['9[9][9][9][9][9][9][9][9][9].99', '9999999999.99'],
['9[9][9][9][9][9][9][9][9][9][9].999', '99999999999.999'],
['9[9][9][9][9][9][9][9][9][9][9].99999999', '99999999999.99999999'],
['99.99', '99.99'],
['9999,99', '9999,99'],
['9999.999999999999999', '9999.999999999999999']