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



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



 
  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. * Constructor method
  9. */
  10. public function __construct(1156 = NULL, $callObjectLoad = TRUE)
  11. {
  12. parent::__construct(1156, $callObjectLoad);
  13. parent::addAttribute('id_formacao_produtos');
  14. parent::addAttribute('id_produto');
  15. parent::addAttribute('qtde');
  16. parent::addAttribute('valor');
  17. parent::addAttribute('divisor');
  18. parent::addAttribute('vlrunitario');
  19. parent::addAttribute('id_destino');
  20. }
  21. }

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