MO
Erro depois que Gera PDF
Amigos estou gerando um relatório, ele mostra direitinho o pdf, dai quando retorno para o formulário, ele apresenta o seguinte erro:
Warning: Illegal offset type in D:\VertrigoServ\www\teste\lib\adianti\wrapper\AdiantiPDFDesigner.php on line 111
o que pode ser? segue o código gerador do pdf
<php
public function onGenerate($param)
{
try
{
$key=$param['key']; // get the parameter $key
TTransaction::open('permission'); // open a transaction with database
$object = new Titular($key, FALSE); // instantiates the Active Record
//var_dump($object);
$designer = new TPDFDesigner;
$designer->fromXml('app/reports/FichaSocioEconomica.pdf.xml');
$designer->generate();
$designer->gotoAnchorXY('cod_titular');
$designer->SetFontColorRGB('#000000');
$designer->SetFont('Arial', '', 12);
$designer->writeAtAnchor('cod_titular', $object->cod_titular);
$designer->writeAtAnchor('nome', $object->nome);
$designer->writeAtAnchor('apelido', $object->apelido);
$designer->writeAtAnchor('nis', $object->nis);
$designer->writeAtAnchor('cpf', $object->cpf);
$designer->writeAtAnchor('sexo', $object->sexo);
$designer->writeAtAnchor('estado_civil_id', $object->estado_civil->estadocivil);
$designer->save('app/output/FichaSocioEconomica.pdf');
parent::openFile('app/output/FichaSocioEconomica.pdf');
TTransaction::close();
}
catch (Exception $e)
{
new TMessage('error','Não foi possível gerar o Relatório
Contate o Administrador');
}
}
?>
Warning: Illegal offset type in D:\VertrigoServ\www\teste\lib\adianti\wrapper\AdiantiPDFDesigner.php on line 111
o que pode ser? segue o código gerador do pdf
<php
public function onGenerate($param)
{
try
{
$key=$param['key']; // get the parameter $key
TTransaction::open('permission'); // open a transaction with database
$object = new Titular($key, FALSE); // instantiates the Active Record
//var_dump($object);
$designer = new TPDFDesigner;
$designer->fromXml('app/reports/FichaSocioEconomica.pdf.xml');
$designer->generate();
$designer->gotoAnchorXY('cod_titular');
$designer->SetFontColorRGB('#000000');
$designer->SetFont('Arial', '', 12);
$designer->writeAtAnchor('cod_titular', $object->cod_titular);
$designer->writeAtAnchor('nome', $object->nome);
$designer->writeAtAnchor('apelido', $object->apelido);
$designer->writeAtAnchor('nis', $object->nis);
$designer->writeAtAnchor('cpf', $object->cpf);
$designer->writeAtAnchor('sexo', $object->sexo);
$designer->writeAtAnchor('estado_civil_id', $object->estado_civil->estadocivil);
$designer->save('app/output/FichaSocioEconomica.pdf');
parent::openFile('app/output/FichaSocioEconomica.pdf');
TTransaction::close();
}
catch (Exception $e)
{
new TMessage('error','Não foi possível gerar o Relatório
Contate o Administrador');
}
}
?>
Pelo erro exibido, parece que está sendo definido algum elemento inválido como chave do array anchors, como um objeto por exemplo.
Adicione o seguinte antes da linha 111, na classe AdiantiPDFDesigner.php e veja o que retorna:
<?
if (! is_scalar($anchor_name) )
{
var_dump($anchor_name);
}
?>
Verifica se existe no formulário PDF Designer alguma ancora sem nome, apenas o componente. Ou você coloca o nome ou deleta do formulário que vai sumir este erro.
Att.,