VE
onSave() fica no Carregando e não salva no banco
Fechado
Boa tarde é a minha primeira experiencia com o adianti, e estou tendo um problema.
criei um formulário tudo certinho com, a aplicação esta rodando normal, porem na hora que clico em salvar no formulário fica em loop no [ loading ]
já tentei refazer todo o formulário, mudar conexão com o banco de dados e nada resolve.
Estou usando mysql
criei um formulário tudo certinho com, a aplicação esta rodando normal, porem na hora que clico em salvar no formulário fica em loop no [ loading ]
já tentei refazer todo o formulário, mudar conexão com o banco de dados e nada resolve.
Estou usando mysql
Coloca o código fonte ai pra galera analisar.
Este é o fonte do formulário, Desde já agradeço muito a ajuda
Vagner Eugenio tive um problema parecido. Cada campo do arquivo para serem gravados pelo FORM tem que estar definidos no modelo (MODEL). Você criou o model (TRecord) referente ao seu Form?
Se não criou basta gerá-lo e vai funcionar tudo direitinho, é tiro e queda - (a opção "new model" gera automático).
Espero que tenha ajudado.
Bom dia Joaquin criei sim olha a estrutura [ ..config/develinion.ini | ..model/Devolution.class.php | ..control/Devolutions.class.php ] já tentei renomear os arquivos e nada
olha o model
Desculpe, também posso me considerar um iniciante, não saberia dizer porque não grava.
Obs:
..config/develinion.ini
TTransaction::open('devolution');
Vejo que o nome do arquivo ".ini" (develinion) está diferente no TTransaction ('devolution'), eles devem ter o mesmo nome. Foi distração na digitação no Forum...?
desculpa rsrs foi erro na digitação [ teclado do celular ] rsrsrs sim os arquivos estão com o mesmo nome, exatamente como esta no form
pensei que fosse alguma configuração na meu servidor, mais creio que não é, deve ser alguma coisa que montei errado, pois instalei o scriptcase na minha máquina para ver se era problema com o Sql, mais ele ta funcionando normal, então com certeza é alguma coisa que esta errada no fonte do sistema, já refis o código 2 vezes e criei um outro formulários mais ainda não consegui solucionar o problema. Todos os formulários que eu crio não salva.
quando clica em salvar, ele fica com um quadrado preto na tela escrito loading e não sai disso, já refiz o botão de salvar e nada.
Você está usando o Studio (gerador de programas), ou está fazendo na unha?
Acho que descobri o que está fazendo seu programa não gravar, vc não criou o objeto Devolution, veja o exemplo abaixo:
...
ttry
{
TTransaction::open('controleobra'); // open a transaction
$object = new Conta; // create an empty object --->>> FALTOU ESTE COMANDO AQUI
$data = $this->form->getData(); // get form data as array
$object->fromArray( (array) $data); // load the object with data
$object->store(); // save the object
// get the generated id
$data->id = $object->id;
$this->form->setData($data); // fill form data
TTransaction::close(); // close the transaction
new TMessage('info', TAdiantiCoreTranslator::translate('Record saved')); // success message
}
catch (Exception $e) // in case of exception
{
new TMessage('error', $e->getMessage()); // shows the exception error message
$this->form->setData( $this->form->getData() ); // keep form data
TTransaction::rollback(); // undo all pending operations
}
...
Repetindo
...
...
Saudações Vagner
verifica a model const TABELENAME = 'devolutio'; não deveria ser 'devolution'
Boa noite Jorge, esta correto o nome da tabela é este mesmo, e em todos os casos criei outra tabela e formulário e mesmo assim não sai do loading, não sei se o problema seja com o banco de dados, deve ser alguma configuração no botão de salvar, mais já tentei refazer tudo do zero e mesmo assim não chego a uma solução
Vagner, seu config está configurado corretamente? se fica na tela de loading, já verificou se gerou algum erro js?
Bom dia Anderson, sim o config esta correto, e já alterei criei um banco em sqlite e em mysql mais mesmo assim o erro persiste.
Para mim o erro esta nessa parte mais não consigo achar.
vc declarou o form? private $form;
Anderson eu alterei o código e quando coloco
private $form; // <<<<<
o formulário não aparece,
Você tem Telegram? se tiver entra nesse grupo. https://telegram.me/joinchat/CKWfqwbym-NiETKmKnAZgQ
é mais fácil de conversar.
Anderson não tenho me add no whats 16 991428824 ou skype vadesingner
Grato
Conseguimos uma solução.
De parent::__addattribute para parent::addAttribute
De TABELENAME para TABLENAME
De new TMssage('error', $e->getMessage()); para new TMessage('error', $e->getMessage());
apenas um detalhe:
3=>'estraviado' altere para 3=>'extraviado'
Às vezes o erro que trava o "Carregando" nem é relacionado ao PHP, mas ao Javascript.
Ex: Se vcs subirem um arquivo em um host, mas alguns .js não tiverem permissão de leitura, dá erro, mas que só e visível com o Console JS [F12] aberto.
Att,