Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Filtrar datagrid com dado da sessão em sistema multiempresa Boa tarde !!! Estou fazendo um sistema que é multi empresa, mais quando abro a tela de produtos por exemplo eu peguei a empresa via sessão por exemplo codigo 1, só quero que venha listado no grid os produtos que são da empresa 1... eu fiz um campo empresa na parte de filtro, capturei na sessao a empresa do usuario logado... mais quando abre a tela vem todos os produtos... somente quando cli...
CS
Filtrar datagrid com dado da sessão em sistema multiempresa  
Fechado
Boa tarde !!!

Estou fazendo um sistema que é multi empresa, mais quando abro a tela de produtos por exemplo eu peguei a empresa via sessão por exemplo codigo 1, só quero que venha listado no grid os produtos que são da empresa 1... eu fiz um campo empresa na parte de filtro, capturei na sessao a empresa do usuario logado... mais quando abre a tela vem todos os produtos... somente quando clico em pesquisar ele filtra a os produtos da empresa 1... tem uma forma mais facil para que eu sempre filtre os produtos que são relacionados a empresa 1 ? ou que eu já execute esse onSearch de produtos logo que a tela vai abrir... como se fosse o evento onShow de um formulário Delphi ?

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


MG

Carlos

Já tentou executar o filtro em onShow()?
NR

Carlos, se sua classe é filha de uma classe padrão do framework, como a TStandardList por exemplo, você pode utilizar a função setCriteria diretamente no construtor de sua classe:

  1. <?php
  2. $criteria = new TCriteria();
  3. $criteria->add(new TFilter('empresa_id','=',TSession::getValue('empresa_id')));
  4. parent::setCriteria($criteria);
  5. ?>


Agora, caso você tenha reescrito o método onReload, você pode adicionar o filtro diretamente neste método:

  1. <?php
  2. function onReload($param)
  3. {
  4.     ... 
  5.     $criteria = new TCriteria();
  6.     $criteria->add(new TFilter('empresa_id','=',TSession::getValue('empresa_id')));
  7.     $objects $repository->load($criteria);
  8.     ...
  9. ?>
CF

Carlos, boa noite.

Você está usando o cadastro das Unidades ? Em caso positivo, como você fez para ligar a Unidade ao Usuário?

Abs
Cleber