não consigo pegar os dados do TMultfield bom dia galera a cada dia a coisa piora tenho o seguinte mult ...
AS
não consigo pegar os dados do TMultfield  
Fechado
bom dia galera a cada dia a coisa piora

tenho o seguinte mult

 
  1. <?php
  2. $this->multfild = new TMultiField('produtos');
  3. $this->multfild->setClass('ItensVenda');
  4. $this->multfild->addField('idProduto', 'Codigo', $cod_produto,200);
  5. $this->multfild->addField('nomeProduto', 'Produto', $produto, 300);
  6. $this->multfild->addField('qtd', 'Quantidade', $qtd, 50);
  7. ?>


e quero pegar os dados em uma função para fazer os calculos nessesarios, mas não vai por nada

 
  1. <?php
  2. function calcular($param){
  3. try{
  4. $obj = $this->form->getData();
  5. $valorTotal = 0;
  6. TTransaction::open('mysql');
  7. foreach ($obj->produtos as $p){
  8. //preciso pegar o multfild
  9. var_dump($p);
  10. exit();
  11. $produto = new Servicos($p->produto_id);
  12. $valorTotal = $produto->preco * $p->qtd;
  13. }
  14. $pagamento = new Parcelas($obj->pagamento_id);
  15. $obj->vtotal = round( $this->calcParcelaJuros($valorTotal, $obj->parcelas, $pagamento->juros),2);
  16. $obj->vparcelas = round(($this->calcParcelaJuros($valorTotal, $obj->parcelas, $pagamento->juros)/$obj->parcelas),2);
  17. $this->form->setData($obj);
  18. // TForm::sendData('VendasCompleta', $obj);
  19. TTransaction::close();
  20. } catch (Exception $e){
  21. new TMessage('info', $e->getMessage());
  22. TTransaction::rollback();
  23. }
  24. }
  25. ?>


sempre que dou um var_dump, me retorna isso

object(ItensVenda)#207 (5) { ["produto":"ItensVenda":private]=> NULL ["idProduto":"ItensVenda":private]=> NULL ["nomeProduto":"ItensVenda":private]=> NULL ["data":protected]=> array(4) { ["id"]=> string(1) "1" ["idProduto"]=> string(1) "1" ["nomeProduto"]=> string(9) "Web Sites" ["qtd"]=> string(1) "2" } ["attributes":protected]=> array(0) { } }



ai não sei como percorrer isso ja que usar $p->idProduto, não 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 (1)


PD

Oi Alexandre,

Suspeito que você declarou os atributos $idProduto e $nomeProduto dentro da classe ItensVenda, assim:
 
  1. <?php
  2. class ItensVenda extends TRecord
  3. {
  4. private $idProduto;
  5. private $nomeProduto;
  6. }
  7. ?>


Se você fez isso, remova. Esses atributos devem vir dos getters e setters padrão da TRecord, que armazena os valores em um vetor interno $this->data.

abs,
Pablo