Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Ajuda com Formatação de Valores no MultiField e Gravação dos mes Boa Noite, Preciso de uma ajudinha... estou postando meu código e tenho duas dúvidas. 1º - Da linha 168 a Linha 171 estou fazendo a formatação dos campos valores que estou utilizando em meu multi-field, "materia_prima", pois bem, para a entrada dos dados ficou joinha, ainda tenho que formatar mais isso será um outro assunto, por hora preciso gravar as informações no banco corretament...
CS
Ajuda com Formatação de Valores no MultiField e Gravação dos mes  
Fechado
Boa Noite,
Preciso de uma ajudinha... estou postando meu código e tenho duas dúvidas.

1º - Da linha 168 a Linha 171 estou fazendo a formatação dos campos valores que estou utilizando em meu multi-field, "materia_prima", pois bem, para a entrada dos dados ficou joinha, ainda tenho que formatar mais isso será um outro assunto, por hora preciso gravar as informações no banco corretamente, então com essa formatação quando registro os dados no multifield o grid fica com a seguinte formatação de valores ex: 100,00 ... por causa da formatação $valor->setNumericMask(2, ',', '.', TRUE); beleza... mais quando mando gravar os dados da tela : Error: SQLSTATE[22P02]: Invalid text representation: 7 ERRO: sintaxe de entrada é inválida para tipo double precision: "100,000" LINE 1: ..., id_destino, id_formacao_produtos) values ('15', '100,000',... ^
o que faço ?

2- Como faço para que o campo valor do meu multifield receba o valor do meu cadastro de produtos ( produto->valor ), tentei mexer no model FormacaoProdutosMP mais acho que não acertei... ambos os códigos seguem abaixo


  1. <?php
  2. /**
  3.  * Formularios de Formacao de Produtos
  4.  *
  5.  * @author                  Carlos Eduardo Ferreira da Silva
  6.  * Data de Criação          10/01/2015
  7.  * Data da Ultima Alteração 10/01/2015
  8.  */
  9. class FormacaoProdutosForm extends TStandardForm
  10. {
  11.     protected $form;
  12.     private $datagrid;
  13.     // se acrescentar valor no array abaixo, mude também o FormacaoProdutosMP.class.php
  14.     private $destino_mp = array( => 'Vlr. Fotocorrosão'
  15.                                  => 'Vlr. Fundição'
  16.                                  => 'Vlr. Outros',
  17.                                  => 'Pedras',
  18.                                  => 'Soldas',
  19.                                  => 'Montagens',
  20.                                  => 'Acab. Bruto',
  21.                                  => 'Acab. Pronto' );
  22.      
  23.     function __construct()
  24.     {
  25.         parent::__construct();
  26.         
  27.         // creates the form
  28.         $this->form = new TQuickForm('form_FormacaoProdutosForm');
  29.         $this->form->class 'tform'// CSS class
  30.         
  31.         // defines the form title
  32.         $this->form->setFormTitle('Formação de Produtos');
  33.         
  34.         // define the database and the Active Record
  35.         parent::setDatabase('conexao');
  36.         parent::setActiveRecord('FormacaoProdutos');
  37.         
  38.         // create the form fields
  39.         1338                      = new TEntry('id');
  40.         $refer                   = new TEntry('refer');
  41.         $obs                     = new TEntry('obs');
  42.         1338_grupo_de_produtos    = new  ">TDBSeekButton('id_grupo_de_produtos''conexao'$this->form->getName(), 'GrupodeProduto''nome''id_grupo_de_produtos''nomegrupoproduto');
  43.         $nomegrupoproduto        = new TEntry('nomegrupoproduto');
  44.         1338_unidade_de_medidas   = new  ">TDBSeekButton('id_unidade_de_medidas''conexao'$this->form->getName(), 'UnidadedeMedida''nome''id_unidade_de_medidas''nomeunidmedida');
  45.         $nomeunidmedida          = new TEntry('nomeunidmedida');
  46.         $peso                    = new TEntry('peso');
  47.         $status                  = new TCombo('status');
  48.         $data_alteracao          = new TDate('data_alteracao');
  49.         $tipocalculo             = new TCombo('tipocalculo');
  50.         $altura                  = new TEntry('altura');
  51.         $largura                 = new TEntry('largura');
  52.         $vlrpedras               = new TEntry('vlrpedras');
  53.         $vlrsoldas               = new TEntry('vlrsoldas');
  54.         $vlrmontagens            = new TEntry('vlrmontagens');
  55.         $vlrfotocorrosao         = new TEntry('vlrfotocorrosao');
  56.         $vlrfundicao             = new TEntry('vlrfundicao');
  57.         $vlroutros               = new TEntry('vlroutros');
  58.         $vlracabbruto            = new TEntry('vlracabbruto');
  59.         $vlracabpronto           = new TEntry('vlracabpronto');
  60.         $vlrau1ml                = new TEntry('vlrau1ml');
  61.         $vlrau2ml                = new TEntry('vlrau2ml');
  62.         $vlrau3ml                = new TEntry('vlrau3ml');
  63.         $vlrau4ml                = new TEntry('vlrau4ml');
  64.         $vlrau5ml                = new TEntry('vlrau5ml');
  65.         $vlrag30ml               = new TEntry('vlrag30ml');
  66.         $vlrniquel               = new TEntry('vlrniquel');
  67.         $vlrniquelfree           = new TEntry('vlrniquelfree');
  68.         $vlrgrafite              = new TEntry('vlrgrafite');
  69.         $vlrbruto                = new TEntry('vlrbruto');
  70.         $margemlucro             = new TEntry('margemlucro');
  71.         $materia_prima           = new TMultiField('materia_prima');
  72.         
  73.         $materia_prima->setClass('FormacaoProdutosMP'); 
  74.       
  75.         1338_produto  = new  ">TDBSeekButton('id_produto''conexao'$this->form->getName(), 'Produto''referencia''materia_prima_id_produto''materia_prima_descproduto');
  76.         $descproduto = new TEntry'descproduto' );
  77.         $qtde        = new TEntry'qtde'   );
  78.         $valor       = new TEntry'valor'  );
  79.         $divisor     = new TEntry'divisor');
  80.         $vlrunitario = new TEntry'vlrunitario' );
  81.         1338_destino  = new TComboCombined'id_destino''desc_iddestino' );
  82.         
  83.         // não editaveis
  84.         1338->setEditableFALSE );       
  85.         $nomegrupoproduto->setEditable(FALSE);
  86.         $nomeunidmedida->setEditable(FALSE);
  87.         $descproduto->setEditable(FALSE);
  88.         // tamanho dos campos
  89.         1338_grupo_de_produtos->setSize(70);
  90.         1338_unidade_de_medidas->setSize(70);
  91.         $nomegrupoproduto->setSize(300);
  92.         $nomeunidmedida->setSize(300);
  93.         1338->setSize(100);     
  94.         $refer->setSize(200);
  95.         $data_alteracao->setSize(90);
  96.         $obs->setSize(508);
  97.         $peso->setSize(100);
  98.         $altura->setSize(100);
  99.         $largura->setSize(100);
  100.         $margemlucro->setSize(100);
  101.         $vlrmontagens->setSize(100);
  102.         $vlrpedras->setSize(100);
  103.         $vlrsoldas->setSize(100);
  104.         $vlrfotocorrosao->setSize(100);
  105.         $vlrfundicao->setSize(100);
  106.         $vlroutros->setSize(100);
  107.         $vlracabbruto->setSize(100);
  108.         $vlracabpronto->setSize(100);
  109.         $status->setSize(90);
  110.         $vlrau1ml->setSize(100);
  111.         $vlrau2ml->setSize(100);
  112.         $vlrau3ml->setSize(100);
  113.         $vlrau4ml->setSize(100);
  114.         $vlrau5ml->setSize(100);
  115.         $vlrag30ml->setSize(100);
  116.         $vlrniquel->setSize(100);
  117.         $vlrniquelfree->setSize(100);
  118.         $vlrgrafite->setSize(100);
  119.         $vlrbruto->setSize(100);
  120.         1338_destino->setSize(200);
  121.         1338_produto->setSize(70);
  122.         $descproduto->setSize(150);
  123.         $qtde->setSize(70);
  124.         $valor->setSize(100);
  125.         $vlrunitario->setSize(100);
  126.         1338_destino->setSize(200);
  127.         
  128.         // Validações
  129.         $refer->addValidation'Referência', new TRequiredValidator );
  130.         1338_grupo_de_produtos->addValidation'Grupo de Produtos', new TRequiredValidator );
  131.         1338_unidade_de_medidas->addValidation'Unidade de Medidas', new TRequiredValidator );
  132.         $peso->addValidation'Peso', new TRequiredValidator );
  133.         $status->addValidation'Status', new TRequiredValidator );
  134.         $tipocalculo->addValidation('Tipo de Calculo', new TRequiredValidator );
  135.         $data_alteracao->addValidation'Data de Alteração', new TRequiredValidator );
  136.         $margemlucro->addValidation'Margem de Lucro', new TRequiredValidator );
  137.         $refer->addValidation'Referência', new TMaxLengthValidator, array(20) );
  138.                        
  139.         // mascaras
  140.         $peso->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  141.         $altura->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  142.         $largura->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  143.         $margemlucro->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  144.         $vlrmontagens->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  145.         $vlrpedras->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  146.         $vlrsoldas->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  147.         $vlrfotocorrosao->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  148.         $vlrfundicao->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  149.         $vlroutros->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  150.         $vlracabbruto->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  151.         $vlracabpronto->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  152.         $vlrau1ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  153.         $vlrau2ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  154.         $vlrau3ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  155.         $vlrau4ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  156.         $vlrau5ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  157.         $vlrag30ml->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  158.         $vlrniquel->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  159.         $vlrniquelfree->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  160.         $vlrgrafite->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  161.         $vlrbruto->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  162.         $qtde->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  163.         $valor->setNumericMask(2',''.'TRUE); // TRUE: process mask when editing and saving
  164.         $vlrunitario->setNumericMask(3',''.'TRUE); // TRUE: process mask when editing and saving
  165.         $divisor->setNumericMask(2',''.'TRUE );
  166.         // alimenta combos
  167.         1338_destino->addItems$this->destino_mp );
  168.         $status->addItems( array( 'A' => 'Ativo''I' => 'Inativo' ) );
  169.         $tipocalculo->addItems( array( '0' => 'Sem Calculo''1' => 'Automático' ) );
  170.         // add the form fields
  171.         $this->form->addQuickFields('Código'           , array( 1338,  new TLabel('Referência') , $refer, new TLabel('Tipo de Cálculo'), $tipocalculo, new TLabel('Status'), $status  ) );
  172.         $this->form->addQuickFields('Data Alteração'   , array( $data_alteracao, new TLabel('Obs') , $obs, new TLabel('ML'), $margemlucro  ) );
  173.         $this->form->addQuickFields('Grupo do Produto' , array( 1338_grupo_de_produtos,  $nomegrupoproduto, new TLabel('Unidade de Medida'), 1338_unidade_de_medidas$nomeunidmedida ) );
  174.         $this->form->addQuickFields('Peso'             , array( $peso$lbl_altura = new TLabel('Altura'.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '), 
  175.                                                          $altura, new TLabel('Largura'.' '.' '.' '), $largura, new TLabel'Pedras'.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' ' ), 
  176.                                                          $vlrpedras, new TLabel('Soldas'.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '.' '),
  177.                                                          $vlrsoldas, new TLabel('Montagens'), $vlrmontagens  ) );
  178.         $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 ) );
  179.         $row $this->form->addRow();
  180.         $row->class 'tformsection';
  181.         $row->addCell( new TLabel('Valores'))->colspan 2;
  182.         
  183.         $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 ) );
  184.         $this->form->addQuickFields('Vlr Ag 30ml', array( $vlrag30ml, new TLabel('Vlr Niquel'.' '), $vlrniquel, new TLabel('Vlr N. Free'), $vlrniquelfree, new TLabel'Vlr Grafite'), $vlrgrafite, new TLabel'Vlr Bruto'.' '.' ' ), $vlrbruto ) );
  185.         $row $this->form->addRow();
  186.         $row->class 'tformsection';
  187.         $row->addCell( new TLabel('Matéria Prima'))->colspan 2;
  188.         
  189.         $materia_prima->setHeight(250);
  190.         $materia_prima->setOrientation('horizontal');
  191.         $materia_prima->addField('id_produto'   'Produto'    ,  1338_produto100TRUE);
  192.         $materia_prima->addField('descproduto''Referencia' ,  $descproduto,200TRUE);
  193.         $materia_prima->addField('valor''Valor'$valor150TRUE);
  194.         $materia_prima->addField('divisor''Divisor'$divisor100TRUE );
  195.         $materia_prima->addField('vlrunitario''Vlr. Unitário'$vlrunitario100TRUE );
  196.         $materia_prima->addField('qtde' 'Qtde' $qtde 100TRUE);
  197.         $materia_prima->addField('id_destino''Id Destino'1338_destino200TRUE );
  198.         
  199.         $row $this->form->addRow();
  200.         $row->addCell$materia_prima )->colspan 2;
  201.         
  202.         // add the actions
  203.         $button1= new TButton('action1');
  204.         $button1->setAction(new TAction(array($this'onSave')), 'Salvar');
  205.         $button1->setImage('ico_save.png');
  206.         
  207.         $button2=new TButton('list');
  208.         $button2->setAction(new TAction(array('FormacaoProdutosList''onReload')), 'Voltar a Listagem');
  209.         $button2->setImage('ico_datagrid.png');
  210.         
  211.         // set exit action 
  212.         $divisor_exit_action = new TAction(array($this'onDivisorExitAction'));
  213.         $divisor->setExitAction($divisor_exit_action);
  214.   
  215.         $this->form->setFields( array( 1338$refer$obs1338_grupo_de_produtos$nomegrupoproduto1338_unidade_de_medidas$nomeunidmedida$peso$status$data_alteracao,
  216.                                        $tipocalculo$altura$largura$vlrpedras$vlrsoldas$vlrmontagens$vlrfotocorrosao$vlrfundicao$vlroutros$vlracabbruto$vlracabpronto,
  217.                                        $vlrau1ml$vlrau2ml$vlrau3ml$vlrau4ml$vlrau5ml$vlrag30ml$vlrniquel$vlrniquelfree$vlrgrafite$vlrbruto$margemlucro$materia_prima$button1,
  218.                                        $button2 ) ); 
  219.         $subtable = new TTable;
  220.         $row $subtable->addRow();
  221.         $row->addCell($button1);
  222.         $row->addCell($button2);
  223.   
  224.         $vbox = new TVBox;
  225.         $vbox->add(new TXMLBreadCrumb('menu.xml''FormacaoProdutosList'));
  226.         $vbox->add($this->form);
  227.         $vbox->add($subtable);
  228.         parent::add($vbox);
  229.                 
  230.     }
  231.     
  232.     
  233.     /**
  234.      * Action to be executed
  235.     */
  236.     public static function onDivisorExitAction($params)
  237.     {
  238.        if( $params['materia_prima_divisor'] > 
  239.        {
  240.           $obj = new StdClass;
  241.           $obj->materia_prima_vlrunitario $params['materia_prima_valor'] / $params['materia_prima_divisor'];
  242.           TForm::sendData('form_FormacaoProdutosForm'$obj);
  243.        }
  244.     }
  245.         
  246.     
  247.     /**
  248.      * Overloaded method onSave()
  249.      * Executed whenever the user clicks at the save button
  250.     */
  251.     function onSave()
  252.     {
  253.     
  254.         try
  255.         {
  256.             // open a transaction with database 'samples'
  257.             TTransaction::open('conexao');
  258.  
  259.             $this->form->validate();
  260.             
  261.             // read the form data and instantiates an Active Record
  262.             $mat_prima $this->form->getData('FormacaoProdutos');
  263.                 
  264.             if ($mat_prima->materia_prima)
  265.             {
  266.                                  
  267.                 $mat_prima->vlrfotocorrosao 0;
  268.                 $mat_prima->vlrfundicao 0;
  269.                 $mat_prima->vlroutros 0;
  270.                 $mat_prima->vlrmontagens 0;
  271.                 $mat_prima->vlrsoldas 0;
  272.                 $mat_prima->vlrpedras 0;
  273.                 $mat_prima->vlracabbruto 0;
  274.                 $mat_prima->vlracabpronto 0;
  275.                 
  276.                 foreach ($mat_prima->materia_prima as $item_mp)
  277.                 {
  278.                   $mat_prima->addFormacaoProdutosMP($item_mp);
  279.                   switch ( $item_mp->id_destino )
  280.                   {
  281.                     case 1:
  282.                       $mat_prima->vlrfotocorrosao += ( $item_mp->vlrunitario $item_mp->qtde );
  283.                     case 2:
  284.                       $mat_prima->vlrfundicao += ( $item_mp->vlrunitario $item_mp->qtde );
  285.                     case 3:
  286.                       $mat_prima->vlroutros += ( $item_mp->vlrunitario $item_mp->qtde );
  287.                     case 4:
  288.                       $mat_prima->vlrpedras += ( $item_mp->vlrunitario $item_mp->qtde );
  289.                     case 5:
  290.                       $mat_prima->vlrsoldas += ( $item_mp->vlrunitario $item_mp->qtde );
  291.                     case 6:
  292.                       $mat_prima->vlrmontagens += ( $item_mp->vlrunitario $item_mp->qtde );
  293.                     case 7:
  294.                       $mat_prima->vlracabbruto += ( $item_mp->vlrunitario $item_mp->qtde );
  295.                     case 8:
  296.                       $mat_prima->vlracabpronto += ( $item_mp->vlrunitario $item_mp->qtde );
  297.                   }
  298.                   
  299.                 }
  300.             }
  301.             
  302.             $mat_prima->store();
  303.    
  304.             $this->form->setData($mat_prima);
  305.             
  306.             // shows the success message
  307.             new TMessage('info'_t('Record saved'));
  308.             
  309.             TTransaction::close(); // close the transaction
  310.         }
  311.         catch (Exception $e// in case of exception
  312.         {
  313.             // shows the exception error message
  314.             new TMessage('error''<b>Error</b>: ' $e->getMessage());
  315.             // undo all pending operations
  316.             TTransaction::rollback();
  317.         }
  318.         
  319.     }
  320.     
  321.     
  322.     function onEdit($param)
  323.     {
  324.         try
  325.         {
  326.             if (isset($param['key']))
  327.                      {
  328.                 // open a transaction with database 'samples'
  329.                 TTransaction::open('conexao');
  330.                 
  331.                 // load the Active Record according to its ID
  332.                 $produto = new FormacaoProdutos($param['key']);
  333.                 
  334.                 // load the contacts (composition)
  335.                 $produto->materia_prima
  336.                  $produto->getFormacaoProdutosMPs();
  337.                 
  338.                 // fill the form with the active record data
  339.                 $this->form->setData($produto);
  340.                 
  341.                 // close the transaction
  342.                 TTransaction::close();
  343.                 
  344.             }
  345.             else
  346.             {
  347.                 $this->form->clear();
  348.             }
  349.             
  350.         }
  351.         catch (Exception $e// in case of exception
  352.         {
  353.             // shows the exception error message
  354.             new TMessage('error''<b>Error</b>' $e->getMessage());
  355.             // undo all pending operations
  356.             TTransaction::rollback();
  357.         }
  358.     }  
  359.  
  360.     
  361. }
  362. ?>


  1. <?php
  2. /**
  3.  * FormacaoProdutos Active Record
  4.  * @author  <your-name-here>
  5.  */
  6. class FormacaoProdutos extends TRecord
  7. {
  8.     const TABLENAME 'public.formacao_produtos';
  9.     const PRIMARYKEY'id';
  10.     const IDPOLICY =  'serial'// {max, serial}
  11.     
  12.     
  13.     private $nomegrupoproduto;
  14.     private $nomeunidmedida;
  15.     
  16.     private $formacao_produtos_mps;
  17.     
  18.     /**
  19.      * Constructor method
  20.      */
  21.     public function __construct(1338 NULL$callObjectLoad TRUE)
  22.     {
  23.         parent::__construct(1338$callObjectLoad);
  24.         parent::addAttribute('refer');
  25.         parent::addAttribute('peso');
  26.         parent::addAttribute('id_grupo_de_produtos');
  27.         parent::addAttribute('id_unidade_de_medidas');
  28.         parent::addAttribute('obs');
  29.         parent::addAttribute('tipocalculo');
  30.         parent::addAttribute('status');
  31.         parent::addAttribute('altura');
  32.         parent::addAttribute('largura');
  33.         parent::addAttribute('vlrpedras');
  34.         parent::addAttribute('vlrsoldas');
  35.         parent::addAttribute('vlrmontagens');
  36.         parent::addAttribute('vlrfotocorrosao');
  37.         parent::addAttribute('vlrfundicao');
  38.         parent::addAttribute('vlroutros');
  39.         parent::addAttribute('vlracabbruto');
  40.         parent::addAttribute('vlracabpronto');
  41.         parent::addAttribute('vlrau1ml');
  42.         parent::addAttribute('vlrau2ml');
  43.         parent::addAttribute('vlrau3ml');
  44.         parent::addAttribute('vlrau4ml');
  45.         parent::addAttribute('vlrau5ml');
  46.         parent::addAttribute('vlrag30ml');
  47.         parent::addAttribute('vlrniquel');
  48.         parent::addAttribute('vlrniquelfree');
  49.         parent::addAttribute('vlrgrafite');
  50.         parent::addAttribute('vlrbruto');
  51.         parent::addAttribute('data_alteracao');
  52.         parent::addAttribute('margemlucro');
  53.         
  54.     }
  55.     
  56.     /**
  57.      * Method get_grupode_produto
  58.      * Sample of usage: $formacao_produtos->grupode_produto->attribute;
  59.      * @returns GrupodeProduto instance
  60.      */
  61.     public function get_nomegrupoproduto()
  62.     {
  63.         
  64.         if ( empty($this->nomegrupoproduto) )
  65.            $this->nomegrupoproduto = new GrupodeProduto($this->id_grupo_de_produtos);
  66.         return $this->nomegrupoproduto->nome;
  67.         
  68.     }
  69.     
  70.     
  71.     /**
  72.      * Method get_unidadede_medida
  73.      * Sample of usage: $formacao_produtos->unidadede_medida->attribute;
  74.      * @returns UnidadedeMedida instance
  75.      */
  76.     public function get_nomeunidmedida()
  77.     {
  78.         if (empty($this->nomeunidmedida))
  79.            $this->nomeunidmedida = new UnidadedeMedida($this->id_unidade_de_medidas);
  80.     
  81.         return $this->nomeunidmedida->nome;
  82.     }
  83.     
  84.     
  85.     /**
  86.      * Method addFormacaoProdutosMP
  87.      * Add a FormacaoProdutosMP to the FormacaoProdutos
  88.      * @param $object Instance of FormacaoProdutosMP
  89.      */
  90.     public function addFormacaoProdutosMP(FormacaoProdutosMP $object)
  91.     {
  92.         $this->formacao_produtos_mps[] = $object;
  93.     }
  94.     
  95.     /**
  96.      * Method getFormacaoProdutosMPs
  97.      * Return the FormacaoProdutos' FormacaoProdutosMP's
  98.      * @return Collection of FormacaoProdutosMP
  99.      */
  100.     public function getFormacaoProdutosMPs()
  101.     {
  102.         return $this->formacao_produtos_mps;
  103.     }
  104.     /**
  105.      * Reset aggregates
  106.      */
  107.     public function clearParts()
  108.     {
  109.         $this->formacao_produtos_mps = array();
  110.     }
  111.     /**
  112.      * Load the object and its aggregates
  113.      * @param 1338 object ID
  114.      */
  115.     public function load(1338)
  116.     {
  117.        $this->formacao_produtos_mps parent::loadComposite('FormacaoProdutosMP''id_formacao_produtos'1338);
  118.        return parent::load(1338);
  119.     }
  120.     /**
  121.      * Store the object and its aggregates
  122.      */
  123.     public function store()
  124.     {
  125.        parent::store();
  126.        parent::saveComposite('FormacaoProdutosMP''id_formacao_produtos'$this->id$this->formacao_produtos_mps);      
  127.     }
  128.     /**
  129.      * Delete the object and its aggregates
  130.      * @param 1338 object ID
  131.      */
  132.     public function delete(1338 NULL)
  133.     {
  134.        1338 = isset(1338) ? 1338 $this->id;
  135.        parent::deleteComposite('FormacaoProdutosMP''id_formacao_produtos'1338);
  136.        parent::delete(1338);
  137.     }
  138. }
  139. ?>


  1. <?php
  2. /**
  3.  * FormacaoProdutosFormacaoProdutosMP Active Record
  4.  * @author  <your-name-here>
  5.  */
  6. class FormacaoProdutosMP extends TRecord
  7. {
  8.     const TABLENAME 'public.formacao_produtos_mp';
  9.     const PRIMARYKEY'id';
  10.     const IDPOLICY =  'serial'// {max, serial}
  11.     
  12.     private $descproduto;
  13.     private $desc_iddestino;
  14.     private $produto;
  15.     private $materia_prima_valor;
  16.     private $destino_mp = array( => 'Vlr. Fotocorrosão'
  17.                                  => 'Vlr. Fundição'
  18.                                  => 'Vlr. Outros',
  19.                                  => 'Pedras',
  20.                                  => 'Soldas',
  21.                                  => 'Montagens',
  22.                                  => 'Acab. Bruto',
  23.                                  => 'Acab. Pronto' );
  24.     
  25.     /**
  26.      * Constructor method
  27.      */
  28.     public function __construct(1338 NULL$callObjectLoad TRUE)
  29.     {
  30.         parent::__construct(1338$callObjectLoad);
  31.         parent::addAttribute('id_formacao_produtos');
  32.         parent::addAttribute('id_produto');
  33.         parent::addAttribute('qtde');
  34.         parent::addAttribute('valor');
  35.         parent::addAttribute('divisor');
  36.         parent::addAttribute('vlrunitario');
  37.         parent::addAttribute('id_destino');
  38.         
  39.     }
  40.     
  41.     /**
  42.     * Returns the GrupodeProduto nomegrupodeproduto
  43.     * Sample: print $Produto->nomegrupodeproduto;
  44.     */
  45.     public function get_descproduto()
  46.     {
  47.         if (empty($this->descproduto))
  48.         {
  49.             $this->descproduto = new Produto($this->id_produto);
  50.         }
  51.         
  52.         return $this->descproduto->nome;
  53.     }
  54.     /**
  55.     * Returns the GrupodeProduto nomegrupodeproduto
  56.     * Sample: print $Produto->nomegrupodeproduto;
  57.     */
  58.     public function get_desc_iddestino()
  59.     {
  60.         if (empty($this->desc_iddestino))
  61.         {
  62.             $this->desc_iddestino $this->destino_mp[$this->id_destino];
  63.         }
  64.         
  65.         return $this->desc_iddestino;
  66.     }
  67.     public function get_materia_prima_valor()
  68.     {
  69.         if (empty($this->materia_prima_valor))
  70.         {
  71.             $this->materia_prima_valor = new Produto($this->id_produto);
  72.         }
  73.         
  74.         return $this->materia_prima_valor->valor;
  75.     }
  76. }
  77. ?>

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