Ir para conteúdo
  • Cadastre-se

dev botao

Campo cprod cortando no ACBRNFeDANFERL(Fortes Report)


Paulo H
  • Este tópico foi criado há 1225 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

olá boa tarde a todos, tentei abrir a unit ACBrNFeDANFeRLRetrato para tentar resolver a questão da quebra de linha do campo cprod no danfe, mas dá a seguinte mensagem:

Error creating form:Ancestor for 'TfrlDANFeRL' not found. alguém sabe o porquê desta mensagem? estou usando fortes report-ce-master com XE2.

bom a mensagem é clara que não encontrou o form pai (TfrlDANFeRL), mas como isso pode ser revolvido?

Editado por Programador
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Não ficaria mas fácil, alterar a propriedade LarguraCodProd para : 100 ?

E fazer um teste e verificar se atende a sua necessidade. @Programador.

Mas , caso contrario  : 

   1- Abra a Unit ACBrNFeDANFeRL.pas

  2 - Abra unit ACBrNFeDANFeRLRetrato, faça os seus ajustes.

 

Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
Em 11/04/2016 at 17:14, Juliomar Marchetti disse:

Vamos lá use a força! os fontes são abertos e o gerador de relatório também, abra os fontes e tente resolver! depois é só deixar aqui a contribuição!

 

Será que alguém conseguiu resolver esse caso... eu não consegui. O Código ainda sai em branco com FortesRport

sem_codigo.png

Editado por FLEXNET
faltou a imagem

Ricardo

Flexnet Sistemas

Link para o comentário
Compartilhar em outros sites

  • Moderadores
46 minutos atrás, FLEXNET disse:

Será que alguém conseguiu resolver esse caso... eu não consegui. O Código ainda sai em branco com FortesRport

sem_codigo.png

1- Faça alguns testes com o demo

2- Verifique a propriedade LarguraProd

3- Verifique se está marcado ExibirEan

4- Atualize os seus códigos

5- Se fez a 4 ,, volte ao item 1 

6- Se o código do produto estive com 60 caracteres, não existe solução no ACbr.

7- Post o seu arquivo xml para analise.

Obrigado, pelos seu cometários pois são de grande ajuda.

 

Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

Vamos lá Henrique, respondendo:

1- Faça alguns testes com o demo

  Mesmo Problema

2- Verifique a propriedade LarguraProd

esta 54, mas ja tentei com 10, 20, 30 e 60 sem efeito

3- Verifique se está marcado ExibirEan

True ou False não muda nada

4- Atualize os seus códigos

Atualizado, deu na mesma.

5- Se fez a 4 ,, volte ao item 1 

Feito...  mesma coisa.

6- Se o código do produto estive com 60 caracteres, não existe solução no ACbr.

tem 6 dígitos

7- Post o seu arquivo xml para analise.

Anexado

Obrigado.

51160300169060000132550010000001251000001258-nfe.xml

Editado por FLEXNET
Anexo

Ricardo

Flexnet Sistemas

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Moderadores
3 horas atrás, FLEXNET disse:

 

 

@hleorj. Uma dúvida, preciso reinstalar todos pacotes ACBR ? ou somente o pacote referente ao Acbr_DanfeRL.dpk ?

 

Muito agradecido pela atenção.

Reinstalar tudo

  • Curtir 1
Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...

meu problema é que esta cortando a parte debaixo da decrição e titulo

Tem algum jeito de deixar 1mm a mais para baixo ? parece que a fonte esta meio grande ...

Uso lazarus com linux

Selecao_003.png

Selecao_004.png

na descrição do produto (titulo) ficou cortando , o codigo tem de ser grande assim mesmo devido a alguns produtos ter codigo maior

Link para o comentário
Compartilhar em outros sites

Spoiler

 

Estranho , ja ta instalado , usava no sistema antigo do governo ele exigia fontes windows .

Cheguei a iniciar um danfe proprio usando um fork do fpdf mas esta na metade ainda do desenvolvimento , se quiserem posso enviar os fontes dai podem juntar ao projeto (a vantagem é que gera pdf usando apenas 1 unit)

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Segue em anexo o exemplo do danfe com os fontes , caso deseje integrar ao acbr acredito que seria valido pois tambem roda no delphi

exemplo_pdf.zip

a funçao linha acabou ficando de fora

procedure TNFE_frm.linha(altura, largura, esquerda, superior: double;
  sbordas, vlabel, texto: string; tfonte: TPDFFontFamily; fStilo: TPDFFontStyle;
  Sfonte: double; vAlinhamento: string);
begin

  if Pos('N', sbordas) > 0 then
    pdf.SetLineWidth(0.25)
  else
    pdf.SetLineWidth(0.05);
  if Pos('T', sbordas) > 0 then
    pdf.line(esquerda, superior, (esquerda + largura), superior);
  if (Pos('B', sbordas) > 0) then
    pdf.line(esquerda, (superior + altura), (esquerda + largura), (superior + altura));
  if (Pos('L', sbordas) > 0) then
    pdf.line(esquerda, superior, esquerda, (superior + altura));
  if (Pos('R', sbordas) > 0) then
    pdf.line((esquerda + largura), superior, (esquerda + largura), (superior + altura));


  //superior-= 21;
  // impressao das labels
  if (vlabel <> '') then
  begin
    // if (fonte='')then
    // fonte := 'ffCourier,fsBold,5';

    // f = split(",",fonte);
    // pdf.SetFont(f[0], f[1], f[2]);
    pdf.SetFont(tfonte, fsNormal, 5);
    pdf.setXY(esquerda - (Sfonte / 10), superior + (Sfonte / 4));
    pdf.Cell(largura, 0, vlabel, '',  vAlinhamento);
  end;
  // impressao do texto
  if (texto <> '') then
  begin
    //if (tfonte='')then
    // tfonte := 'Courier,7,L';

    //  f = split(",",tfonte);
    // pdf.SetFont(f[0], f[1], f[2]);
    pdf.SetFont(tfonte, fStilo, Sfonte);
    pdf.setXY(esquerda, superior + 5);
    pdf.Cell(largura, 0, texto, '', vAlinhamento);
  end;

end; 

 

Link para o comentário
Compartilhar em outros sites

Bom dia,

@alexpseletr acho que vc devia abrir um novo tópico descrevendo melhor o que vc quer compartilhar...

Seria interessante vc descrever em qual IDE (Lazarus ou qual versão do Delphi) vc usa? Qual a origem do fonte? Se este Danfe está de acordo com o modelo do Manual de Orientação...

Eu baixei aqui seu arquivo, mas não testei ainda no Lazarus...vi que vc usou uma biblioteca (digamos assim) geradora de PDF em pascal (libjpfpdf.pas), e junto tem uma rotina que gera o Danfe usando esta biblioteca (gerapdf_botao.pas) pegando os dados da NF-e diretamente do componente ACBrNFe.

Na melhor das hipóteses, (se aceitarem) essa sugestão poderia virar mais um componente no ACBr pra gerar o Danfe diretamente em PDF... ?

Att

Ricardo

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

Boa tarde pessoal! Notei que este topico ficou parado e agora tive o mesmo problema. Atualizei novamente os fontes mas o campo codigo do produto continua avançando dentro do campo do nome.

A solução foi implementada? existe algum parametro adicional a ser preenchido?

 

 

Grato!

Reverson Nogueira Tricoletti

http://www.maxsofttecnologia.com.br

Link para o comentário
Compartilhar em outros sites

Bom dia pessoal!

Sei que o tópico esta meio parado e dada as informações contidas aqui no tópico solucionei o problema utilizando os seguintes valores para o tamanho do campo cprod: 55

Para complementar escrevi uma função para tratar da quebra das linhas automaticamente evitando que o usuário tenha que fazer as quebras manuais.

No também parametrizei para que fosse ajustado o tamanho do campo cprod e o comprimento de corte. Sendo assim deixo o codigo como contribuição para quem passar pelo mesmo problema.

Segue o código:

  function QuebraString(texto : string; comprimento: Integer; Caracquebra : string) : string;
  var
  LarguraTexto, cortes,i,ponteiro : integer ;
  Resto,Resultado : string;
  begin
    Resultado := '';
    LarguraTexto:= Length(texto);
    Cortes:= Round(LarguraTexto/ comprimento);
    ponteiro:=1;

         for i:= 1 to Cortes do
              begin
              Resultado:= resultado + copy(texto,ponteiro,comprimento)+' ';
              Ponteiro:= ponteiro+comprimento;
        end;
     

      if (Resultado='') then  Result:= texto else
                              Result:= Resultado;
  end;

 

 

No preenchimento do campo cprod, no lasso dos itens da nfe usei da seguinte forma:

        if (emissorQuebraCProd.AsInteger >0) then
             Prod.cProd := QuebraString(ItensCod_referencial.AsString,emissorQuebraCProd.AsInteger,' ') else
              Prod.cProd := ItensCod_Referencial.AsString;

 

 

Grato mais uma vez!

 

 

  • Curtir 1

Reverson Nogueira Tricoletti

http://www.maxsofttecnologia.com.br

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • Administradores

Boa tarde @edulamy

Sua postagem foi movida para um noco tópico para que fique separada da situação relatada aqui.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...
  • Membros Pro
Em 30/06/2016 at 20:02, FLEXNET disse:

Será que alguém conseguiu resolver esse caso... eu não consegui. O Código ainda sai em branco com FortesRport

sem_codigo.png

Amigo, como conseguiu colocar o codigo para sair em branco? estou tentando colocando " " mas ta dando erro, gostaria que nao saisse nada.

Em 30/06/2016 at 20:02, FLEXNET disse:

Será que alguém conseguiu resolver esse caso... eu não consegui. O Código ainda sai em branco com FortesRport

sem_codigo.png

Amigo, como conseguiu colocar o codigo para sair em branco? estou tentando colocando " " mas ta dando erro, gostaria que nao saisse nada.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1225 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.