WF
Erro: Classe Item não encontrada em Adianti\Widget\Form\TForm::
Fechado
Criei um relatório de digitação de coletas, tenho uma aba onde uma grid lista as diversas NF-es que serão coletadas. Porém não consigo gravar os dados, segue a tela com o erro (Classe Item não encontrada em Adianti\Widget\Form\TForm::getData) e o código do formulário.
- <?php
- class ColetaForm extends TPage
- {
- private $form; // form
- private $frete_total;
- private $detail_list;
- function __construct()
- {
- parent::__construct();
- // creates the form
- $this->form = new TForm('form_coleta');
- $this->form->class = 'tform';
- // cria as tabelas
- $table_data = new TTable;
- $table_destino = new TTable;
- $table_carga = new TTable;
- $table_frete = new TTable;
- $table_diversos = new TTable;
- $table_nfe = new TTable;
- //Tamanho do notebook
- $notebook = new TNotebook(500, 250);
- // adiciona as abas do notebook
- $this->form->add($notebook);
- // Adiciona o nome das abas do notebook
- $notebook->appendPage('Solicitante', $table_data);
- $notebook->appendPage('Destino', $table_destino);
- $notebook->appendPage('Carga',$table_carga);
- $notebook->appendPage('NF-es',$table_nfe);
- $notebook->appendPage('Frete', $table_frete);
- $notebook->appendPage('Diversos',$table_diversos);
- // campos do formulário
- 2425 = new TEntry('id');
- $customer_cnpj = new TSeekButton('customer_cnpj');
- $status = new TEntry('status');
- $observacoes = new TText('observacoes');
- $solicitante = new TEntry('solicitante');
- $address = new TEntry('address');
- $numero = new TEntry('numero');
- $complemento = new TEntry('complemento');
- $bairro = new TEntry('bairro');
- $cep = new TEntry('cep');
- $uf = new TCombo('uf');
- $municipio = new TEntry('municipio');
- $contato = new TEntry('contato');
- $telefone = new TEntry('telefone');
- $email = new TEntry('email');
- $empresa_col = new TEntry('empresa_col');
- $customercol_cnpj = new TSeekButton('customercol_cnpj');
- $address_col = new TEntry('address_col');
- $numero_col = new TEntry('numero_col');
- $complemento_col = new TEntry('complemento_col');
- $bairro_col = new TEntry('bairro_col');
- $cep_col = new TEntry('cep_col');
- $uf_col = new TCombo('uf_col');
- $municipio_col = new TEntry('municipio_col');
- $produto_id = new TDBCombo('produto_id' , 'samples', 'produto' , 'id', 'name');//busca o produto
- $grnatureza_id = new TDBCombo('grnatureza_id', 'samples', 'Grunatureza', 'id', 'name');//busca a natureza
- $embalagem_id = new TDBCombo('embalagem_id' , 'samples', 'Embalagem' , 'id', 'name');//busca a embalagem
- $distancia = new TEntry('distancia');
- $prod_quimico = new TCombo('prod_quimico');
- $onu = new TEntry('onu');
- //dados da nfe
- $nfe = new TEntry('nfe');
- $serie = new TEntry('serie');
- $data_nfe = new TDate('data_nfe');
- $volume = new TEntry('volume');
- $peso = new TEntry('peso');
- $comprimento = new TEntry('comprimento');
- $largura = new TEntry('largura');
- $altura = new TEntry('altura');
- $peso_cubico = new TEntry('peso_cubico');
- $peso_cubado = new TEntry('peso_cubado');
- $valor_nf = new TEntry('valor_nf');
- //frete a cobrar
- $comentarios = new TText('comentarios');
- $fretepeso = new TEntry('fretepeso');
- $fretevalor = new TEntry('fretevalor');
- $coleta = new TEntry('coleta');
- $entrega = new TEntry('entrega');
- $data_coleta = new TDate('data_coleta');
- $outros = new TEntry('outros');
- $cat = new TEntry('cat');
- $sec_cat = new TEntry('sec_cat');
- $gris = new TEntry('gris');
- $txdespacho = new TEntry('txdespacho');
- $pedagio = new TEntry('pedagio');
- $perc_icms = new TEntry('perc_icms');
- $base_icms = new TEntry('base_icms');
- $valor_icms = new TEntry('valor_icms');
- //OBS: Diferente para validar
- $this->frete_total= new TEntry('frete_total');
- $alteracao = new TEntry('alteracao');
- // Tamanho dos campos e desabilitação para editar
- 2425 ->setSize(150);
- 2425 ->setEditable(false);
- $status ->setSize(150);
- $data_coleta ->setSize(133);
- //Dados do Solicitante
- $solicitante ->setSize(220);
- $solicitante ->style = "text-transform: uppercase";
- $customer_cnpj ->setSize(130);
- $address ->setSize(220);
- $address ->style = "text-transform: uppercase";
- $municipio ->setSize(220);
- $municipio ->style = "text-transform: uppercase";
- $numero ->setSize(75);
- $complemento ->setSize(220);
- $complemento ->style = "text-transform: uppercase";
- $bairro ->setSize(173);
- $bairro ->style = "text-transform: uppercase";
- $cep ->setSize(122);
- $uf ->setSize(50);
- $uf ->style = "text-transform: uppercase";
- $contato ->setSize(220);
- $contato ->style = "text-transform: uppercase";
- $telefone ->setSize(155);
- $email ->setSize(220);
- $email ->style = "text-transform: lowercase";
- //Dados do destino
- $empresa_col ->setSize(220);
- $empresa_col ->style = "text-transform: uppercase";
- $customercol_cnpj ->setSize(130);
- $address_col ->setSize(220);
- $address_col ->style = "text-transform: uppercase";
- $municipio_col ->setSize(220);
- $municipio_col ->style = "text-transform: uppercase";
- $numero_col ->setSize(75);
- $complemento_col ->setSize(220);
- $complemento_col ->style = "text-transform: uppercase";
- $bairro_col ->setSize(173);
- $bairro_col ->style = "text-transform: uppercase";
- $cep_col ->setSize(122);
- $uf_col ->setSize(50);
- $uf_col ->style = "text-transform: uppercase";
- //Dados do produto
- $produto_id ->setSize(350);
- $grnatureza_id ->setSize(350);
- $embalagem_id ->setSize(220);
- $distancia ->setSize(90);
- $prod_quimico ->setSize(144);
- $onu ->setSize(145);
- $observacoes ->setSize(350);
- //Dados da NF-e
- $nfe ->setSize(100);//colocar
- $serie ->setSize(44); //colocar
- $data_nfe ->setSize(124);//colocar
- $volume ->setSize(144);
- $peso ->setSize(146);
- $peso_cubico ->setSize(144);
- $peso_cubado ->setSize(146);
- $comprimento ->setSize(44);
- $largura ->setSize(44);
- $altura ->setSize(44);
- $valor_nf ->setSize(146);
- //Dados do frete
- $fretepeso ->setSize(150);
- $fretevalor ->setSize(150);
- $coleta ->setSize(150);
- $entrega ->setSize(150);
- $txdespacho ->setSize(150);
- $outros ->setSize(150);
- $cat ->setSize(150);
- $sec_cat ->setSize(150);
- $gris ->setSize(150);
- $pedagio ->setSize(150);
- $perc_icms ->setSize(150);
- $base_icms ->setSize(150);
- $valor_icms ->setSize(150);
- //OBS: Diferente para validar
- $this->frete_total ->setSize(150);
- //Demais informações
- $alteracao ->setSize(150);
- $comentarios ->setSize(350);
- //Lista de UFs
- $itemUf = array();
- $itemUf['AC'] = 'AC';
- $itemUf['AL'] = 'AL';
- $itemUf['AM'] = 'AM';
- $itemUf['AP'] = 'AP';
- $itemUf['BA'] = 'BA';
- $itemUf['CE'] = 'CE';
- $itemUf['DF'] = 'DF';
- $itemUf['ES'] = 'ES';
- $itemUf['EX'] = 'EX';
- $itemUf['GO'] = 'GO';
- $itemUf['MA'] = 'MA';
- $itemUf['MG'] = 'MG';
- $itemUf['MS'] = 'MS';
- $itemUf['MT'] = 'MT';
- $itemUf['PA'] = 'PA';
- $itemUf['PB'] = 'PB';
- $itemUf['PE'] = 'PE';
- $itemUf['PI'] = 'PI';
- $itemUf['PR'] = 'PR';
- $itemUf['RJ'] = 'RJ';
- $itemUf['RN'] = 'RN';
- $itemUf['RO'] = 'RO';
- $itemUf['RR'] = 'RR';
- $itemUf['RS'] = 'RS';
- $itemUf['SC'] = 'SC';
- $itemUf['SE'] = 'SE';
- $itemUf['SP'] = 'SP';
- $itemUf['TO'] = 'TO';
- $uf ->addItems($itemUf);//Estado do solicitante
- $uf_col->addItems($itemUf);//Estado do destinatário
- //Mascaras de entrada, campos obrigatórios, validações
- $fretepeso ->setNumericMask(2, ',', '.',true);
- $fretevalor ->setNumericMask(2, ',', '.',true);
- $coleta ->setNumericMask(2, ',', '.',true);
- $entrega ->setNumericMask(2, ',', '.',true);
- $txdespacho ->setNumericMask(2, ',', '.',true);
- $outros ->setNumericMask(2, ',', '.',true);
- $cat ->setNumericMask(2, ',', '.',true);
- $sec_cat ->setNumericMask(2, ',', '.',true);
- $gris ->setNumericMask(2, ',', '.',true);
- $pedagio ->setNumericMask(2, ',', '.',true);
- $valor_icms ->setNumericMask(2, ',', '.',true);
- //Obs: Diferente para validar
- $this->frete_total ->setNumericMask(2, ',', '.',true);
- $valor_nf ->setNumericMask(2, ',', '.',true);
- $base_icms ->setNumericMask(2, ',', '.',true);
- $perc_icms ->setNumericMask(2, ',', '.',true);
- $peso_cubico ->setNumericMask(2, ',','.' ,true);
- $peso_cubado ->setNumericMask(2, ',','.' ,true);
- $comprimento ->setNumericMask(2, ',','.' ,true);
- $largura ->setNumericMask(2, ',','.' ,true);
- $altura ->setNumericMask(2, ',','.' ,true);
- $status ->setValue('Lançado');
- $data_coleta ->setMask('dd/mm/yyyy');
- $cep ->setMask('99999-999');
- $telefone ->setMask('(99)9999-9999');
- $cep_col ->setMask('99999-999');
- //Validação dos campos
- $email ->addValidation('E-mail',new TEmailValidator);
- $data_coleta ->addValidation('Data de solicitação', new TRequiredValidator);
- $solicitante ->addValidation('R.Z Social', new TRequiredValidator);
- $address ->addValidation('Endereço', new TRequiredValidator);
- $municipio ->addValidation('Cidade', new TRequiredValidator);
- $numero ->addValidation('Número', new TRequiredValidator);
- $bairro ->addValidation('Bairro', new TRequiredValidator);
- $cep ->addValidation('C.E.P', new TRequiredValidator);
- $uf ->addValidation('UF', new TRequiredValidator);
- $contato ->addValidation('Contato', new TRequiredValidator);
- $telefone ->addValidation('Telefone', new TRequiredValidator);
- $empresa_col ->addValidation('R.Z Social do Destinatário', new TRequiredValidator);
- $address_col ->addValidation('Endereço do Destinatário', new TRequiredValidator);
- $municipio_col ->addValidation('Cidade do Destinatário', new TRequiredValidator);
- $numero_col ->addValidation('Número do Destinatário', new TRequiredValidator);
- $bairro_col ->addValidation('Bairro do Destinatário', new TRequiredValidator);
- $cep_col ->addValidation('C.E.P do Destinatário', new TRequiredValidator);
- $uf_col ->addValidation('UF do Destinatário', new TRequiredValidator);
- $produto_id ->addValidation('Produto', new TRequiredValidator);
- $grnatureza_id ->addValidation('Grupo', new TRequiredValidator);
- $embalagem_id ->addValidation('Embalagem', new TRequiredValidator);
- $prod_quimico ->addValidation('Químico', new TRequiredValidator);
- $volume ->addValidation('Volume', new TRequiredValidator);
- $peso ->addValidation('Peso', new TRequiredValidator);
- $valor_nf ->addValidation('Valor da NF-e', new TRequiredValidator);
- //Ação dos campos ao perder o foco
- $altura ->setExitAction(new TAction(array($this, 'onCubagem' )));
- $peso_cubico ->setExitAction(new TAction(array($this, 'onPesocubado')));
- //Objeto para criar o campo de busca de solicitante e destinatário por cnpj ou rz social
- $obj = new SolicitanteCol; //
- $customer_cnpj->setAction(new TAction(array($obj, 'onReload')));
- $obj2 = new Destinatario; //
- $customercol_cnpj->setAction(new TAction(array($obj2, 'onReload')));
- //Botão da Grid - Aba NF-e
- $btn_inclui_nfe = new TButton('btn_inclui_nfe');
- $btn_inclui_nfe->setAction(new TAction(array($this, 'onIncluiNFe')), 'Incluir');
- $btn_inclui_nfe->setImage('fa:save');
- //Itens do químico
- $itemQ= array();
- $itemQ['Não'] = 'Não';
- $itemQ['Sim'] = 'Sim';
- $prod_quimico->setValue('Não');
- $prod_quimico->addItems($itemQ);
- //Valores padrões para os campos de calculo do frete, isso evita o erro da linha 79
- $fretepeso ->setValue('0');
- $fretevalor ->setValue('0');
- $coleta ->setValue('0');
- $entrega ->setValue('0');
- $txdespacho ->setValue('0');
- $outros ->setValue('0');
- $cat ->setValue('0');
- $sec_cat ->setValue('0');
- $gris ->setValue('0');
- $pedagio ->setValue('0');
- $valor_icms ->setValue('0');
- $this->frete_total->setValue('0');
- $valor_nf ->setValue('0');
- $base_icms ->setValue('0');
- $comprimento ->setValue('0');
- $largura ->setValue('0');
- $altura ->setValue('0');
- $peso_cubico ->setValue('0');
- $peso_cubado ->setValue('0');
- $perc_icms ->setValue('12');
- $status ->setValue('Lançado');
- $alteracao ->setValue(date('d-m-Y / H:i'));
- $alteracao ->setEditable(FALSE);
- $base_icms ->setEditable(FALSE);
- $valor_icms ->setEditable(FALSE);
- $comentarios ->setEditable(FALSE);
- $status ->setEditable(FALSE);
- // Campos da Aba Solicitante
- $table_data->addRowSet(new TLabel(''));
- $table_data->addRowSet(new TLabel('Número:') ,array(2425, new TLabel('Data de solicitação :'),$data_coleta));
- $table_data->addRowSet(new TLabel('CNPJ:') ,array($customer_cnpj,new TLabel('Rz Social:'),$solicitante));
- $table_data->addRowSet(new TLabel('Endereço:') ,array($address, new TLabel('Número do endereço:'),$numero));
- $table_data->addRowSet(new TLabel('Complemento:'),array($complemento));
- $table_data->addRowSet(new TLabel('Cidade:') ,array($municipio, new TLabel('Bairro:'),$bairro));
- $table_data->addRowSet(new TLabel('Estado:') ,array($uf, new TLabel('CEP:'),$cep));
- $table_data->addRowSet(new TLabel('Contato:') ,array($contato, new TLabel('Telefone :'),$telefone));
- $table_data->addRowSet(new TLabel('E-mail:') ,$email);
- // Campos da Aba Destino
- $table_destino->addRowSet(new TLabel(''));
- $table_destino->addRowSet(new TLabel('CNPJ:') ,array($customercol_cnpj, new TLabel('Rz Social:'),$empresa_col));
- $table_destino->addRowSet(new TLabel('Endereço:') ,array($address_col, new TLabel('Número do endereço:'),$numero_col));
- $table_destino->addRowSet(new TLabel('Complemento:'),array($complemento_col));
- $table_destino->addRowSet(new TLabel('Cidade:') ,array($municipio_col, new TLabel('Bairro:'),$bairro_col));
- $table_destino->addRowSet(new TLabel('Estado:') ,array($uf_col, new TLabel('CEP:'),$cep_col));
- // Campos da Aba carga
- $table_carga->addRowSet(new TLabel(''));
- $table_carga->addRowSet(new TLabel('Produto:') ,array($produto_id));
- $table_carga->addRowSet(new TLabel('Grupo:') ,array($grnatureza_id) );
- $table_carga->addRowSet(new TLabel('Embalagem:'),array($embalagem_id, new TLabel('KM:'),$distancia));
- $table_carga->addRowSet(new TLabel('Químico?') ,array($prod_quimico, new TLabel('O.n.U :'),$onu));
- $table_carga->addRowSet(new TLabel('A carga é:'),array($observacoes));
- // Campos da NF-e
- $table_nfe->addRowSet(new TLabel(''));
- $table_nfe->addRowSet(new TLabel('NF-e:') ,array($nfe ,new TLabel('Série:'),$serie, new TLabel('Data.:'),$data_nfe));
- $table_nfe->addRowSet(new TLabel('Volume:') ,array($volume ,new TLabel('Peso:') ,$peso));
- $table_nfe->addRowSet(new TLabel('Comp.:') ,array($comprimento ,new TLabel('Lar.:') , $largura ,new TLabel('Alt.:'), $altura, new TLabel('Valor:'),$valor_nf));
- $table_nfe->addRowSet(new TLabel('Cubagem:') ,array($peso_cubico,new TLabel('Peso cubado.:') ,$peso_cubado));
- $table_nfe->addRowSet(new TLabel('') ,array($btn_inclui_nfe));
- //Cria a Grid da NF-e
- $this->detail_list = new TQuickGrid;
- $this->detail_list->setHeight( 175 );
- $this->detail_list->makeScrollable();
- $this->detail_list->disableDefaultClick();
- $this->detail_list->addQuickColumn('', 'edit', 'left', 50);
- $this->detail_list->addQuickColumn('', 'delete', 'left', 50);
- //Itens da Grid da NF-e
- $this->detail_list->addQuickColumn('NF-e', 'nfe', 'left', 100);
- $this->detail_list->addQuickColumn('Série', 'serie', 'left', 30);
- $this->detail_list->addQuickColumn('Valor NF-e', 'valor_nf', 'left', 100);
- $this->detail_list->addQuickColumn('Data', 'data_nfe', 'left', 100);
- $this->detail_list->addQuickColumn('Volume', 'volume', 'left', 50);
- $this->detail_list->addQuickColumn('Peso', 'peso', 'left', 50);
- $this->detail_list->addQuickColumn('C', 'comprimento', 'left', 100);
- $this->detail_list->addQuickColumn('L', 'largura', 'left', 100);
- $this->detail_list->addQuickColumn('A', 'altura', 'left', 100);
- $this->detail_list->addQuickColumn('Metro 3', 'metro_cubico', 'left', 50);
- $this->detail_list->addQuickColumn('Peso 3', 'peso_cubado', 'left', 100);
- $this->detail_list->createModel();
- //Adiciona a Grid na Aba NF-e
- $linha=$table_nfe->addRowSet(new TLabel(''));
- $linha->addCell($this->detail_list);
- //Campos da Aba Frete
- $table_frete->addRowSet(new TLabel(''));
- $table_frete->addRowSet(new TLabel('Frete Peso:'),array($fretepeso),new TLabel('Frete Valor:') ,array($fretevalor)); //new TLabel('Frete Valor :') ,$fretevalor));
- $table_frete->addRowSet(new TLabel('Entrega:') ,array($entrega) ,new TLabel('T.Despacho:') ,array($txdespacho)); //);
- $table_frete->addRowSet(new TLabel('Coleta:') ,array($coleta) ,new TLabel('Outra taxa:') ,array($outros)); //);
- $table_frete->addRowSet(new TLabel('C.A.T:') ,array($cat) ,new TLabel('Vlr. Pedágio:'),array($pedagio)); //);
- $table_frete->addRowSet(new TLabel('GRIS:') ,array($gris) ,new TLabel('SEC / CAT:') ,array($sec_cat)); //);
- $table_frete->addRowSet(new TLabel(''));
- $table_frete->addRowSet(new TLabel('ICMS (%):') ,array($perc_icms),new TLabel('ICMS (R$):'),array($valor_icms));
- $table_frete->addRowSet(new TLabel('Base:') ,array($base_icms),new TLabel('Total:'),array($this->frete_total));
- $table_frete->addRowSet(new TLabel(''));
- // Campos da Aba Diversos
- $table_diversos->addRowSet(new TLabel(''));
- $table_diversos->addRowSet(new TLabel('Status:') ,array($status));
- $table_diversos->addRowSet(new TLabel('Comentário:') ,array($comentarios));
- $table_diversos->addRowSet(new TLabel(''));
- $table_diversos->addRowSet(new TLabel('Alterado:') ,array($alteracao));
- //criação das ações dos botões (action button)
- $button1=new TButton('action1');
- $button1->setAction(new TAction(array($this, 'onSave')), 'Salvar');
- $button1->setImage('fa:floppy-o');
- // create an action button (go to list)
- $button2=new TButton('list');
- $button2->setAction(new TAction(array('ConsultaDeColeta', 'onReload')), 'Consulta de coleta');
- $button2->setImage('fa:table blue');
- // create an action button (go to list)
- $button3=new TButton('novo');
- $button3->setAction (new TAction(array($this, 'onClear')), _t('New'));//onEdit
- $button3->setImage('bs:plus-sign green');
- // Vai chamar a função para calcular o frete
- $button4=new TButton('calcFrete');
- $button4->setAction (new TAction(array($this, 'onFrete')), ('Calcula o Frete'));
- $button4->setImage('bs:plus-sign green');
- // define os campos que são gravados na model e a variável dos botões
- $this->form->setFields(array(2425, $status, $customer_cnpj,$solicitante,$observacoes,$address,$numero,$complemento,
- $bairro,$cep,$uf,$contato,
- $telefone,$email,$empresa_col,$customercol_cnpj,$address_col,$numero_col,$complemento_col,$bairro_col,$cep_col,
- $uf_col,$produto_id,$municipio_col,$municipio,
- $grnatureza_id,$embalagem_id,$distancia,$prod_quimico,$onu,$volume,$peso,$peso_cubico,$peso_cubado,$valor_nf,
- $comentarios,$fretepeso,$fretevalor,
- $coleta,$entrega,$txdespacho,$outros,$cat,$sec_cat,$gris,$pedagio,$perc_icms,$valor_icms,$this->frete_total,
- $data_coleta,$alteracao,$btn_inclui_nfe,
- $button1,$button2,$button3,$button4,$altura,$comprimento,$largura,$base_icms));
- // coloca os botões
- $subtable = new TTable;
- $row = $subtable->addRow();
- $row->addCell($button1);
- $row->addCell($button3);
- $row->addCell($button2);
- $row->addCell($button4);
- // Sub menu bonito
- $vbox = new TVBox;
- $vbox->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $vbox->add($this->form);
- $vbox->style = 'width: 55%';
- //$vbox->add($this->datagrid); //pra mostra a grid
- $vbox->add($subtable);
- parent::add($vbox);
- }
- //*********************** Funções ******************************
- public function onIncluiNFe()
- {
- // obtém os dados do formulário
- $item = $this->form->getData('Item');
- // lê variável $list da seção
- $list = TSession::getValue('list');
- // acrescenta produto na variável $list
- $list[$item->id_produto]= $item;
- // grava variável $list de volta à seção
- TSession::setValue('list', $list);
- // recarrega a listagem
- $this->onReload();
- }
- public function onClear( $param ) // botão novo
- {
- $this->form->clear();//Limpa o formulário
- //Informações padrões a serem preenchidas no formulário
- $perc_icms = 12;
- $status = 'Lançado';
- $alteracao = date('d-m-Y / H:i');
- //Apresentação e tratamento do campos
- $obj = new StdClass;
- $obj->perc_icms = number_format($perc_icms , 2, ',', '.');
- $obj->status = $status;
- $obj->alteracao = $alteracao;
- TForm::sendData('form_coleta', $obj);
- }
- // Calculo da cubagem
- static function onCubagem($param)
- {
- $comprimento = str_replace(',','.', str_replace('.','', $param['comprimento']));
- $largura = str_replace(',','.', str_replace('.','', $param['largura']));
- $altura = str_replace(',','.', str_replace('.','', $param['altura']));
- $peso_cubico = $comprimento * $largura * $altura;
- $obj = new StdClass;
- $obj->peso_cubico = number_format($peso_cubico, 2, ',', '.');
- TForm::sendData('form_coleta', $obj);
- }
- // Calculo do peso cubado
- static function onPesocubado($param)
- {
- $peso_cubico = str_replace(',','.', str_replace('.','', $param['peso_cubico']));
- $peso_cubado = $peso_cubico * 300;
- $obj = new StdClass;
- $obj->peso_cubado = number_format($peso_cubado, 2, ',', '.');
- TForm::sendData('form_coleta', $obj);
- }
- // Calculo do valor do frete
- static function onFrete($param)
- {
- //Tratamento dos campos
- $fretepeso = str_replace(',','.', str_replace('.','', $param['fretepeso']));
- $fretevalor = str_replace(',','.', str_replace('.','', $param['fretevalor']));
- $coleta = str_replace(',','.', str_replace('.','', $param['coleta']));
- $entrega = str_replace(',','.', str_replace('.','', $param['entrega']));
- $txdespacho = str_replace(',','.', str_replace('.','', $param['txdespacho']));
- $outros = str_replace(',','.', str_replace('.','', $param['outros']));
- $cat = str_replace(',','.', str_replace('.','', $param['cat']));
- $sec_cat = str_replace(',','.', str_replace('.','', $param['sec_cat']));
- $gris = str_replace(',','.', str_replace('.','', $param['gris']));
- $pedagio = str_replace(',','.', str_replace('.','', $param['pedagio']));
- $perc_icms = str_replace(',','.', str_replace('.','', $param['perc_icms']));
- //Calculos
- if ($perc_icms==0)
- {
- new TMessage('danger','Digite a alíquota em ICMS (%).');
- }
- else
- {
- $base_icms = ($fretepeso + $fretevalor + $coleta + $entrega + $txdespacho +
- $outros + $cat + $sec_cat + $gris + $pedagio) ;
- $frete_total = $base_icms / ((100 - $perc_icms)/100);
- $valor_icms = $frete_total - $base_icms;
- //Apresentação e tratamento do campos
- $obj = new StdClass;
- $obj->base_icms = number_format($base_icms , 2, ',', '.');
- $obj->frete_total = number_format($frete_total, 2, ',', '.');
- $obj->valor_icms = number_format($valor_icms , 2, ',', '.');
- TForm::sendData('form_coleta', $obj);
- }
- }
- /**
- * Load object to form data
- * @param $param Request
- */
- public function onEdit( $param )
- {
- try
- {
- if (isset($param['key']))
- {
- $key = $param['key']; // get the parameter $key
- TTransaction::open('samples'); // open a transaction
- $object = new Coleta($key); // instantiates the Active Record
- $object->data_coleta = TDate::date2br($object->data_coleta);
- //Desabilita os campos do formulário
- if ($object->status=='Aprovado')
- {
- $this->frete_total->setEditable(FALSE);
- }
- $this->form->setData($object); // fill the form
- TTransaction::close(); // close the transaction
- }
- else
- {
- $this->form->clear();
- }
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage()); // shows the exception error message
- TTransaction::rollback(); // undo all pending operations
- }
- }
- /**
- * method onSave()
- * Executed whenever the user clicks at the save button
- */
- function onSave()
- {
- try
- { //grava a data e hora da última alteração
- $alteracao = date('d-m-Y / H:i');
- $obj = new StdClass;
- $obj ->alteracao = $alteracao;
- TForm::sendData('form_coleta', $obj);
- TTransaction::open('samples'); // Abre a conexão com o banco
- $this->form->validate(); // validação dos dados
- $object = $this->form->getData('Coleta');//abre a tabela
- //Lê o Status do documento e só grava se for igual a lançado
- if ($object->status=='Lançado')
- {
- $object->data_coleta = TDate::date2us($object->data_coleta);//converte para formato US
- $object->store();//grava
- $object->data_coleta = TDate::date2br($object->data_coleta);
- $this->form->setData($object);//
- new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
- }
- else
- {
- if ($object->status=='')//Correção do campo Status que vem vazio das consultas
- {
- $status = 'Lançado';
- $alteracao = date('d-m-Y / H:i');
- //Apresentação e tratamento do campos
- $obj = new StdClass;
- $obj->status = $status;
- $obj->alteracao = $alteracao;
- TForm::sendData('form_coleta', $obj);
- //Salva o registro
- $object->data_coleta = TDate::date2us($object->data_coleta);//converte para formato US
- $object->store();//grava
- $object->data_coleta = TDate::date2br($object->data_coleta);
- $this->form->setData($object);//
- new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
- }
- else
- {
- new TMessage('danger','Não é permitido a gravação de documentos impressos ou finalizados.');
- }
- }
- TTransaction::close(); //fecha o banco
- }
- catch (Exception $e) // in case of exception
- {
- // shows the exception error message
- new TMessage('error', '<b>Error</b> ' . $e->getMessage());
- TTransaction::rollback();
- }
- }
- }
Wempar, esse erro ocorre quando o modelo não foi encontrado pelo método getData.
Você já criou o modelo Item?