Problema com decimal em Cópia

Meus caros,

Tenho um formulário que permite a cópia do registro usando o botão Copiar nativo do SC. Funcionava perfeitamente bem mas, quando passou a ter um campo decimal, a cópia dá problema com os decimais. Se o campo contiver 1,25 a cópia vem com 1.25 e, como a configuração de decimal é com vírgula, o valor é considerado 125.
Alguém sabe como resolver esse problema?

qual tipo do atributo no banco de dados ?

Float ?

Qual banco de dados ?

Banco de dados MySQL 5.6 e o campo é do tipo INT(5). Mas vale lembrar que o campo que está dando problema na cópia não vem do banco de dados, pois é campo virtual, cujo valor é usado em uma função PHP para atualizar o campo real do banco no evento onValidateSuccess do form. Usei essa técnica porque o campo de digitação pode ser em metros, centímetros ou milímetros, enquanto no banco tenho apenas um campo com a medida em milímetros.

tenta usar no banco de dados, DECIMAL(10,2)

outra opção seria habilita o mode debug para verificar se o sql de insert esta carregando corretamente…

Régis,

O problema ocorre antes mesmo de fazer a inserção no banco e, portanto, mudar o tipo não faz diferença, até porque o campo com o referido problema é virtual (não existe no banco, sendo apenas da aplicação). Quando abre o registro cópia o campo já é carregado com o problema no valor.

Meus caros,

Consegui resolver o problema e posto aqui a solução para o caso de alguém passar pela mesma situação.
Eu apenas precisei usar a macro sc_format_num formatando todos os campos de medidas exibidos nos eventos onLoad e onNavigate. Abaixo um trecho do código para entenderem melhor:

// atualiza os campos calculados de medida de largura e altura utilizados pela empresa
$li_qtde = (empty({qtde}))? 0 : {qtde};
$li_largura = (empty({largura}))? 0 : {largura};
$li_altura = (empty({altura}))? 0 : {altura};
if({unid_med_dig} == “M”){ // se utiliza medida em metros
{largura_mt} = $li_largura / 1000;
{altura_mt} = $li_altura / 1000;
{soma} = $li_qtde + ($li_largura / 1000) + ($li_altura / 1000);
sc_format_num({largura_mt}, ‘.’, ‘,’, 3, ‘N’, ‘1’, ‘’);
sc_format_num({altura_mt}, ‘.’, ‘,’, 3, ‘N’, ‘1’, ‘’);
sc_format_num({soma}, ‘.’, ‘,’, 3, ‘N’, ‘1’, ‘’);
}elseif({unid_med_dig} == “C”){ // se utiliza medida em centimetros
{largura_cm} = $li_largura / 100;
{altura_cm} = $li_altura / 100;
{soma} = $li_qtde + ($li_largura / 100) + ($li_altura / 100);
sc_format_num({largura_cm}, ‘’, ‘,’, 1, ‘S’, ‘1’, ‘’);
sc_format_num({altura_cm}, ‘’, ‘,’, 1, ‘S’, ‘1’, ‘’);
sc_format_num({soma}, ‘’, ‘,’, 1, ‘S’, ‘1’, ‘’);
}else{ // se utiliza medida em milimetros
{largura_mm} = $li_largura;
{altura_mm} = $li_altura;
{soma} = $li_qtde + $li_largura + $li_altura;
sc_format_num({largura_mm}, ‘’, ‘,’, 0, ‘S’, ‘1’, ‘’);
sc_format_num({altura_mm}, ‘’, ‘,’, 0, ‘S’, ‘1’, ‘’);
sc_format_num({soma}, ‘’, ‘,’, 0, ‘S’, ‘1’, ‘’);
}
{area} = ($li_largura / 1000) * ($li_altura / 1000);
sc_format_num({area}, ‘.’, ‘,’, 3, ‘N’, ‘1’, ‘’);

Após o uso da macro formatando os números, consegui usar o botão cópia sem problemas.

Obrigado a todos que se prontificaram a ajudar.