Conheça as melhorias da versão 8.0, 8.1, 8.2!
Clique aqui para saber mais
Como mudar a logomarca da empresa no relatorio nfe-pdf Peguei o relatorio nfe-pdf que vem no tutor, e fiz algumas alterações para meu relatorio de vendas. Porém, meu sistema é multi empresa, então tenho que alterar a logomarca da empresa em uso no sistema. Como posso fazer isso ? Andei lendo algumas coisas do metodo generate() do TPDFDesigner, mas ainda não consegui desenrolar. No arquivo XML tem uma tag mas é fixo o path da imagem. Só...
CC
Como mudar a logomarca da empresa no relatorio nfe-pdf  
Peguei o relatorio nfe-pdf que vem no tutor, e fiz algumas alterações para meu relatorio de vendas. Porém, meu sistema é multi empresa, então tenho que alterar a logomarca da empresa em uso no sistema. Como posso fazer isso ? Andei lendo algumas coisas do metodo generate() do TPDFDesigner, mas ainda não consegui desenrolar. No arquivo XML tem uma tag <file> mas é fixo o path da imagem. Só preciso alterar para o path que eu quiser.

Obrigado


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!


Dominando o Adianti Framework Quero me inscrever agora!

Comentários (5)


CC

Tentei dessa forma:

Alterei o XML do relatorio para:

<image id="169"> <class>Image</class> <x>24</x> <y>24</y> <width>80</width> <height>80</height> <file>{logomarca}</file> </image>


No método generate() coloquei:

 
  1. <?php
  2. $designer->replace('{logomarca}', 'C:\produz_distribuidora.jpg' );
  3. ?>


Mas não funcionou

CC

Consegui da seguinte forma:

<?
$designer = new TPDFDesigner;
$designer->replace('{logomarca}', $licenciada[0]->logomarca_path);
$designer->fromXml('app/reports/nfe.pdf.xml');
$designer->generate();
?>

Coloquei o a linha de instrução do "replace" antes de carregar o XML
$designer->replace('{logomarca}', $licenciada[0]->logomarca_path);


São pequenos detalhes que fazem não funcionar. Mas basta ter paciencia, e ler o próprio codigo fonte do framework, que a gente vai entendendo.

Fica aí a dica pra alguém que passe pelo mesmo problema que eu.

Valeu...
AM

Claudio, fugindo um pouco, como fez o multi Empresa?
CC

Estou sim, Alisson. Estou indo devagar com o desenvolvimento porque estou usando o framework desde domingo de carnaval (peguei uma gripe, e passei carnaval em casa, e resolvi meter as caras no framework da Adianti). Quando se trabalha com uma base de dados multi-empresa todo cuidado é pouco. Um dos motivos de eu ter realmente decidido enfrentar essa empreitada, foi a praticidade que terei para abrir novas empresas no sistema. O Adianti Framework é muito pratico. O problema é que nem o PHP eu conheço... Tenho as vezes duvidas de sintaxe simples.. hehehe

Mas enfim...
CC

O Multi empresa eu fiz usando o Adianti Studio. Setando primeiramente a variável
multiunit =1
no application.ini
Coloquei as tabelas de controle de permissões no mysql... Modifiquei o a classe de modelo "SystemUnit" para conter os atributos que eu precisava,,

 
  1. <?php
  2. /**
  3. * SystemUnit
  4. *
  5. * @version 1.0
  6. * @package model
  7. * @subpackage admin
  8. * @author Pablo Dall'Oglio
  9. * @copyright Copyright (c) 2006 Adianti Solutions Ltd. (http://www.adianti.com.br)
  10. * @license http://www.adianti.com.br/framework-license
  11. */
  12. class SystemUnit extends TRecord
  13. {
  14. const TABLENAME = 'system_unit';
  15. const PRIMARYKEY= 'id';
  16. const IDPOLICY = 'max'; // {max, serial}
  17. /**
  18. * Constructor method
  19. */
  20. public function __construct($id = NULL, $callObjectLoad = TRUE)
  21. {
  22. parent::__construct($id, $callObjectLoad);
  23. parent::addAttribute('nome');
  24. parent::addAttribute('razao_social');
  25. parent::addAttribute('cnpj_cpf');
  26. parent::addAttribute('endereco');
  27. parent::addAttribute('complemento');
  28. parent::addAttribute('bairro');
  29. parent::addAttribute('cidade');
  30. parent::addAttribute('uf');
  31. parent::addAttribute('cep');
  32. parent::addAttribute('contato');
  33. parent::addAttribute('fone');
  34. parent::addAttribute('logomarca_path');
  35. }
  36. }
  37. ?>


E fui seguindo.... Alterei o formulario de cadastro de Unidades, acrescentando os novos campos.... AGORA, O MAIS IMPORTANTE nessa brincadeira toda, é o cuidado com sua base de dados. Além de separar corretamente os registros por licenciada, tenho que ter o cuidado de gerar codigos sequenciais iniciando do 1 para cada Unidade... Tipo: CODIGO DO PRODUTO.... Tenho que pegar a sequencia que está, POR UNIDADE...

Mas está dando certo