AG
Problemas com number_format somente em TWindow
Fechado
Estou com um problema que na gravação de um campo numeric(18,4) banco postgres.
Quando uso o extend do form tipo TWindow da este erro quando uso o TPage não da erro ele grava o registro.
Alguém já passou por este problema?
Obrigado
Quando uso o extend do form tipo TWindow da este erro quando uso o TPage não da erro ele grava o registro.
Alguém já passou por este problema?
Obrigado
Anderson, por um acaso você está deixando sem preenchimento algum campo que utiliza o setNumericMask? Tente preencher todos os campos, se não funcionar poste seu código aqui...
Nataniel não estou deixando de preencher. Como disse se troco o extend de TPage para TWindow dá este erro.
Muito estranho mesmo. Segue código.
$quilometragem_saida = new TEntry('quilometragem_saida');
$quilometragem_saida->setNumericMask(2, ',', '.',true);
onSave
$object->store(); // save the object
// get the generated id
$data->id = $object->id;
$data->data_saida = TDate::date2br($data->data_saida);
$data->data_retorno = TDate::date2br($data->data_retorno);
$data->medidor_saida = number_format($data->medidor_saida, 2, '.', ',');
$data->medidor_retorno = number_format($data->medidor_retorno, 2, '.', ',');
$this->form->setData($data); // fill form data
Nataniel obrigado pela sua boa vontade em me ajudar. Fiz um teste retirando todo o código formatado com number_format mas mesmo assim deu erro! Ou seja tem algo estranho com o TWindow. Como envio uma imagem neste post? tentei de varias formas e não consegui.
Anderson, vc não pode usar o number_format para formatar um número do formato brasileiro para o formato americano, use o setNumericMask com o "true" ou o str_replace do php. Acho que pode ser isso
Ivan retirei todo o código formatado de number_format. E mesmo assim persiste o erro!
Estou utilizando o Windows 10.
o number_format() está esperando o valor a ser formatado, não está nulo/vazio essa variávle?
Não.
Talvez ajude:: https://groups.google.com/forum/#!topic/phpavancado/5RzhYa7KSu8
Romário obrigado pela sua ajuda. Mas informei no post acima que:
class PortariaForm extends TWindow ele não funciona da erro não estou usando mais o number_format retirei de todo o código.
class PortariaForm extends TPage ele funciona a gravação perfeitamente.
obrigado
Anderson, poste todo o código do control ou me envie por email...
Para qual e-mail?
Ivan obrigado pela ajuda e a resolução do problema. Nataniel obrigado pela sua atenção.
O problema estava acontecendo devido a foram declarados duas vezes o nome do forms como fonte abaixo isto é errado. Se for declaram tem que ser com nome diferente.
$this->form = new TQuickForm('form_Portaria');
$this->form = new TQuickForm('form_seek');
Era este o problema que estava deixando a variável no onSave.
Obrigado pela ajuda.