[RESOLVIDO] - Formulário envia vírgula no lugar do ponto em campo decimal

Ao criar um formulário no SC com base no banco (postgres) que tem um campo tipo numeric(4,2), Esse formulário envia, no campo tipo decimal, a vírgula no lugar do ponto no respectivo campo, mesmo definindo manualmente, conforme abaixo:

ERRO Erro ao alterar a base de dados:

:x: ERROR: invalid input syntax for type numeric: “0,0”


Configuração do campo (usar configurações regionais [desabilitada])
Mesmo informando qualquer tipo de separador decimal, ao enviar o form ele envia a “vírgula”

image
Tipo de campo no BD e no SC


Erro ao gravar/atualizar

Mais info: O Postgres por padrão guarda numeros decimais usando pontos ao invés de virgula.

No SC, mesmo tendo a opção de não utilizar as configurações regionais
e marcando a opção de usar um ponto como separador de decimal,
ele não grava no formato que exibe.

Testei até utilizando um traço - e ele exibe o traço como separador de decimais no campo,
mas, na hora de gravar, envia a virgula como separador no comando insert/update.

Ambiente: Linux(Ubuntu)+Postgres
Versões SC: 9.9.007 a 9.9.009(3)

RESOLVIDO COM A AJUDA DO SUPORTE

Entre em “Editar Conexão”->Avançado
Separador Decimal troque de ,(vígula) para . (ponto).

Resolveu, apesar de depois de salvar as alterações e voltar a editar a conexão o select retorna sempre a ,(vírgula) por padrão, talvez por vir do idioma pt_BR do SC que utilizo.

Experimente definir o teu campo desta forma:

image
E veja se funciona pra ti. Pra mim funciona usando banco MySQL.

Espero ter ajudado.

Não funcionou. e como eu escrevi, o campo exibe qualquer separador definido, porém ao gravar ele envia a vírgula, mesmo que esteja exibindo o ponto como separador decimal.

Entendi. Estranho mesmo. Pra contornar, terias que colocar no onBeforeInsert ou no onBeforeUpdate a função para mudar da virgula para o ponto decimal. Mas envie o problema para o email bugs@scriptcase.com.br com os prints.