Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Gravar datas formatadas Criei um formulário pelo gerador de formulário do Adianti Framework Pró. E setei a exibição de data no formato Brasileiro dd-mm-yyyy até ai tudo bem funcionando perfeitamente. O Problema é quando o método onSave vai gravar os campos, ele grava tudo menos a data. Como corrigir isso. Já comprei o livro do framework porém precisarei esperar chegar e tenho urgência na entrega deste projeto....
CC
Gravar datas formatadas  
Fechado
Criei um formulário pelo gerador de formulário do Adianti Framework Pró. E setei a exibição de data no formato Brasileiro dd-mm-yyyy até ai tudo bem funcionando perfeitamente. O Problema é quando o método onSave vai gravar os campos, ele grava tudo menos a data. Como corrigir isso. Já comprei o livro do framework porém precisarei esperar chegar e tenho urgência na entrega deste projeto. Alguém pode me ajudar.?

Segue em anexo imagem com o campo formatado e tela do banco com dado em branco após gravação.

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (3)


AF

No método onSave é necessário converter a data no formato brasileiro para o formato americano.
Utilize a função TDate::date2br($SUAVARIAVEL) ou TDate::date2us($SUAVARIAVEL) para fazer estas conversões.
Utilize date2us no onSave e date2br no onEdit.
Dê uma resposta aqui se der certo.
Espero ter ajudado.
BJ

Olá Aurélio,

Eu faço conforme abaixo:

  1. <?php
  2. //passo 1  - definir a máscara
  3.     $dt_cadastro->setMask('dd/mm/yyyy');
  4. //Passo 2 - no onEdit, formatar a data para br a ser exibida logo após instanciar o Active Record
  5.     $object = new Produto($key); // instantiates the Active Record
  6.     $object->dt_cadastro TDate::date2br($object->dt_cadastro);
  7. $this->form->setData($object); // fill the form
  8. //Passo 3 - no onSave, data us antes do método store e br logo após, antes de carregar a data para o form
  9.     $object->dt_cadastroTDate::date2us($object->dt_cadastro);
  10.     $this->form->validate(); // form validation
  11.     .
  12.     .
  13.     $object->store(); // stores the object
  14.     $object->dt_cadastro TDate::date2br($object->dt_cadastro);
  15.     $this->form->setData($object); // keep form data
  16. ?>



Boa sorte.
CC

Funcionou. Muito obrigado !