Lançado Adianti Framework 7.6!
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


Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 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.     
  19.     /**
  20.      * Constructor method
  21.      */
  22.     public function __construct($id NULL$callObjectLoad TRUE)
  23.     {
  24.         parent::__construct($id$callObjectLoad);
  25.         parent::addAttribute('nome');
  26.         parent::addAttribute('razao_social');
  27.         parent::addAttribute('cnpj_cpf');
  28.         parent::addAttribute('endereco');
  29.         parent::addAttribute('complemento');
  30.         parent::addAttribute('bairro');
  31.         parent::addAttribute('cidade');
  32.         parent::addAttribute('uf');
  33.         parent::addAttribute('cep');
  34.         parent::addAttribute('contato');
  35.         parent::addAttribute('fone');
  36.         parent::addAttribute('logomarca_path');
  37.     }
  38. }
  39. ?>


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