Problemas para fechar uma TWindow na versão 7.3 Atualizei para da 7.2 para a versão 7.3 e fiquei com um problema para fechar uma TWindow. Meu sistema chama uma list em TPage e no action do datagrid, chamo outra list em TWindow, onde farei uma manutenção de registros, porém quando edito ou incluo um novo que é aberta uma outra TWindow essa não fecha, pela ação de fechar, só no escape, até executa o OnReload, mas não fecha a janela....
DA
Problemas para fechar uma TWindow na versão 7.3  
Atualizei para da 7.2 para a versão 7.3 e fiquei com um problema para fechar uma TWindow.

Meu sistema chama uma list em TPage e no action do datagrid, chamo outra list em TWindow, onde farei uma manutenção de registros, porém quando edito ou incluo um novo que é aberta uma outra TWindow essa não fecha, pela ação de fechar, só no escape, até executa o OnReload, mas não fecha a janela.

A chamada para a primeira TWIndow

 
  1. <?php
  2. public function onShowLog( $param )
  3. {
  4. // get row position
  5. $pos = $this->datagrid->getRowIndex('id', $param['key']);
  6. $lastpage = TSession::getValue('lastpage');
  7. TSession::setValue('cliente_id_'.$lastpage,$param);
  8. TSession::setValue('keyatual_'.$lastpage,$param['key']);
  9. TTransaction::open('cobrebem');
  10. $master_object = new Clientes($param['cliente_id']);
  11. TTransaction::close();
  12. TSession::setValue('consulta_cli','<b>'.$master_object->nome.'</b> Fone 1 :<b>'.$master_object->fone1.' </b> Fone 2 : <b>'.$master_object->fone2.'</b> Celular : <b>'.$master_object->celular.'</b>');
  13. TApplication::loadPage('LogCobrancaList', 'onReload', ['key'=>$param['id'], 'register_state' => 'false']);
  14. }
  15. ?>


A chamada para a segunda TWindow, usando as Actions para incluir ou editar

 
  1. <?php
  2. $this->form->addActionLink(_t('New'), new TAction(['LogCobrancaForm', 'onEdit'], ['register_state' => 'false']), 'fa:plus green');
  3. $action1 = new TDataGridAction(['LogCobrancaForm', 'onEdit'], ['id'=>'{id}', 'register_state' => 'false']);
  4. ?>

A chamada para fechar a segunda TWindow que não fecha mais.

 
  1. <?php
  2. $this->form->addHeaderActionLink( _t('Close'), new TAction(array('LogCobrancaList', 'onReload')), 'fa:times red');
  3. ?>


Uma solução que encontrei, não sei se é a mais elegante ou correta. Modifiquei a ação do Close, criando uma function para ser chamada, e lá dei o closewindow.

 
  1. <?php
  2. $this->form->addHeaderActionLink( _t('Close'), new TAction([__CLASS__, 'onClose'], ['static'=>'1']), 'fa:times red');
  3. public static function onClose()
  4. {
  5. TApplication::loadPage('LogCobrancaList', 'onReload', ['key'=>$param['id'], 'register_state' => 'false']);
  6. parent::closeWindow();
  7. }
  8. Na imagem em anexo, dá para verificar o encadeamento de janelas que preciso

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 (0)