AT
Mensagem de erro fatal - carga de fiellist
Bom dia...pessoal
Se puderem me ajudar, estou tentando a carga de um forma externo com parametros, tudo funciona bem , o retorno de objetos do banco, mas a carga do fieldlist para neste erro na linha 157, conforme imagem anexo, não consigo resolver, conto com a ajuda de vocês desde agradeço muito.
[] obrigado
Se puderem me ajudar, estou tentando a carga de um forma externo com parametros, tudo funciona bem , o retorno de objetos do banco, mas a carga do fieldlist para neste erro na linha 157, conforme imagem anexo, não consigo resolver, conto com a ajuda de vocês desde agradeço muito.
[] obrigado
Na linha 28 você está chamando a função onLoad e dentro dela tentando acessar a variável $this->fieldlist que só é inicializada na linha 35.
Inicie a variável antes ou chame a função depois da inicialização.
Boa tarde Nataniel...
Obrigado pelo retorno, corrigi o erro do fieldlist, chamei a função após a inicialização o erro faltal resolveu, mas o fieldlist não carrega, ainda com os objetos dentro fo foreach carregarem normalmente, na linha 175 não carrega o objForm, no outro post vc se referiu a atribuição $id_ent = $param; como possível erro, mas os objetos retornam do banco, so não carregam o fieldlist, por favor me ajude a resolver, se conseguir neste caso meu projeto todo ficará pronto entendeu?
[] obrligado
Como você está chegando nessa tela? Através de loadPage, diretamente do menu, por uma datagrid? E qual função desta classe está sendo chamada inicialmente?
Boa noite Nataniel...
Obrigado por retornar, vou postar o form mestre, onde faço a carga dos forms detalhe atribuindo cada um a página do notebook, são muitos detalhes e ficou confuso e trabalhoso fazer tudo em único form, o resultado é excelente, tb vou enviar uma tela onde dados pessoais com foto funcionando normalmente, o problema é que o form enderecos em questão não faz a carga do fieldlist, faço um var_dump e os objetos retornam perfeitamente, todos os forms detalhes são carregados e a função onLoad e onEdit são ativadas diretamente, avalia com sua experiência uma vez que ja fiz projeção no desenvolvimento do projeto e dependo desta solução desde ja te agradeço muito!!!
[] obrigado
Acredito que o problema possa estar relacionado a função onEditEntidade definida como estática. Tente alterar a função onLoad da classe EnderecoForm para carregar o fieldlist também de maneira estática:
Nataniel boa noite...
Obrigado por retornar, desculpe a insistência, mas a classe principal onEditeEntidade, deve ser o problema, uma vez que carrega o form_pessoais com foto normalmente, fiz as alterações conforme vc sugeriu transformando onLoad da classe EnderecoForm em static, mas deu muitos erros e não funcionou, com a inclusão do TForm::sendData, carrega uma linha e fica mudando os registros intermitentemente, no teste são 3 objetos, ficam girando na mesma linha o tempo todo, criei uma versão usando datagrid tb não carrega no mesmo local em $this->datagrid->addItem($end), sendo que a classe EnderecoForm executada direto na url carrega tudo normalmente, deve ter uma forma de fazer funcionar, inclusive usando javascript, por favor me ajude a encontrar uma solução!!!
[] obrigado
Augusto
public function onLoad($param)
{
try
{
$id_ent = TSession::getValue('id_ent');
TTransaction::open('setcis');
$tabEndereco = EntidadeEndereco::where('entidade_id', '=', $id_ent)->load();
$this->datagrid->clear();
if ($tabEndereco)
{
foreach ($tabEndereco as $end)
{
$this->datagrid->addItem($end); <-AQUI NÃO CARREGA O GRID
}
}
TTransaction::close();
$this->loaded = true;
}
catch (Exception $e)
{
new TMessage('error', $e->getMessage());
TTransaction::rollback();
}
}
public function onLoad($param)
{
try
{
TTransaction::open('setcis');
$id_ent = TSession::getValue('id_ent');
$objEndereco = EntidadeEndereco::where('entidade_id', '=', $id_ent)->load();
$this->fieldlist->addHeader();
$objForm = new stdClass;
if ($objEndereco)
{
foreach ($objEndereco as $end)
{
$objForm->list_id = $end->id;
$objForm->list_enderecos_id = $end->enderecos_id;
$objForm->list_cep = $end->cep;
$objForm->list_logradouros_id = $end->logradouros_id;
$objForm->list_endereco = $end->endereco;
$objForm->list_numero = $end->numero;
$objForm->list_complemento = $end->complemento;
$objForm->list_bairro = $end->bairro;
$objForm->list_cidade_id = $end->cidade_id;
$objForm->list_estado_id = $end->estado_id;
TForm::sendData('form_endereco',$objForm);
//$row = TFieldList::addDetail('fdlEndereco', $objForm);
$row = $this->fieldlist->addDetail($objForm); <-AQUI NÃO CARREGA O FIELLIST
$row->del($row->get(count($row->getChildren())-1));
}
$row = $this->fieldlist->addDetail( new stdClass );
$row->del($row->get(count($row->getChildren())-1));
}
else
{
$row = $this->fieldlist->addDetail( new stdClass );
$row->del($row->get(count($row->getChildren())-1));
}