MC
Erro Tcriteria userunit - unidade de negocio
Amigos estou recebendo um erro ao aplicar o TCriteria para filtrar a unidade de negocio na listagem (UserUnit)
// creates a DataGrid
$this->datagrid = new TDataGrid;
$this->datagrid = new BootstrapDatagridWrapper($this->datagrid);
$this->datagrid->style = 'width: 100%';
// $this->datagrid->datatable = 'true';
// $this->datagrid->enablePopover('Popover', 'Hi {name} ');
//valida empresa - unit
$criteria = new TCriteria;
$criteria->add( new TFilter('id_empresa', '=' , TSession::getValue('userunitid') ) ) ;
echo "teste1 ".$criteria->dump()."
";
echo "teste2 (userunitid) ".TSession::getValue('userunitid')."
";
parent::setCriteria( $criteria ); <<<==== retirando o comentario nessa linha apresenta o erro .....
// creates the datagrid columns
$column_id = new TDataGridColumn('id', 'Id', 'left',5);
$column_id_empresa = new TDataGridColumn('id_empresa', 'Cod', 'left',5);
$column_nome_empresa = new TDataGridColumn('Empresa->razao_social', 'Empresa', 'left',100);
$column_razao_social = new TDataGridColumn('razao_social', 'Razao', 'left',100);
//$column_fantasia = new TDataGridColumn('fantasia', 'Fantasia', 'left');
$column_pfj = new TDataGridColumn('pfj', 'FJ', 'left',5);
$column_cnpjcpf = new TDataGridColumn('cnpjcpf', 'CNPJ/CPF', 'left',10);
==== as variaveis aparecem com echo ====
==== a tela aperece normalmente, porem nao filtra so a unidade selecionada ====
teste1 (id_empresa = '2')
teste2 (userunitid) 2
==== quando retira-se o comentario da linha parent -- apresenta erro =====
teste1 (id_empresa = '2')
teste2 (userunitid) 2
Fatal error: Uncaught Error: Call to undefined method AdiantiControlTPage::setCriteria() in C:Apache24htdocsprojetoslotericaappcontrolEntidadeFormList.class.php:100 Stack trace: #0 C:Apache24htdocsprojetoslotericalibadianticoreAdiantiCoreApplication.php(60): EntidadeFormList->__construct(Array) #1 C:Apache24htdocsprojetoslotericaengine.php(36): AdiantiCoreAdiantiCoreApplication::run(true) #2 C:Apache24htdocsprojetoslotericaengine.php(55): TApplication::run(true) #3 {main} thrown in C:Apache24htdocsprojetoslotericaappcontrolEntidadeFormList.class.php on line 100
att Marcelo
// creates a DataGrid
$this->datagrid = new TDataGrid;
$this->datagrid = new BootstrapDatagridWrapper($this->datagrid);
$this->datagrid->style = 'width: 100%';
// $this->datagrid->datatable = 'true';
// $this->datagrid->enablePopover('Popover', 'Hi {name} ');
//valida empresa - unit
$criteria = new TCriteria;
$criteria->add( new TFilter('id_empresa', '=' , TSession::getValue('userunitid') ) ) ;
echo "teste1 ".$criteria->dump()."
";
echo "teste2 (userunitid) ".TSession::getValue('userunitid')."
";
parent::setCriteria( $criteria ); <<<==== retirando o comentario nessa linha apresenta o erro .....
// creates the datagrid columns
$column_id = new TDataGridColumn('id', 'Id', 'left',5);
$column_id_empresa = new TDataGridColumn('id_empresa', 'Cod', 'left',5);
$column_nome_empresa = new TDataGridColumn('Empresa->razao_social', 'Empresa', 'left',100);
$column_razao_social = new TDataGridColumn('razao_social', 'Razao', 'left',100);
//$column_fantasia = new TDataGridColumn('fantasia', 'Fantasia', 'left');
$column_pfj = new TDataGridColumn('pfj', 'FJ', 'left',5);
$column_cnpjcpf = new TDataGridColumn('cnpjcpf', 'CNPJ/CPF', 'left',10);
==== as variaveis aparecem com echo ====
==== a tela aperece normalmente, porem nao filtra so a unidade selecionada ====
teste1 (id_empresa = '2')
teste2 (userunitid) 2
==== quando retira-se o comentario da linha parent -- apresenta erro =====
teste1 (id_empresa = '2')
teste2 (userunitid) 2
Fatal error: Uncaught Error: Call to undefined method AdiantiControlTPage::setCriteria() in C:Apache24htdocsprojetoslotericaappcontrolEntidadeFormList.class.php:100 Stack trace: #0 C:Apache24htdocsprojetoslotericalibadianticoreAdiantiCoreApplication.php(60): EntidadeFormList->__construct(Array) #1 C:Apache24htdocsprojetoslotericaengine.php(36): AdiantiCoreAdiantiCoreApplication::run(true) #2 C:Apache24htdocsprojetoslotericaengine.php(55): TApplication::run(true) #3 {main} thrown in C:Apache24htdocsprojetoslotericaappcontrolEntidadeFormList.class.php on line 100
att Marcelo
Para usar o setCriteria você deve herdar a classe TStandardList ao invés de TPage, pois ela possui várias funções utilizadas nas listagens(onReload,setCriteria,onSearch,...)
Nataniel - obrigado pelo apoio....