RF
Método setTransformer() não encontrado
Estou ainda com problemas no formulário que preciso formatar o valor como número.
Com base no livro e em exemplos do tutor, tentei fazer a conversão, mas apresenta o erro:
Exceção
Método setTransformer() não encontrado
File: appcontrolcoletasordem_de_coleta.class.php : 81
AdiantiWidgetFormTField->__call(setTransformer,)
File: libadianticoreAdiantiCoreApplication.php : 60
ordem_de_coleta->__construct(ordem_de_coleta,onEdit,1,1)
File: engine.php : 23
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php : 64
TApplication::run(1)
Alguém pode me apontar onde estou errando?
Com base no livro e em exemplos do tutor, tentei fazer a conversão, mas apresenta o erro:
Exceção
Método setTransformer() não encontrado
File: appcontrolcoletasordem_de_coleta.class.php : 81
AdiantiWidgetFormTField->__call(setTransformer,)
File: libadianticoreAdiantiCoreApplication.php : 60
ordem_de_coleta->__construct(ordem_de_coleta,onEdit,1,1)
File: engine.php : 23
AdiantiCoreAdiantiCoreApplication::run(1)
File: engine.php : 64
TApplication::run(1)
Alguém pode me apontar onde estou errando?
- <?php
- /**
- * ordem_de_coleta Master/Detail
- * @author <your name here>
- */
- class ordem_de_coleta extends TPage
- {
- protected $form; // form
- protected $detail_list;
- /**
- * Page constructor
- */
- public function __construct()
- {
- parent::__construct();
- // creates the form
- $this->form = new BootstrapFormBuilder('form_ordem_coleta');
- $this->form->setFormTitle('Ordem de coleta');
- $this->form->setFieldSizes('100%');
- // master fields
- $id = new TEntry('id');
- $status = new TEntry('status');//TDBCombo('status', 'banco', 'status', 'descricao', 'descricao');
- $data_coleta = new TDate('data_coleta');
- //$cliente = new TDBCombo ('cliente', 'banco', 'cliente', 'id', 'razao_social');
- $cliente = new TDBUniqueSearch('cliente', 'banco', 'cliente', 'id', 'razao_social');
- $loja_id = new TDBCombo ('loja_id', 'banco', 'loja','id','nome_fantasia');//TEntry('loja_id');
- //$loja_id = new TDBUniqueSearch('loja_id', 'banco', 'loja', 'id', 'nome_fantasia');
- $cnpj_loja = new TEntry('cnpj_loja');
- $rsocial_loja = new TEntry('rsocial_loja');
- $cep_loja = new TEntry('cep_loja');
- $endereco_loja = new TEntry('endereco_loja');
- $numero_loja = new TEntry('numero_loja');
- $bairro_loja = new TEntry('bairro_loja');
- $uf_loja = new TEntry('uf_loja');//TDBCombo('uf_loja', 'banco', 'uf', 'id', 'descricao');
- $cidade_loja = new TEntry('cidade_loja');//TDBCombo('cidade_loja', 'banco', 'cidade', 'id', 'descricao');
- $contato_loja = new TEntry('contato_loja');
- $telefone_loja = new TEntry('telefone_loja');
- $intervalo_inicial = new TEntry('intervalo_inicial');
- $intervalo_final = new TEntry('intervalo_final');
- $hora_com_inicial = new TEntry('hora_com_inicial');
- $hora_com_fim = new TEntry('hora_com_fim');
- $sexta_inicial = new TEntry('sexta_inicial');
- $sexta_fim = new TEntry('sexta_fim');
- $tipo_veic = new TDBCombo('tipo_veic', 'banco', 'veiculos', 'tipo_rodado', 'tipo_rodado');//TEntry('tipo_veic');
- $obs_geral = new TText('obs_geral');
- //$destinatario_id = new TDBCombo('destinatario_id', 'banco', 'destinatario', 'id', 'nome_rzsocizl');//new TEntry('destinatario_id');
- $destinatario_id = new TDBUniqueSearch('destinatario_id', 'banco', 'destinatario', 'id', 'nome_rzsocizl');
- $uf_destino = new TEntry('uf_destino');
- $destinatario_nome = new TEntry('destinatario_nome');
- $contato_destinatario = new TEntry('contato_destinatario');
- $cnpj_destinatario = new TEntry('cnpj_destinatario');
- $cep_destinatario = new TEntry('cep_destinatario');
- $endereco_destinatario = new TEntry('endereco_destinatario');
- $numero_destinatario = new TEntry('numero_destinatario');
- $complemento_destinatario = new TEntry('complemento_destinatario');
- $bairro_destinatario = new TEntry('bairro_destinatario');
- $municipio_destinatario = new TEntry('municipio_destinatario');
- $telefone_destinatario = new TEntry('telefone_destinatario');
- // detail fields
- $detail_id = new THidden('detail_id');
- $detail_numero = new TEntry('detail_numero');
- $detail_serie = new TEntry('detail_serie');
- $detail_total_volumes = new TEntry('detail_total_volumes');
- $detail_total_peso = new TEntry('detail_total_peso');
- $detail_vlr_nota_fiscal = new TEntry('detail_vlr_nota_fiscal');
- $detail_especie_embalagem = new TDBCombo('detail_especie_embalagem', 'banco', 'especie_embalagem', 'id', 'descricao');
- $detail_grupo_natureza = new TDBCombo('detail_grupo_natureza', 'banco', 'grupo_natureza', 'id', 'descricao');
- if (!empty($id))
- {
- $id->setEditable(FALSE);
- }
- // definição de mascara
- $data_coleta->setMask('dd/mm/yyyy');
- //$detail_vlr_nota_fiscal->setNumericMask(2,',', '.', true);
- $detail_vlr_nota_fiscal->setTransformer($format_value);
- // Mscara para os campos de hora
- $intervalo_inicial ->setMask('99:99');
- $intervalo_final ->setMask('99:99');
- $hora_com_inicial ->setMask('99:99');
- $hora_com_fim ->setMask('99:99');
- $sexta_inicial ->setMask('99:99');
- $sexta_fim ->setMask('99:99');
- // Busca as informações e preenche os campos da loja
- $loja_id ->setChangeAction(new TAction([$this,'buscaDadosLoja']));
- // Busca as informações e preenche os campos do destinatário
- $destinatario_id ->setChangeAction(new TAction([$this,'buscaDadosDestinatario']));
- // master fields
- $row = $this->form->addFields( [ new TLabel('Número da coleta'), $id ],
- [ new TLabel('Status'), $status ],
- [ new TLabel('Data da coleta'), $data_coleta ] );
- $row->layout = ['col-sm-4', 'col-sm-4','col-sm-4' ];
- // Campos do solicitante
- $this->form->addContent( ['<h4>Dados do solicitante</h4><hr>'] );
- $row = $this->form->addFields( [ new TLabel('Cliente'), $cliente ],
- [ new TLabel('Loja'), $loja_id ] );
- $row->layout = ['col-sm-6', 'col-sm-6' ];
- $row = $this->form->addFields( [ new TLabel('CNPJ da loja'), $cnpj_loja ],
- [ new TLabel('Razão Social'), $rsocial_loja ] );
- $row->layout = ['col-sm-6', 'col-sm-6' ];
- $row = $this->form->addFields( [ new TLabel('CEP'), $cep_loja ],
- [ new TLabel('UF'), $uf_loja ],
- [ new TLabel('Cidade'), $cidade_loja ] );
- $row->layout = ['col-sm-3', 'col-sm-3','col-sm-6' ];
- $row = $this->form->addFields( [ new TLabel('Endereço'), $endereco_loja ],
- [ new TLabel('Número'), $numero_loja ],
- [ new TLabel('Bairro'), $bairro_loja ] );
- $row->layout = ['col-sm-6', 'col-sm-2','col-sm-4' ];
- $row = $this->form->addFields( [ new TLabel('Contato'), $contato_loja ],
- [ new TLabel('Telefone'), $telefone_loja ] );
- $row->layout = ['col-sm-6', 'col-sm-6' ];
- // Campos dos destintário
- $this->form->addContent( ['<h4>Dados do destinatário</h4><hr>'] );
- $row = $this->form->addFields( [ new TLabel('Razão Social'), $destinatario_id ],
- [ new TLabel('CNPJ'), $cnpj_destinatario ],
- [ new TLabel('Nome Fantasia'), $destinatario_nome ] );
- $row->layout = ['col-sm-6', 'col-sm-2','col-sm-4' ];
- $row = $this->form->addFields( [ new TLabel('CEP'), $cep_destinatario ],
- [ new TLabel('UF'), $uf_destino ],
- [ new TLabel('Cidade'), $municipio_destinatario ] );
- $row->layout = ['col-sm-3', 'col-sm-3','col-sm-6' ];
- $row = $this->form->addFields( [ new TLabel('Endereço'), $endereco_destinatario ],
- [ new TLabel('Número'), $numero_destinatario ],
- [ new TLabel('Bairro'), $bairro_destinatario ] );
- $row->layout = ['col-sm-6', 'col-sm-2','col-sm-4' ];
- $row = $this->form->addFields( [ new TLabel('Complemento'), $complemento_destinatario ],
- [ new TLabel('Contato'), $contato_destinatario ],
- [ new TLabel('Telefone'), $telefone_destinatario ] );
- $row->layout = ['col-sm-4', 'col-sm-4','col-sm-4'];
- // Horários de Coleta
- $this->form->addContent( ['<h4>Hora para coleta</h4><hr>'] );
- $row = $this->form->addFields( [ new TLabel('Hora inicial'), $intervalo_inicial ],
- [ new TLabel('Hora final'), $intervalo_final ] );
- $row->layout = ['col-sm-6', 'col-sm-6' ];
- $this->form->addContent( ['<h4>Intervalo de almoço</h4><hr>'] );
- $row = $this->form->addFields( [ new TLabel('Hora inicial'), $hora_com_inicial ],
- [ new TLabel('Hora final'), $hora_com_fim ] );
- $row->layout = ['col-sm-6', 'col-sm-6' ];
- $this->form->addContent( ['<h4>Intervalo de Sexta-Feira</h4><hr>'] );
- $row = $this->form->addFields( [ new TLabel('Hora inicial'), $sexta_inicial],
- [ new TLabel('Hora final'), $sexta_fim ] );
- $row->layout = ['col-sm-6', 'col-sm-6' ];
- $this->form->addContent( ['<h4>Veículo e observações gerais</h4><hr>'] );
- $row = $this->form->addFields( [ new TLabel('Tipo de veículo'), $tipo_veic ],
- [ new TLabel('Obs Geral'), $obs_geral ] );
- $row->layout = ['col-sm-6', 'col-sm-6' ];
- // Validações
- $loja_id ->addValidation('Loja', new TRequiredValidator);
- $destinatario_id ->addValidation('Destinatário', new TRequiredValidator);
- // detail fields
- $this->form->addContent( ['<h4>Dados da nota fiscal</h4><hr>'] );
- $this->form->addFields( [$detail_id] );
- $row = $this->form->addFields( [ new TLabel('NF-e'), $detail_numero ],
- [ new TLabel('Série'), $detail_serie ] );
- $row->layout = ['col-sm-8', 'col-sm-4' ];
- $row = $this->form->addFields( [ new TLabel('Total de volumes'), $detail_total_volumes ],
- [ new TLabel('Peso total'), $detail_total_peso ],
- [ new TLabel('Valor da nota'), $detail_vlr_nota_fiscal ] );
- $row->layout = ['col-sm-4', 'col-sm-4','col-sm-4' ];
- $row = $this->form->addFields( [ new TLabel('Especie embalagem'), $detail_especie_embalagem ],
- [ new TLabel('Grupo natureza'), $detail_grupo_natureza ] );
- $row->layout = ['col-sm-6', 'col-sm-6' ];
- $add = TButton::create('add', [$this, 'onSaveDetail'], 'Register', 'fa:save');
- $this->form->addFields( [], [$add] )->style = 'background: whitesmoke; padding: 5px; margin: 1px;';
- $this->detail_list = new BootstrapDatagridWrapper(new TQuickGrid);
- $this->detail_list->style = "min-width: 700px; width:100%;margin-bottom: 10px";
- $this->detail_list->setId('ordem_coleta_list');
- // items
- $this->detail_list->addQuickColumn('NF-e', 'numero', 'left', 100);
- $this->detail_list->addQuickColumn('Série', 'serie', 'left', 100);
- $this->detail_list->addQuickColumn('Volumes', 'total_volumes', 'left', 100);
- $this->detail_list->addQuickColumn('Peso', 'total_peso', 'left', 100);
- $this->detail_list->addQuickColumn('Valor', 'vlr_nota_fiscal', 'left', 100);
- $this->detail_list->addQuickColumn('Embalagem', 'especie_embalagem', 'left', 100);
- $this->detail_list->addQuickColumn('Natureza', 'grupo_natureza', 'left', 100);
- // detail actions
- $this->detail_list->addQuickAction( 'Edit', new TDataGridAction([$this, 'onEditDetail']), 'id', 'fa:edit blue');
- $this->detail_list->addQuickAction( 'Delete', new TDataGridAction([$this, 'onDeleteDetail']), 'id', 'fa:trash red');
- $this->detail_list->createModel();
- $panel = new TPanelGroup;
- $panel->add($this->detail_list);
- $panel->getBody()->style = 'overflow-x:auto';
- $this->form->addContent( [$panel] );
- $format_value = function($value){
- if (is_numeric($value)){
- return number_format($value,2,',','.');
- }
- return $value;
- };
- $btn = $this->form->addAction( _t('Save'), new TAction([$this, 'onSave']), 'fa:save');
- $btn->class = 'btn btn-sm btn-primary';
- $this->form->addAction(('Nova') , new TAction([$this, 'onClear']), 'fa:eraser red');
- $this->form->addAction( _t('Back') , new TAction(array('lista_de_odem_coleta','onReload')), 'fa:arrow-circle-o-left blue' );
- $this->form->addAction(('Imprimir'), new TAction([$this, 'onGenerate']), 'fa:eraser red');
- // create the page container
- $container = new TVBox;
- $container->style = 'width: 90%';
- $container->add(new TXMLBreadCrumb('menu.xml', __CLASS__));
- $container->add($this->form);
- parent::add($container);
- }
- /**
- * Clear form
- * @param $param URL parameters
- */
- public function onClear($param)
- {
- $this->form->clear(TRUE);
- TSession::setValue(__CLASS__.'_items', array());
- $this->onReload( $param );
- }
- /**
- * Busca os dados da loja
- */
- static function buscaDadosLoja( $params )
- {
- if( !empty($params['loja_id']) )
- {
- try
- {
- TTransaction::open('banco');
- // MODEL
- $loja = new loja($params['loja_id']);
- $campos_model = new StdClass;
- $campos_model->cnpj_loja = $loja->cnpj; // campo do form = model->campo na model
- $campos_model->rsocial_loja = $loja->razao_social;
- $campos_model->uf_loja = $loja->uf;
- $campos_model->cidade_loja = $loja->cidade;
- $campos_model->cep_loja = $loja->cep;
- $campos_model->endereco_loja= $loja->endereco;
- $campos_model->numero_loja = $loja->numero;
- $campos_model->bairro_loja = $loja->bairro;
- $campos_model->contato_loja = $loja->contato;
- $campos_model->telefone_loja= $loja->telefone;
- TForm::sendData('form_ordem_coleta', $campos_model);
- TTransaction::close();
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage());
- TTransaction::rollback();
- }
- }
- }
- /**
- * Busca os dados do destinatário
- */
- static function buscaDadosDestinatario( $params )
- {
- if( !empty($params['loja_id']) )
- {
- try
- {
- TTransaction::open('banco');
- // MODEL
- $loja = new destinatario($params['destinatario_id']);
- $campos_model = new StdClass;
- $campos_model->cnpj_destinatario = $loja->cnpj_cpf; // campo do form = model->campo na model
- $campos_model->destinatario_nome = $loja->nome_rzsocizl;
- $campos_model->uf_destino = $loja->uf;
- $campos_model->municipio_destinatario = $loja->cidade;
- $campos_model->cep_destinatario = $loja->cep;
- $campos_model->endereco_destinatario = $loja->endereco;
- $campos_model->numero_destinatario = $loja->numero;
- $campos_model->bairro_destinatario = $loja->bairro;
- $campos_model->contato_destinatario = $loja->contato;
- $campos_model->telefone_destinatario = $loja->telefone;
- TForm::sendData('form_ordem_coleta', $campos_model);
- TTransaction::close();
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage());
- TTransaction::rollback();
- }
- }
- }
- //Impressão de Ordem de coleta
- public function onGenerate($param)
- {
- //Pega os dados do formulário
- $data = $this->form->getData();
- $this->form->setData($data);
- //Vai no modelo de relatório - se tive que mudar coloca o nome aqui
- $designer = new TPDFDesigner;
- $designer->fromXml('app/reports/ordem_de_coleta.pdf.xml');
- $designer->generate();
- //Fonte das letras
- $designer->SetFont('Arial','B',12);
- //passa para o formulário todos os campos
- $designer->writeAtAnchor('id' ,$data->id);
- $designer->writeAtAnchor('id2',$data->id); //Repete para a segunda parte
- $designer->writeAtAnchor('rsocial_loja',utf8_decode($data->rsocial_loja));
- $designer->save('app/output/ordem_de_coleta.pdf');
- parent::openFile('app/output/ordem_de_coleta.pdf');
- }
- /**
- * Save an item from form to session list
- * @param $param URL parameters
- */
- public function onSaveDetail( $param )
- {
- try
- {
- TTransaction::open('banco');
- $data = $this->form->getData();
- /** validation sample
- if (empty($data->fieldX))
- {
- throw new Exception('The field fieldX is required');
- }
- **/
- $items = TSession::getValue(__CLASS__.'_items');
- $key = empty($data->detail_id) ? 'X'.mt_rand(1000000000, 1999999999) : $data->detail_id;
- $items[ $key ] = array();
- $items[ $key ]['id'] = $key;
- $items[ $key ]['numero'] = $data->detail_numero;
- $items[ $key ]['serie'] = $data->detail_serie;
- $items[ $key ]['total_volumes'] = $data->detail_total_volumes;
- $items[ $key ]['total_peso'] = $data->detail_total_peso;
- $items[ $key ]['vlr_nota_fiscal'] = $data->detail_vlr_nota_fiscal;
- $items[ $key ]['especie_embalagem'] = $data->detail_especie_embalagem;
- $items[ $key ]['grupo_natureza'] = $data->detail_grupo_natureza;
- TSession::setValue(__CLASS__.'_items', $items);
- // clear detail form fields
- $data->detail_id = '';
- $data->detail_numero = '';
- $data->detail_serie = '';
- $data->detail_total_volumes = '';
- $data->detail_total_peso = '';
- $data->detail_vlr_nota_fiscal = '';
- $data->detail_especie_embalagem = '';
- $data->detail_grupo_natureza = '';
- TTransaction::close();
- $this->form->setData($data);
- $this->onReload( $param ); // reload the items
- }
- catch (Exception $e)
- {
- $this->form->setData( $this->form->getData());
- new TMessage('error', $e->getMessage());
- }
- }
- /**
- * Load an item from session list to detail form
- * @param $param URL parameters
- */
- public static function onEditDetail( $param )
- {
- // read session items
- $items = TSession::getValue(__CLASS__.'_items');
- // get the session item
- $item = $items[ $param['key'] ];
- $data = new stdClass;
- $data->detail_id = $item['id'];
- $data->detail_numero = $item['numero'];
- $data->detail_serie = $item['serie'];
- $data->detail_total_volumes = $item['total_volumes'];
- $data->detail_total_peso = $item['total_peso'];
- $data->detail_vlr_nota_fiscal = $item['vlr_nota_fiscal'];
- $data->detail_especie_embalagem = $item['especie_embalagem'];
- $data->detail_grupo_natureza = $item['grupo_natureza'];
- // fill detail fields
- TForm::sendData( 'form_ordem_coleta', $data );
- }
- /**
- * Delete an item from session list
- * @param $param URL parameters
- */
- public static function onDeleteDetail( $param )
- {
- // reset items
- $data = new stdClass;
- $data->detail_numero = '';
- $data->detail_serie = '';
- $data->detail_total_volumes = '';
- $data->detail_total_peso = '';
- $data->detail_vlr_nota_fiscal = '';
- $data->detail_especie_embalagem = '';
- $data->detail_grupo_natureza = '';
- // clear form data
- TForm::sendData('form_ordem_coleta', $data );
- // read session items
- $items = TSession::getValue(__CLASS__.'_items');
- // get detail id
- $detail_id = $param['key'];
- // delete the item from session
- unset($items[ $detail_id ] );
- // rewrite session items
- TSession::setValue(__CLASS__.'_items', $items);
- // delete item from screen
- TScript::create("ttable_remove_row_by_id('ordem_coleta_list', '{$detail_id}')");
- }
- /**
- * Load the items list from session
- * @param $param URL parameters
- */
- public function onReload($param)
- {
- // read session items
- $items = TSession::getValue(__CLASS__.'_items');
- $this->detail_list->clear(); // clear detail list
- if ($items)
- {
- foreach ($items as $list_item)
- {
- $item = (object) $list_item;
- $row = $this->detail_list->addItem( $item );
- $row->id = $list_item['id'];
- }
- }
- $this->loaded = TRUE;
- }
- /**
- * Load Master/Detail data from database to form/session
- */
- public function onEdit($param)
- {
- try
- {
- TTransaction::open('banco');
- if (isset($param['key']))
- {
- $key = $param['key'];
- $object = new ordem_coleta($key);
- $items = nota_fiscal_coleta::where('ordem_coleta_id', '=', $key)->load();
- $session_items = array();
- foreach( $items as $item )
- {
- $item_key = $item->id;
- $session_items[$item_key] = $item->toArray();
- $session_items[$item_key]['id'] = $item->id;
- $session_items[$item_key]['numero'] = $item->numero;
- $session_items[$item_key]['serie'] = $item->serie;
- $session_items[$item_key]['total_volumes'] = $item->total_volumes;
- $session_items[$item_key]['total_peso'] = $item->total_peso;
- $session_items[$item_key]['vlr_nota_fiscal'] = $item->vlr_nota_fiscal;
- $session_items[$item_key]['especie_embalagem'] = $item->especie_embalagem;
- $session_items[$item_key]['grupo_natureza'] = $item->grupo_natureza;
- }
- TSession::setValue(__CLASS__.'_items', $session_items);
- $this->form->setData($object); // fill the form with the active record data
- $this->onReload( $param ); // reload items list
- TTransaction::close(); // close transaction
- }
- else
- {
- $this->form->clear(TRUE);
- TSession::setValue(__CLASS__.'_items', null);
- $this->onReload( $param );
- }
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage());
- TTransaction::rollback();
- }
- }
- /**
- * Save the Master/Detail data from form/session to database
- */
- public function onSave()
- {
- try
- {
- // open a transaction with database
- TTransaction::open('banco');
- $data = $this->form->getData();
- $master = new ordem_coleta;
- $master->fromArray( (array) $data);
- $this->form->validate(); // form validation
- $master->status = 'Lançado';
- $master->store(); // save master object
- // delete details
- $old_items = nota_fiscal_coleta::where('ordem_coleta_id', '=', $master->id)->load();
- $keep_items = array();
- // get session items
- $items = TSession::getValue(__CLASS__.'_items');
- if( $items )
- {
- foreach( $items as $item )
- {
- if (substr($item['id'],0,1) == 'X' ) // new record
- {
- $detail = new nota_fiscal_coleta;
- }
- else
- {
- //$detail = nota_fiscal_coleta::find($item['id']);
- $detail = new nota_fiscal_coleta;
- $detail->id = $item['id'];
- }
- $detail->numero = $item['numero'];
- $detail->serie = $item['serie'];
- $detail->total_volumes = $item['total_volumes'];
- $detail->total_peso = $item['total_peso'];
- $detail->vlr_nota_fiscal = $item['vlr_nota_fiscal'];
- $detail->especie_embalagem = $item['especie_embalagem'];
- $detail->grupo_natureza = $item['grupo_natureza'];
- $detail->ordem_coleta_id = $master->id;
- $detail->store();
- $keep_items[] = $detail->id;
- }
- }
- if ($old_items)
- {
- foreach ($old_items as $old_item)
- {
- if (!in_array( $old_item->id, $keep_items))
- {
- $old_item->delete();
- }
- }
- }
- TTransaction::close(); // close the transaction
- // reload form and session items
- $this->onEdit(array('key'=>$master->id));
- new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
- }
- catch (Exception $e) // in case of exception
- {
- new TMessage('error', $e->getMessage());
- $this->form->setData( $this->form->getData() ); // keep form data
- TTransaction::rollback();
- }
- }
- /**
- * Show the page
- */
- public function show()
- {
- // check if the datagrid is already loaded
- if (!$this->loaded AND (!isset($_GET['method']) OR $_GET['method'] !== 'onReload') )
- {
- $this->onReload( func_get_arg(0) );
- }
- parent::show();
- }
- }
O método "setTransformer" só é aplicado a um objeto de TDataGridColumn, TEntry não tem este método. Deve usqr "setMask"
Bom dia, galera eu na verdade estou querendo que na GRID apareça no formato "11,02", por exemplo, pequei como base informações aqui do forum, exemplos do tutor, e não consigo fazer esse ajuste. Poderiam me ajudar a fazer esse ajuste.
Robson, tenta assim :
Boa tarde...
Obrigado aos que ajudaram, consegui entender o porque desse erro, refazendo e comparando com exemplos aqui do forum, na verdade eu alterei essa linha de:
$this->detail_list->addQuickColumn('Valor', 'vlr_nota_fiscal', 'left', 100);
Para:
$detail_vlr_nota_fiscal = $this->detail_list->addQuickColumn('Valor', 'vlr_nota_fiscal', 'left', 100);
E acrescentei o código do Pablo:
$detail_vlr_nota_fiscal->setTotalFunction( function($values) {
return array_sum((array) $values);
});
$detail_vlr_nota_fiscal->setTransformer(function($value, $object, $row) {
if (!$value)
{
$value = 0;
}
return "R$ " . number_format($value, 2, ",", ".");
});
Obrigado a todos pela paciência e atenção.
Eu não conheço php, estou estudando direto dos livros do Pablo. Valeu...