Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Dúvida com setField "Campo não existe ou contém valor null" Bom dia, recentemente atualizei um sistema da versão 4 do adianti para a última, ai tem uma funcionalidade que me deixou em dúvida, antigamente eu declarava alguns botões assim: ...
IV
Dúvida com setField "Campo não existe ou contém valor null"  
Bom dia, recentemente atualizei um sistema da versão 4 do adianti para a última, ai tem uma funcionalidade que me deixou em dúvida, antigamente eu declarava alguns botões assim:

  1. <?php
  2. $action_ver_nfe= new TDataGridAction(array('NfeCadastroForm''onEdit'));
  3.         $action_ver_nfe->setLabel('Editar NFe');
  4.         $action_ver_nfe->setImage('far:edit fa-lg');
  5.         $action_ver_nfe->setField('nfe_id');
  6.         $action_ver_nfe->setDisplayCondition( array($this'displayVerNfe') );
  7. ?>

E isso ocasiona o erro abaixo:

https://prnt.sc/v9e1fv

O Nfe id as vezes não existe, mas antes não dava erro igual ao print... Até pq o displayCondition não mostraria a ação nesses casos...

Para contornar eu tenho de criar uma outra função, que chama o objeto, verifica o nfe_id e da um loadPage, porém é bastante código a mais, gostaria de saber se estou fazendo errado ou pode ser algum erro do Fw mesmo...

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)


IV

Como resultado disso, recriei a classe TDataGridAction mudando o prepare para não lançar exceção e assim não dar esse erro, mas fica a sugestão para próxima versão caso queiram:

https://prnt.sc/v9el7s

Assim consigo ter listas dessa forma:

https://prnt.sc/v9eomc

De qualquer forma, me informem caso eu tenha feito algo desnecessário haha, obrigado desde já!
NR

"Para contornar eu tenho de criar uma outra função, que chama o objeto, verifica o nfe_id e da um loadPage"
Não entendi o motivo do loadPage. A função chamada pela displayCondition recebe todo o objeto como parâmetro, então você pode testar qualquer atributo diretamente.
IV

Ai é que ta, a condição da false, o botão não exibe, e mesmo assim ele exige que o atributo nfe_id exista no objeto...