Mudar a quantidade de casas decimais de acordo com a configuração

Bom dia.
Tenho um sistema que é utilizado por diferentes clientes.
O cliente A precisa que o campo de valor unitário seja exibido com 2 casas decimais.
Já o cliente B precisa de 4 casas decimais.

No banco de dados há previsão para 5 casas decimais.
É possível alterar a quantidade de casas decimais de acordo com a configuração de cada cliente?

Pensei em colocar 1 campo “QuantidadeCasasDecimais” nas configurações.
O sistema iria ler esta informação no onLoad do formulário em questão e re-configurar o campo de acordo com o valor lido.

É possível fazer isso? E como fazer?

Grato.

Use de acordo com o usuário: sc_trunc_num({Meu_Campo}, Quantidade_Decimal)

1 Curtida

Somente customizando com JS.

@InfinitusWeb, como faria isso via javascript, para um formulário de cadastro de registro único?

Algo mais ou menos assim:

//onload:
$jsUrl = sc_url_library('prj','JsUtil','jquery.mask.js');

echo <<<HTML
<script type="text/javascript" src="$jsUrl"></script>

//onvalidate:
sc_alert({valor});
$_valor =str_replace('.','',{valor});
$_valor = (float)  str_replace(',','.',$_valor);
sc_alert($_valor);

					
HTML;

//evento ajax onchange campo decimais
$mask = [
	'#.##0',
	'#.##0,0',
	'#.##0,00',
	'#.##0,000'
];

$placeholder = [
	'_.___',
	'_.___,_',
	'_.___,__',
	'_.___,___'
];
$placeholder 	= $placeholder[{decimais}];
$mask 			= $mask[{decimais}];

{valor} = '';
sc_ajax_javascript("$('#id_sc_field_valor').mask('$mask', {reverse: true, 'placeholder': '$placeholder'})");
sc_set_focus ('valor');

//evento form:load em Repositório JavaScript:
$("#id_sc_field_valor").mask('#.##0,00',{reverse:true});
$("#id_sc_field_valor").attr('placeholder','_.___,__');

Criar dois campos
1- {decimais} select manual com valores 0,1,2,3
2- {valor} tipo texto.

Veja bem, esse é apenas um exemplo, deve ser aprimorado

Download do exemplo:
https://iwh.tec.br/downloads/sc9_202502251516_export_Suporte.zip

Download da Classe:
https://iwh.tec.br/downloads/jquery.mask.zip

Demonstrativo do Exemplo:

TAGS: HAROLDO, INFINITUSWEB, DECIMAIS, DINÂMICO, CONTROLE, SCRIPTCASE, PHP, JAVASCRIPT