Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Erro ao gravar os dados de um TMultiField Pessoal, Boa tarde !!! preciso de uma ajuda, por favor. Em dezembro comprei as vídeos aulas e os livros e já estou fazendo bastante coisas no Adianti Framework, a ferramenta é fantástica...mais como todo aprendiz estou travado em uma processo... já analisei o fonte umas 20 vezes mais não estou conseguindo entender o problema...até tenho outra tela que usa recurso parecido esta funcionand...
CS
Erro ao gravar os dados de um TMultiField  
Fechado
Pessoal,
Boa tarde !!!
preciso de uma ajuda, por favor.
Em dezembro comprei as vídeos aulas e os livros e já estou fazendo bastante coisas no Adianti Framework, a ferramenta é fantástica...mais como todo aprendiz estou travado em uma processo... já analisei o fonte umas 20 vezes mais não estou conseguindo entender o problema...até tenho outra tela que usa recurso parecido esta funcionando mais não consigo encontrar diferença,

Quando tento salvar os dados no formulario FormacaoProdutosForm ele está dando erro, vou colocar o arquivo com o erro em anexo.

por favor quem puder dar uma dica eu agradeço.

Vou colocar os fontes abaixo:

  1. <?php
  2. class FormacaoProdutosForm extends TStandardForm
  3. {
  4.     protected $form;
  5.     private $datagrid;
  6.       
  7.     function __construct()
  8.     {
  9.         parent::__construct();
  10.         
  11.         // creates the form
  12.         $this->form = new TQuickForm('form_FormacaoProdutosForm');
  13.         $this->form->class 'tform'// CSS class
  14.         
  15.         // defines the form title
  16.         $this->form->setFormTitle('Formação de Produtos');
  17.         
  18.         // define the database and the Active Record
  19.         parent::setDatabase('conexao');
  20.         parent::setActiveRecord('FormacaoProdutos');
  21.         
  22.         // create the form fields
  23.         1156                      = new TEntry('id');
  24.         $refer                   = new TEntry('refer');
  25.         $obs                     = new TEntry('obs');
  26.         1156_grupo_de_produtos    = new  ">TDBSeekButton('id_grupo_de_produtos''conexao'$this->form->getName(), 'GrupodeProduto''nome''id_grupo_de_produtos''nomegrupoproduto');
  27.         $nomegrupoproduto        = new TEntry('nomegrupoproduto');
  28.         1156_unidade_de_medidas   = new  ">TDBSeekButton('id_unidade_de_medidas''conexao'$this->form->getName(), 'UnidadedeMedida''nome''id_unidade_de_medidas''nomeunidmedida');
  29.         $nomeunidmedida          = new TEntry('nomeunidmedida');
  30.         $peso                    = new TEntry('peso');
  31.         $status                  = new TCombo('status');
  32.         $data_alteracao          = new TDate('data_alteracao');
  33.         $tipocalculo             = new TCombo('tipocalculo');
  34.         $altura                  = new TEntry('altura');
  35.         $largura                 = new TEntry('largura');
  36.         $qtdepedras              = new TEntry('qtdepedras');
  37.         $qtdesoldas              = new TEntry('qtdesoldas');
  38.         $qtdemontagens           = new TEntry('qtdemontagens');
  39.         $vlrfotocorrosao         = new TEntry('vlrfotocorrosao');
  40.         $vlrfundicao             = new TEntry('vlrfundicao');
  41.         $vlroutros               = new TEntry('vlroutros');
  42.         $vlracabbruto            = new TEntry('vlracabbruto');
  43.         $vlracabpronto           = new TEntry('vlracabpronto');
  44.         $vlrau1ml                = new TEntry('vlrau1ml');
  45.         $vlrau2ml                = new TEntry('vlrau2ml');
  46.         $vlrau3ml                = new TEntry('vlrau3ml');
  47.         $vlrau4ml                = new TEntry('vlrau4ml');
  48.         $vlrau5ml                = new TEntry('vlrau5ml');
  49.         $vlrag30ml               = new TEntry('vlrag30ml');
  50.         $vlrniquel               = new TEntry('vlrniquel');
  51.         $vlrniquelfree           = new TEntry('vlrniquelfree');
  52.         $vlrgrafite              = new TEntry('vlrgrafite');
  53.         $margemlucro             = new TEntry('margemlucro');
  54.         $materia_prima           = new TMultiField('materia_prima');
  55.       
  56.         $mp_id_produto  = new  ">TDBSeekButton('mp_id_produto''conexao'$this->form->getName(), 'Produto''referencia''materia_prima_id_produto''materia_prima_refer');
  57.         $mp_descproduto = new TEntry'mp_descproduto' );
  58.         $mp_qtde        = new TEntry'mp_qtde'   );
  59.         $mp_valor       = new TEntry'mp_valor'  );
  60.         $mp_divisor     = new TEntry'mp_divisor');
  61.         $mp_vlrunitario = new TEntry'mp_vlrunitario' );
  62.         $mp_id_destino  = new TCombo'mp_id_destino' );
  63.         
  64.         // não editaveis
  65.         1156->setEditableFALSE );       
  66.         $nomegrupoproduto->setEditable(FALSE);
  67.         $nomeunidmedida->setEditable(FALSE);
  68.         // tamanho dos campos
  69.         1156_grupo_de_produtos->setSize(70);
  70.         1156_unidade_de_medidas->setSize(70);
  71.         $nomegrupoproduto->setSize(300);
  72.         $nomeunidmedida->setSize(300);
  73.         1156->setSize(100);     
  74.         $refer->setSize(200);
  75.         $data_alteracao->setSize(90);
  76.         $obs->setSize(508);
  77.         $peso->setSize(100);
  78.         $altura->setSize(100);
  79.         $largura->setSize(100);
  80.         $margemlucro->setSize(100);
  81.         $qtdemontagens->setSize(100);
  82.         $qtdepedras->setSize(100);
  83.         $qtdesoldas->setSize(100);
  84.         $vlrfotocorrosao->setSize(100);
  85.         $vlrfundicao->setSize(100);
  86.         $vlroutros->setSize(100);
  87.         $vlracabbruto->setSize(100);
  88.         $vlracabpronto->setSize(100);
  89.         $status->setSize(90);
  90.         $vlrau1ml->setSize(100);
  91.         $vlrau2ml->setSize(100);
  92.         $vlrau3ml->setSize(100);
  93.         $vlrau4ml->setSize(100);
  94.         $vlrau5ml->setSize(100);
  95.         $vlrag30ml->setSize(100);
  96.         $vlrniquel->setSize(100);
  97.         $vlrniquelfree->setSize(100);
  98.         $vlrgrafite->setSize(100);
  99.         $mp_id_destino->setSize(200);
  100.         $mp_id_produto->setSize(70);
  101.         $mp_descproduto->setSize(150);
  102.         $mp_qtde->setSize(70);
  103.         $mp_valor->setSize(100);
  104.         $mp_vlrunitario->setSize(100);
  105.         $mp_id_destino->setSize(200);
  106.         
  107.         // Validações
  108.         $refer->addValidation'Referência', new TRequiredValidator );
  109.         1156_grupo_de_produtos->addValidation'Grupo de Produtos', new TRequiredValidator );
  110.         1156_unidade_de_medidas->addValidation'Unidade de Medidas', new TRequiredValidator );
  111.         $peso->addValidation'Peso', new TRequiredValidator );
  112.         $status->addValidation'Status', new TRequiredValidator );
  113.         $tipocalculo->addValidation('Tipo de Calculo', new TRequiredValidator );
  114.         $data_alteracao->addValidation'Data de Alteração', new TRequiredValidator );
  115.         $margemlucro->addValidation'Margem de Lucro', new TRequiredValidator );
  116.         $refer->addValidation'Referência', new TMaxLengthValidator, array(20) );
  117.                        
  118.         // mascaras
  119.         $peso->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  120.         $altura->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  121.         $largura->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  122.         $margemlucro->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  123.         $qtdemontagens->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  124.         $qtdepedras->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  125.         $qtdesoldas->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  126.         $vlrfotocorrosao->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  127.         $vlrfundicao->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  128.         $vlroutros->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  129.         $vlracabbruto->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  130.         $vlracabpronto->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  131.         $vlrau1ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  132.         $vlrau2ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  133.         $vlrau3ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  134.         $vlrau4ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  135.         $vlrau5ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  136.         $vlrag30ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  137.         $vlrniquel->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  138.         $vlrniquelfree->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  139.         $vlrgrafite->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  140.  
  141.      //   $mp_qtde->setNumericMask(2, ',', '.', TRUE); // TRUE: process mask when editing and saving
  142.      //   $mp_valor->setNumericMask(2, ',', '.', TRUE); // TRUE: process mask when editing and saving
  143.       //  $mp_vlrunitario->setNumericMask(2, ',', '.', TRUE); // TRUE: process mask when editing and saving
  144.         // alimenta combos
  145.         $mp_id_destino->addItems( array( => 'Vlr. Fotocorrosão'=> 'Vlr. Fundição'=> 'Vlr. Outros' ) );
  146.         $status->addItems( array( 'A' => 'Ativo''I' => 'Inativo' ) );
  147.         $tipocalculo->addItems( array( '0' => 'Sem Calculo''1' => 'Automático' ) );
  148.         // add the form fields
  149.         $this->form->addQuickFields('Código'           , array( 1156,  new TLabel('Referência') , $refer, new TLabel('Tipo de Cálculo'), $tipocalculo, new TLabel('Status'), $status  ) );
  150.         $this->form->addQuickFields('Data Alteração'   , array( $data_alteracao, new TLabel('Obs') , $obs, new TLabel('ML'), $margemlucro  ) );
  151.         $this->form->addQuickFields('Grupo do Produto' , array( 1156_grupo_de_produtos,  $nomegrupoproduto, new TLabel('Unidade de Medida'), 1156_unidade_de_medidas$nomeunidmedida ) );
  152.         $this->form->addQuickFields('Peso'             , array( $peso$lbl_altura = new TLabel('Altura'.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '), 
  153.                                                          $altura, new TLabel('Largura'.' '.' '.' '), $largura, new TLabel'Pedras'.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' ' ), 
  154.                                                          $qtdepedras, new TLabel('Soldas'.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '),
  155.                                                          $qtdesoldas, new TLabel('Montagens'), $qtdemontagens  ) );
  156.         $this->form->addQuickFields('Vlr Fotocorrosão' , array( $vlrfotocorrosao, new TLabel('Vlr Fundição'), $vlrfundicao, new TLabel'Vlr Outros' ), $vlroutros, new TLabel('Vlr Acab Bruto'), $vlracabbruto, new TLabel'Vlr Acab Pronto' ), $vlracabpronto ) );
  157.         $row $this->form->addRow();
  158.         $row->class 'tformsection';
  159.         $row->addCell( new TLabel('Valores'))->colspan 2;
  160.         
  161.         $this->form->addQuickFields('Vlr Au 1ml' , array( $vlrau1ml, new TLabel('Vlr Au 2ml') , $vlrau2ml, new TLabel'Vlr Au 3ml'), $vlrau3ml, new TLabel('Vlr Au 4ml'), $vlrau4ml, new TLabel('Vlr Au 5ml'), $vlrau5ml ) );
  162.         $this->form->addQuickFields('Vlr Ag 30ml', array( $vlrag30ml, new TLabel('Vlr Niquel'), $vlrniquel, new TLabel('Vlr N. Free'), $vlrniquelfree, new TLabel'Vlr Grafite'), $vlrgrafite ) );
  163.         $row $this->form->addRow();
  164.         $row->class 'tformsection';
  165.         $row->addCell( new TLabel('Matéria Prima'))->colspan 2;
  166.         
  167.         $materia_prima->setHeight(250);
  168.         $materia_prima->setOrientation('horizontal');
  169.         $materia_prima->addField('id_produto'   'Produto'    ,  $mp_id_produto100TRUE);
  170.         $materia_prima->addField('refer''Referencia' ,  $mp_descproduto,200TRUE);
  171.         $materia_prima->addField('qtde' 'Qtde' $mp_qtde 100TRUE);
  172.         $materia_prima->addField('valor''Valor'$mp_valor150);
  173.         $materia_prima->addField('divisor''Divisor'$mp_divisor100 );
  174.         $materia_prima->addField('vlrunitario''Vlr. Unitário'$mp_vlrunitario100 );
  175.         $materia_prima->addField('id_destino''Destino'$mp_id_destino200 );
  176.         
  177.         $row $this->form->addRow();
  178.         $row->addCell$materia_prima )->colspan 2;
  179.         
  180.         // add the actions
  181.         $button1= new TButton('action1');
  182.         $button1->setAction(new TAction(array($this'onSave')), 'Salvar');
  183.         $button1->setImage('ico_save.png');
  184.         
  185.         $button2=new TButton('list');
  186.         $button2->setAction(new TAction(array('FormacaoProdutosList''onReload')), 'Voltar a Listagem');
  187.         $button2->setImage('ico_datagrid.png');
  188.   
  189.         $this->form->setFields( array( 1156$refer$obs1156_grupo_de_produtos$nomegrupoproduto1156_unidade_de_medidas$nomeunidmedida$peso$status$data_alteracao,
  190.                                        $tipocalculo$altura$largura$qtdepedras$qtdesoldas$qtdemontagens$vlrfotocorrosao$vlrfundicao$vlroutros$vlracabbruto$vlracabpronto,
  191.                                        $vlrau1ml$vlrau2ml$vlrau3ml$vlrau4ml$vlrau5ml$vlrag30ml$vlrniquel$vlrniquelfree$vlrgrafite$margemlucro$materia_prima$button1,
  192.                                        $button2 ) ); 
  193.         $subtable = new TTable;
  194.         $row $subtable->addRow();
  195.         $row->addCell($button1);
  196.         $row->addCell($button2);
  197.   
  198.         $vbox = new TVBox;
  199.         $vbox->add(new TXMLBreadCrumb('menu.xml''FormacaoProdutosList'));
  200.         $vbox->add($this->form);
  201.         $vbox->add($subtable);
  202.         parent::add($vbox);
  203.                 
  204.     }
  205.     
  206.     /**
  207.      * Overloaded method onSave()
  208.      * Executed whenever the user clicks at the save button
  209.     */
  210.     function onSave()
  211.     {
  212.     
  213.         try
  214.         {
  215.             // open a transaction with database 'samples'
  216.             TTransaction::open('conexao');
  217.  
  218.             $this->form->validate();
  219.             
  220.             // read the form data and instantiates an Active Record
  221.             $mat_prima $this->form->getData('FormacaoProdutos');
  222.             if ($mat_prima->materia_prima)
  223.             {
  224.                 foreach ($mat_prima->materia_prima as $item_mp)
  225.                 {
  226.                     
  227.                     var_dump$item_mp );
  228.                     
  229.                     $mat_prima->addFormacaoProdutosMP($item_mp);
  230.                 }
  231.             }
  232.             
  233.             $mat_prima->store();
  234.    
  235.             $this->form->setData($mat_prima);
  236.             
  237.             // shows the success message
  238.             new TMessage('info'_t('Record saved'));
  239.             
  240.             TTransaction::close(); // close the transaction
  241.         }
  242.         catch (Exception $e// in case of exception
  243.         {
  244.             // shows the exception error message
  245.             new TMessage('error''<b>Error</b>: ' $e->getMessage());
  246.             // undo all pending operations
  247.             TTransaction::rollback();
  248.         }
  249.         
  250.     }
  251.     
  252.      
  253.     function onEdit($param)
  254.     {
  255.         try
  256.         {
  257.             if (isset($param['key']))
  258.             {
  259.                 // open a transaction with database 'samples'
  260.                 TTransaction::open('conexao');
  261.                 
  262.                 // load the Active Record according to its ID
  263.                 $produto = new FormacaoProdutos($param['key']);
  264.                 
  265.                 // load the contacts (composition)
  266.                 $produto->materia_prima
  267.                  $produto->getFormacaoProdutosMPs();
  268.                 
  269.                 // fill the form with the active record data
  270.                 $this->form->setData($produto);
  271.                 
  272.                 // close the transaction
  273.                 TTransaction::close();
  274.                 
  275.             }
  276.             else
  277.             {
  278.                 $this->form->clear();
  279.             }
  280.         }
  281.         catch (Exception $e// in case of exception
  282.         {
  283.             // shows the exception error message
  284.             new TMessage('error''<b>Error</b>' $e->getMessage());
  285.             // undo all pending operations
  286.             TTransaction::rollback();
  287.         }
  288.     }  
  289.  
  290.     
  291. }
  292. ?>



  1. <?php
  2. class FormacaoProdutos extends TRecord
  3. {
  4.     const TABLENAME 'public.formacao_produtos';
  5.     const PRIMARYKEY'id';
  6.     const IDPOLICY =  'serial'// {max, serial}
  7.     
  8.     
  9.     private $grupode_produto;
  10.     private $unidadede_medida;
  11.     private $formacao_produtos_mps;
  12.     /**
  13.      * Constructor method
  14.      */
  15.     public function __construct(1156 NULL$callObjectLoad TRUE)
  16.     {
  17.         parent::__construct(1156$callObjectLoad);
  18.         parent::addAttribute('refer');
  19.         parent::addAttribute('peso');
  20.         parent::addAttribute('id_grupo_de_produtos');
  21.         parent::addAttribute('id_unidade_de_medidas');
  22.         parent::addAttribute('obs');
  23.         parent::addAttribute('tipocalculo');
  24.         parent::addAttribute('status');
  25.         parent::addAttribute('altura');
  26.         parent::addAttribute('largura');
  27.         parent::addAttribute('qtdepedras');
  28.         parent::addAttribute('qtdesoldas');
  29.         parent::addAttribute('qtdemontagens');
  30.         parent::addAttribute('vlrfotocorrosao');
  31.         parent::addAttribute('vlrfundicao');
  32.         parent::addAttribute('vlroutros');
  33.         parent::addAttribute('vlracabbruto');
  34.         parent::addAttribute('vlracabpronto');
  35.         parent::addAttribute('vlrau1ml');
  36.         parent::addAttribute('vlrau2ml');
  37.         parent::addAttribute('vlrau3ml');
  38.         parent::addAttribute('vlrau4ml');
  39.         parent::addAttribute('vlrau5ml');
  40.         parent::addAttribute('vlrag30ml');
  41.         parent::addAttribute('vlrniquel');
  42.         parent::addAttribute('vlrniquelfree');
  43.         parent::addAttribute('vlrgrafite');
  44.         parent::addAttribute('data_alteracao');
  45.         parent::addAttribute('margemlucro');
  46.     }
  47.     
  48.     /**
  49.      * Method set_grupode_produto
  50.      * Sample of usage: $formacao_produtos->grupode_produto = $object;
  51.      * @param $object Instance of GrupodeProduto
  52.      */
  53.     public function set_grupode_produto(GrupodeProduto $object)
  54.     {
  55.         $this->grupode_produto $object;
  56.         $this->id_grupode_produto $object->id;
  57.     }
  58.     
  59.     /**
  60.      * Method get_grupode_produto
  61.      * Sample of usage: $formacao_produtos->grupode_produto->attribute;
  62.      * @returns GrupodeProduto instance
  63.      */
  64.     public function get_grupode_produto()
  65.     {
  66.         // loads the associated object
  67.         if (empty($this->grupode_produto))
  68.             $this->grupode_produto = new GrupodeProduto($this->id_grupode_produto);
  69.     
  70.         // returns the associated object
  71.         return $this->grupode_produto;
  72.     }
  73.     
  74.     
  75.     /**
  76.      * Method set_unidadede_medida
  77.      * Sample of usage: $formacao_produtos->unidadede_medida = $object;
  78.      * @param $object Instance of UnidadedeMedida
  79.      */
  80.     public function set_unidadede_medida(UnidadedeMedida $object)
  81.     {
  82.         $this->unidadede_medida $object;
  83.         $this->id_unidadede_medida $object->id;
  84.     }
  85.     
  86.     /**
  87.      * Method get_unidadede_medida
  88.      * Sample of usage: $formacao_produtos->unidadede_medida->attribute;
  89.      * @returns UnidadedeMedida instance
  90.      */
  91.     public function get_unidadede_medida()
  92.     {
  93.         // loads the associated object
  94.         if (empty($this->unidadede_medida))
  95.             $this->unidadede_medida = new UnidadedeMedida($this->id_unidadede_medida);
  96.     
  97.         // returns the associated object
  98.         return $this->unidadede_medida;
  99.     }
  100.     
  101.     
  102.     /**
  103.      * Method addFormacaoProdutosMP
  104.      * Add a FormacaoProdutosMP to the FormacaoProdutos
  105.      * @param $object Instance of FormacaoProdutosMP
  106.      */
  107.     public function addFormacaoProdutosMP(FormacaoProdutosMP $object)
  108.     {
  109.         $this->formacao_produtos_mps[] = $object;
  110.     }
  111.     
  112.     /**
  113.      * Method getFormacaoProdutosMPs
  114.      * Return the FormacaoProdutos' FormacaoProdutosMP's
  115.      * @return Collection of FormacaoProdutosMP
  116.      */
  117.     public function getFormacaoProdutosMPs()
  118.     {
  119.         return $this->formacao_produtos_mps;
  120.     }
  121.     /**
  122.      * Reset aggregates
  123.      */
  124.     public function clearParts()
  125.     {
  126.         $this->formacao_produtos_mps = array();
  127.     }
  128.     /**
  129.      * Load the object and its aggregates
  130.      * @param 1156 object ID
  131.      */
  132.     public function load(1156)
  133.     {
  134.     
  135.         // load the related FormacaoProdutosMP objects
  136.         $repository = new TRepository('FormacaoProdutosMP');
  137.         $criteria = new TCriteria;
  138.         $criteria->add(new TFilter('id_formacao_produtos''='1156));
  139.         $formacao_produtos_mps $repository->load($criteria);
  140.         if ($formacao_produtos_mps)
  141.         {
  142.             foreach ($formacao_produtos_mps as $formacao_produtos_mp)
  143.             {
  144.                 $formacao_produtos_mp = new FormacaoProdutosMP$formacao_produtos_mp->id_formacao_produtos_mp );
  145.                 $this->addFormacaoProdutosMP($formacao_produtos_mp);
  146.             }
  147.         }
  148.     
  149.         // load the object itself
  150.         return parent::load(1156);
  151.     }
  152.     /**
  153.      * Store the object and its aggregates
  154.      */
  155.     public function store()
  156.     {
  157.         // store the object itself
  158.         parent::store();
  159.     
  160.         // delete the related FormacaoProdutosFormacaoProdutosMP objects
  161.         $criteria = new TCriteria;
  162.         $criteria->add(new TFilter('id_formacao_produtos''='$this->id));
  163.         $repository = new TRepository('FormacaoProdutosMP');
  164.         $repository->delete($criteria);
  165.         // store the related FormacaoProdutosFormacaoProdutosMP objects
  166.         if ($this->formacao_produtos_mps)
  167.         {
  168.             foreach ($this->formacao_produtos_mps as $formacao_produtos_mp)
  169.             {
  170.                 $formacao_produtos_mp = new FormacaoProdutosMP;
  171.                 $formacao_produtos_mp->id_formacao_produtos_mp $formacao_produtos_mp->id;
  172.                 $formacao_produtos_mp->id_formacao_produtos $this->id;
  173.                 $formacao_produtos_mp->store();
  174.             }
  175.         }
  176.     }
  177.     /**
  178.      * Delete the object and its aggregates
  179.      * @param 1156 object ID
  180.      */
  181.     public function delete(1156 NULL)
  182.     {
  183.         1156 = isset(1156) ? 1156 $this->id;
  184.         // delete the related FormacaoProdutosFormacaoProdutosMP objects
  185.         $repository = new TRepository('FormacaoProdutosMP');
  186.         $criteria = new TCriteria;
  187.         $criteria->add(new TFilter('id_formacao_produtos''='1156));
  188.         $repository->delete($criteria);
  189.         
  190.     
  191.         // delete the object itself
  192.         parent::delete(1156);
  193.     }
  194. }
  195. ?>



  1. <?php
  2. class FormacaoProdutosMP extends TRecord
  3. {
  4.     const TABLENAME 'public.formacao_produtos_mp';
  5.     const PRIMARYKEY'id';
  6.     const IDPOLICY =  'serial'// {max, serial}
  7.     
  8.     
  9.     /**
  10.      * Constructor method
  11.      */
  12.     public function __construct(1156 NULL$callObjectLoad TRUE)
  13.     {
  14.         parent::__construct(1156$callObjectLoad);
  15.         parent::addAttribute('id_formacao_produtos');
  16.         parent::addAttribute('id_produto');
  17.         parent::addAttribute('qtde');
  18.         parent::addAttribute('valor');
  19.         parent::addAttribute('divisor');
  20.         parent::addAttribute('vlrunitario');
  21.         parent::addAttribute('id_destino');
  22.         
  23.     }
  24. }

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