Conheça as melhorias da versão 8.0, 8.1, 8.2!
Clique aqui para saber mais
Método ContasPagar::total_fixo() não encontrado Olá galera. Realmente já tentei de tudo e não consigo entender o porque desse erro. Coloquei o método Na classe model PagarFixo como segue abaixo: ...
CC
Método ContasPagar::total_fixo() não encontrado  
Olá galera. Realmente já tentei de tudo e não consigo entender o porque desse erro.
Coloquei o método

 
  1. <?php
  2. public static function total_fixo($criteriaSum)
  3. ?>


Na classe model PagarFixo
como segue abaixo:

 
  1. <?php
  2. /**
  3. * PagarFixo Active Record
  4. * @author <your-name-here>
  5. */
  6. class PagarFixo extends TRecord
  7. {
  8. const TABLENAME = 'pagar_fixo';
  9. const PRIMARYKEY= 'id_pagar_fixo';
  10. const IDPOLICY = 'serial'; // {max, serial}
  11. /**
  12. * Constructor method
  13. */
  14. public function __construct($id = NULL, $callObjectLoad = TRUE)
  15. {
  16. parent::__construct($id, $callObjectLoad);
  17. parent::addAttribute('historico');
  18. parent::addAttribute('id_centro_custo');
  19. parent::addAttribute('id_fornecedor');
  20. parent::addAttribute('id_documento_financeiro');
  21. parent::addAttribute('id_conta_bancaria');
  22. parent::addAttribute('dia_vencimento');
  23. parent::addAttribute('valor');
  24. }
  25. public static function total_fixo($criteriaSum)
  26. {
  27. TTransaction::open('softproduz');
  28. $repository = new TRepository('PagarFixo');
  29. $criteriaSum->resetProperties();
  30. $objects = $repository->load($criteriaSum);
  31. $saldo = 0;
  32. foreach($objects as $object){
  33. $saldo = $saldo + $object->valor;
  34. }
  35. TTransaction::close();
  36. return $saldo;
  37. }
  38. }
  39. ?>


Faço a chamada de outra classe à esse método dessa forma:

 
  1. <?php
  2. $data->saldo = number_format(PagarFixo::total_fixo(clone $criteria), 2, ',', '.');
  3. ?>


Simplesmente não encontra o método. DETALHE: se eu passar esse método pra outra classe MODEL, ele funciona.

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


MG

Tentar o seguinte:

 
  1. <?php
  2. $crit = clone $criteria;
  3. $data->saldo = number_format(PagarFixo::total_fixo($crit), 2, ',', '.');
  4. ?>
CC

Opa, Marcelo. Vou tentar, mas já coloquei esse método em outra classe MODEL, e funcionou direitinho...
Tenho esse mesmo método (com outros nomes) em algumas classes MODELs, e todos funcionam corretamente.
Mas vou tentar e dou um retorno.
CC

Continuou do mesmo jeito. Não consigo achar uma explicação. Queria entender porque se eu passo para outro MODEL, ela funciona, e nesse MODEL "PagarFixo" não !!
CC

CORRIGIDO !!!!!!
TINHA OUTRO ARQUIVO COM O MESMO NOME NA RAIZ DO PROJETO !!! (como foi parar lá eu não faço idéia)
Mas tive a sacada de achar que poderia ter outra arquivo com o mesmo nome dentro de alguma pasta do projeto. Fiz apenas uma pesquisa e encontrei o danado....
Mas acreditem: Foi uma pisa grande. rsrsrs Ficou como aprendizado.

VALEU !!!