Lançado Adianti Framework 7.6!
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.     /**
  13.      * Constructor method
  14.      */
  15.     public function __construct($id NULL$callObjectLoad TRUE)
  16.     {
  17.         parent::__construct($id$callObjectLoad);
  18.         parent::addAttribute('historico');
  19.         parent::addAttribute('id_centro_custo');
  20.         parent::addAttribute('id_fornecedor');
  21.         parent::addAttribute('id_documento_financeiro');
  22.         parent::addAttribute('id_conta_bancaria');
  23.         parent::addAttribute('dia_vencimento');
  24.         parent::addAttribute('valor');
  25.     }
  26.     public static function total_fixo($criteriaSum)
  27.     {
  28.         TTransaction::open('softproduz');
  29.         $repository = new TRepository('PagarFixo');
  30.         $criteriaSum->resetProperties();
  31.         $objects $repository->load($criteriaSum);
  32.         $saldo 0;
  33.         foreach($objects as $object){
  34.             $saldo $saldo $object->valor;
  35.         }        
  36.         TTransaction::close();
  37.         return $saldo;
  38.     }
  39. }
  40. ?>


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 completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto 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 !!!