AF
Acessar uma variável na mesma classe
Olá,
Ainda estou apanhando no entendimento de como pegar o valor de um objeto na mesma classe:
Minha classe tem a var $janela como public
dá um erro de:
Fatal error: Using $this when not in object context in C:xampphtdocserpnfeappcontrolPrincipaForm.class.php on line 274
Fatal error: Using $this when not in object context in C:xampphtdocserpnfeappcontrolPrincipaForm.class.php on line 274
Ainda estou apanhando no entendimento de como pegar o valor de um objeto na mesma classe:
Minha classe tem a var $janela como public
dá um erro de:
Fatal error: Using $this when not in object context in C:xampphtdocserpnfeappcontrolPrincipaForm.class.php on line 274
Fatal error: Using $this when not in object context in C:xampphtdocserpnfeappcontrolPrincipaForm.class.php on line 274
- <?php
- class PrincipaForm extends TPage
- {
- protected $form;
- protected $codigo_key;
- public $janela;
- use Adianti\Base\AdiantiStandardFormTrait; // Standard form
- // tenho o method na saida de um campo de produto:
- /* ===============================================================*/
- /* após a busca do produto passa aqui para jogar dados nos campos */
- /* ===============================================================*/
- public static function onExitProduto($param)
- {
- try
- {
- TTransaction::open('sisrev');
- $TabProduto = Principa::find( $param['key'] );
- $send = new StdClass;
- $send->cf_pro = $TabProduto->cf_pro;
- $send->obs_pri = $TabProduto->obs_pri;
- $send->obs_pri1 = $TabProduto->obs_pri1;
- $send->obs_pri2 = $TabProduto->obs_pri2;
- $send->obs_pri3 = $TabProduto->obs_pri3;
- $send->aplicacao = $TabProduto->aplicacao;
- $send->mensagem = $TabProduto->mensagem;
- $send->unidade = $TabProduto->unidade;
- $send->peso = $TabProduto->peso;
- $send->pesolb = $TabProduto->pesolb;
- $send->ingles = $TabProduto->ingles;
- $send->espanhol = $TabProduto->espanhol;
- $send->unidade = $TabProduto->ingles;
- $send->qtminima = $TabProduto->qtminima;
- $send->qtmaxima = $TabProduto->qtmaxima;
- $send->qtusada = $TabProduto->qtusada;
- $send->seguranca = $TabProduto->seguranca;
- $send->codlin = $TabProduto->codlin;
- $send->codmat = $TabProduto->codmat;
- $send->grupo = $TabProduto->grupo;
- $send->subgrupo = $TabProduto->subgrupo;
- $send->codigoanp = $TabProduto->codigoanp;
- $send->curvaabc = $TabProduto->curvaabc;
- $send->serie = $TabProduto->serie;
- $send->chassi = $TabProduto->chassi;
- /$this->janela = new MenuEst(); // uma classe que tem uma datagrid
- $this->janela->onReload($param);
- TTransaction::close();
- TForm::sendData('quick_note_form', $send );
- }
- catch ( Exception $e )
- {
- new TMessage('info', $e->getMessage() );
- }
- }
- ?>
Curso Dominando o Adianti Framework
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado!
Dominando o Adianti Framework Quero me inscrever agora!
Não é possível usar a variável $this dentro de uma função static. Declare a variável $window como static e chame-a através do self:
Mas explique o que você tentando fazer, porque se estiver tentando recarregar alguma tela para exibição, acredito que deste modo não vá funcionar.
Olá
Uma aplicação que tem dois notebook:
1) o primeiro mostra os dados do produto
2) o segundo notebook é uma datagrid que mostra as marcas e ou fornecedores do produto
Então após selecionar o produto na parte de cima (no method onExitProduto() ) quero buscar os fornecedores do produto e mostrar no segundo notebook na datagrid, recarregar a datagrid e dar um refresh na tela.
e uso o method onReload() não posso mencionar o objeto datagrid, no onExit tambem porque tudo static.
Ari
Nesse caso acredito que você precisará gravar os dados da grid na sessão e recarregar toda tela através do método post, para não perder as informações preenchidas no form:
https://www.adianti.com.br/forum/pt/view_2904?preencher-um-tquickgrid-dentro-de-