Recarregar formulário após salvar Boa noite. Tenho alguns botões no meu form que dependem de condições par serem habilitados. No entanto, gostaria de recarregar o form (tipo F5) para que o critério dos botões sejam executados. Obrigado...
CM
Recarregar formulário após salvar  
Boa noite.

Tenho alguns botões no meu form que dependem de condições par serem habilitados.

No entanto, gostaria de recarregar o form (tipo F5) para que o critério dos botões sejam executados.

Obrigado

Curso Dominando o Adianti Framework

O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (10)


NM

Hola Claudio

Depois do salvar pode executar essas linhas:
new TMessage('info', AdiantiCoreTranslator::translate('Record saved'));
TApplication::loadPage( 'Recibos_Form', 'onEdit', ['key' => $param['r_numero']] );
CM

Boa tarde Nilton, agradeço por sua ajuda novamente, ele até carrega, mas exibe a mensagem " Permissão Negada"

Segue o código do botão Salvar

 
  1. <?php
  2. public function onSave($param)
  3. {
  4. try
  5. {
  6. // open a transaction with database
  7. TTransaction::open('ourorio');
  8. $data = $this->form->getData();
  9. $this->form->validate();
  10. $master = new Compras;
  11. $master->fromArray( (array) $data);
  12. $master->store();
  13. ComprasSub::where('compra_id', '=', $master->id_compra)->delete();
  14. if( $param['ComprasSub_list_quantidade'] )
  15. {
  16. foreach( $param['ComprasSub_list_quantidade'] as $key => $item_id )
  17. {
  18. $detail = new ComprasSub;
  19. $detail->quantidade = $param['ComprasSub_list_quantidade'][$key];
  20. $detail->data_compra_sub = $param['ComprasSub_list_data_compra_sub'][$key];
  21. $detail->descricao = utf8_decode($param['ComprasSub_list_descricao'][$key]);
  22. $detail->unidade = utf8_decode($param['ComprasSub_list_unidade'][$key]);
  23. $detail->valor_unit = $param['ComprasSub_list_valor_unit'][$key];
  24. $detail->tipo_compra_id = $param['ComprasSub_list_tipo_compra_id'][$key];
  25. $detail->tipo_compra_txt = utf8_decode($param['ComprasSub_list_tipo_compra_txt'][$key]);
  26. $detail->kilate_id = $param['ComprasSub_list_kilate_id'][$key];
  27. $detail->kilate_txt = utf8_decode($param['ComprasSub_list_kilate_txt'][$key]);
  28. $detail->cfop = $param['ComprasSub_list_cfop'][$key];
  29. $detail->codigo_ncm = $param['ComprasSub_list_codigo_ncm'][$key];
  30. $detail->codigo_produto = $param['ComprasSub_list_codigo_produto'][$key];
  31. $detail->cest = $param['ComprasSub_list_cest'][$key];
  32. $detail->origem = utf8_decode($param['ComprasSub_list_origem'][$key]);
  33. $detail->loja_sub_id = $param['ComprasSub_list_loja_sub_id'][$key];
  34. $detail->loja_sub_txt = utf8_decode($param['ComprasSub_list_loja_sub_txt'][$key]);
  35. $detail->vendedor_sub_id = $param['ComprasSub_list_vendedor_sub_id'][$key];
  36. $detail->vendedor_sub_txt = utf8_decode($param['ComprasSub_list_vendedor_sub_txt'][$key]);
  37. $detail->compra_id = $master->id_compra;
  38. $detail->subtotal = ($detail->quantidade * $detail->valor_unit);
  39. $master->valor_total += $detail->subtotal;
  40. $detail->store();
  41. }
  42. }
  43. //FINALIZAR A VENDA
  44. $master->finalizada = 1;
  45. $master->nota_fiscal_status = 'Nova';
  46. $master->loja_id = TSession::getValue('userunitid') ; //id da unidade
  47. $master->loja_txt = TSession::getValue('userunitname'); //nome da unidade
  48. $master->vendedor_txt = TSession::getValue('username'); //nome do usuário
  49. $master->vendedor_id = TSession::getValue('userid');//id usuario
  50. $master->cliente_cpf = preg_replace("/[^0-9]/", "", $master->cliente_cpf); // essa expressao vai substituir tudo que nao for numero por ' '
  51. $master->cliente_cep = preg_replace("/[^0-9]/", "", $master->cliente_cep); // essa expressao vai substituir tudo que nao for numero por ' '
  52. $master->cliente_telefone = preg_replace("/[^0-9]/", "", $master->cliente_telefone); // essa expressao vai substituir tudo que nao for numero por ' '
  53. $master->store();
  54. TTransaction::close(); // close the transaction
  55. TForm::sendData('form_Compras', (object) ['id' => $master->id_compra]);
  56. TToast::show('show','COMPRA GRAVADA COM SUCESSO!', 'center', 'fas fa-check');
  57. //new TMessage('info', AdiantiCoreTranslator::translate('Record saved'));
  58. TApplication::loadPage( 'form_Compras', 'onEdit', ['key' => $param['id_compra']] );
  59. exit;
  60. $file = "tmp/{$compra->id_compra}.pdf";
  61. if (!file_put_contents($file, base64_decode($compra->pdf))) {
  62. throw new Exception("Erro ao tentar gerar Danfe!");
  63. }
  64. TPage::openFile($file);
  65. }
  66. catch (Exception $e) // in case of exception
  67. {
  68. new TMessage('error', $e->getMessage());
  69. $this->form->setData( $this->form->getData() ); // keep form data
  70. TTransaction::rollback();
  71. }
  72. }
  73. ?>
CM

Fiz estas modificações:

TApplication::loadPage( 'ComprasFormMaster', 'onEdit', ['id_compra' => $param['id_compra']] );


Até funciona a o reload do form, só que está limpando o formulário.
CM

Esse é o caminho original do registro:

 
  1. <?php
  2. index.php?class=ComprasFormMaster&method=onEdit&id_compra=20210108&key=20210108
  3. ?>


Esse é o caminho que exibe após salvar:
 
  1. <?php
  2. index.php?class=ComprasFormMaster&method=onEdit&id_compra=20210108
  3. ?>
NR

Por padrão a função onEdit usa a chave "key" para identificar o id do registro. Então, você precisa informar essa chave:
 
  1. <?php
  2. TApplication::loadPage( 'ComprasFormMaster', 'onEdit', ['key' => $param['id_compra']] );
  3. ?>
CM

Show Nataniel!!
Como sempre salvando os amigos.
Obrigado
CM

Natanael boa noite.
Realmente seu código funciona, mas somente quando já existe uma registrada.

Quando não há um id registrado, ele salva e carrega recarrega e continua limpando o form
NR

 
  1. <?php
  2. TApplication::loadPage( 'ComprasFormMaster', 'onEdit', ['id_compra' => $master->id_compra] );
  3. ?>
NR

No comentário anterior esqueci de trocar 'id_compra' por 'key'
CM

Desculpe a demora, perfeito Nataniel.
Funcionando.
Obrigado irmão.