Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia, Pessoal.

Estou com um problema na impressão da NF-e.

Componentes utilizados:
- ACBrNfe
- ACBrNfeDANFERL (Fortes Report)

O campo cprod está sendo preenchido por códigos de 50 a 60 caracteres, porém na impressão(preview) não está quebrando no Fortes. Está sendo truncado no tamanho da coluna.
Exemplo: No XML está preenchido com o valor 1231RSWREFWE123213123GTSTSHSFFFS234442DFSDFSDFSFFDSFR.
Porém na impressão sai somente 1231RSWREF que corresponde ao tamanho da coluna. Ele deveria quebrar e colocar o restante na linha abaixo.
Notei que tem como alterar o tamanho da coluna cprod no DANFE, porém com esses tamanhos a descrição fica muito pequena.
Já tentei alterar algumas propriedades diretamente no componente como o autosize, porém não surtiu efeito.
Gostaria de saber se alguém já passou por isso e se possui alguma forma de resolver.
Utilizo o novo FortesReport com o Trunk2.

Obs.: Procurei no forum, porém não encontrei nada com esse problema. Encontrei mais detalhes de campos cortados no PDF. Se já existir tópico e eu não encontrei, me desculpem. Desculpem se postei errado, é meu primeiro post.

Muito obrigado.

Postado

Não. O campo cprod está recebendo o código do produto. Dentro da regra de negócio dos nossos clientes o código do produto recebe um código que pode conter até 60 caracteres, conforme layout da nfe.

Obrigado.

Postado

Bom dia, Helber e Juliomar.

Estou com o mesmo problema descrito. Meu cenário é exatamente igual ao do Helber.

Segue em anexo a imagem do cprod no XML, o XML e o PDF.

Caso seja necessário mais alguma coisa é só falar.

Observação: Os dados dos arquivos (CNPJ, IE, ...) são todos fictícios. A intenção é mostrar somente a quebra. Mandei os arquivos compactados, não sei se está ferindo alguma norma do fórum, caso esteja, favor me avisar.

Obrigado.

Paulo.

PDF.rar

Postado


Juliomar,

Em formato paisagem, o tamanho do campo cprod apresentado na impressão é praticamente o mesmo. 

Segue o anexo o arquivo NFE_Paisagem.pdf para verificar como fica.

Para alterar o tamanho do campo identificamos a propriedade LarguraCodProd no ACBrNFeDANFERL, conforme o Helber havia fala. Porem aumentando a largura, está diminuindo o tamanho da coluna Descrição do Produto/Serviço. Mesmo assim não atende, pois no teste que fizemos não comportou todos os caracteres.

Estou enviando o arquivo NFE_Rave.pdf que foi gerado no Rave no Trunk1 (sei que não tem mais o Rave no Trunk2) para verificar que o comportamento que utilizávamos era quebrar a linha.

Segue também o arquivo Comparativo.png que mostra a diferença das versões.

Obrigado.
 

PDF.rar

Postado

Boa tarde, Henrique.

Alterei o componente conforme havia falado. Segue o arquivo PDF_TRLDBMemo.pdf para ver como ficou a impressão depois das alterações. 

Porém cresceu sobre o campo descrição conforme anexo.

Segue o arquivo Código_Fonte.txt com as partes alteradas de acordo com o que falou.

Você chegou a passar por isso também, Henrique? 

Muito obrigado.

PDF.rar

  • Moderadores
Postado

@alphainfo,  não.

Mas vamos desenvolver uma solução ? se sim , Colocou o   : 

TRLDBMemo

e deixou a propriedade LarguraCodProd = 20 ?

 

 

 

 

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

Postado

@hleorj,

Enviei em anexo o PDF.rar no último post. Dentro tinha o arquivo Código_Fonte.txt, onde encontra-se o dfm das alterações que havia sugerido, porém não funcionaram.

Vou colocar o conteúdo das alterações aqui para caso não esteja conseguindo abrir o arquivo que enviei.

  • Componente trocado no arquivo ACBrNFeDANFeRLRetrato.dfm. 

object txtCodigo: TRLDBMemo
        Tag = 705
        Left = 2
        Top = 1
        Width = 51
        Height = 10
        AutoSize = False
        Behavior = [beSiteExpander]
        DataField = 'CODIGO'
        Font.Charset = DEFAULT_CHARSET
        Font.Color = clBlack
        Font.Height = -8
        Font.Name = 'Arial'
        Font.Style = []
        ParentFont = False
      end

  •  Alteração no campo LarguraCodProd para 20 do componente ACBrNFeDANFERL.

object ACBrNFeDANFeRL: TACBrNFeDANFeRL

    ...
    TributosSeparadamente = False
    LarguraCodProd = 20
    ExibirEAN = False

    .....
  end
 

O PDF do resultado da impressão encontra-se dentro do arquivo PDF.rar para caso queira ver o resultado das sugestões.

Caso não consiga abrir o arquivo PDF.rar do último post, favor me falar que envio separadamente.

Muito obrigado pela atenção.

  • Moderadores
Postado

@alphainfo, ok

Será preciso desenvolver uma função :

      cdsItens.FieldByName('EAN').AsString          := ManterEanNumaArea( Prod.cEAN );

para definir a quantidade de caracteres a ser impresso em cada linha do   txtCodigo: TRLDBMemo .

 

 

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

Postado

@hleorj, ok.

Iremos incorporar ao código do ACBr essa função ou iremos passar esse valor para a propriedade (Prod.cProd) de forma tratada?

Esse exemplo que você falou está referindo-se ao campo cEAN. Você passou por esse problema com o campo cEAN?

Segue a impressão pelo rave anteriormente utilizado que quebrava automaticamente.

Muito obrigado.

 

NFE_Rave.pdf

  • Moderadores
Postado

Se encontramos uma boa solução será adicionada ao Acbr em um local a ser definido, pois já tivermos alguns casos destes.

você tem o código do rave ? para ser lido .

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

Postado

@hleorj, ok.

Trocando o componente para TRLDBMemo (conforme havia sugerido) e colocando caracteres de espaços está quebrando corretamente.

A função em questão deverá colocar espaços em branco de acordo com a quantidade de caracteres a ser impressa?

Segue em anexo a impressão gerada corretamente.

Gostaria de uma sugestão para melhor corrigir isso, para que essa solução possa ser subida para o ACBr para que outras pessoas possam utilizá-la.

Essa característica de não quebrar sem espaço é uma deficiência que o próprio Fortes Report possui?

Muito obrigado.

PDF_TRLDBMemo_Espaços.pdf

  • Moderadores
Postado

Bom , já sabe que colocando um espaço no código ele faz a quebra,

Mas o que precisamos é :

Codigo =  1231RSWREFWE123213123GTSTSHSFFFS234442DFSDFSDFSFFDSFR

Propriedade LarguraCodProd = 20

a função faça : 

exemplo para ter uma Idéia  :           

   Linha 1 =   1231RSWREFWE1

   Linha 2 =   23213123GTSTSH

   Linha 3 =   SFFFS234442DFSD

   Linha 4 =   FSDFSFFDSFR

 

 

 

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

Postado

@hleorj, ok.

Teria como mudar o componente txtCodigo para o TRLDBMemo, tendo em vista que o tipo do componente que está disponível não possibilita a quebra de linha?

Se tiver, como e quem eu posso sugerir essa alteração?

Muito obrigado pela atenção.

  • Moderadores
Postado

E a solução para o seu problema ?

  Será que atende a outros usuários antes de subir para o SVN ?  

  pois temos atender a todos .

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

Postado

@hleorj

Eu sugeri alterar, pois quem utiliza o campo código e possui espaços, o problema já vai estar corrigido. Diferente do que é hoje, que não está corrigido em nenhum dos casos (utiliza ou não espaços).

Outro ponto que irei fazer é criar uma issues no GitHub do Fortes Report perguntando se esse é um comportamento correto: não quebrar quando não tem espaços.

Se não for um comportamento correto e for corrigido (posso tentar encontrar esse código no Fortes Report), então não iremos precisar criar uma função, pois cada vez que precisarmos que um campo cresça, tivermos que criar uma função ou chamar uma já existente para isso, fica oneroso e pode ocasionar erros quando esquecermos de colocar a função para determinados campos. Acho que dessa forma podemos matar a fonte de alguns desses casos que ocorreram.

Caso não seja considerado um problema ou não seja corrigido, podemos criar essa função, mesmo assim acredito que precisaremos alterar o tipo do componente.

Eu encontrei esse comportamento nos meus relatórios sem ser pelo ACBr.

Estava pensando em proceder dessa forma.

Muito obrigado pela atenção.

Postado

@hleorj e @alphainfo, estive em reunião o dia todo, por isso não comentei antes.

Gostei da ideia de tentar arrumar o componente.

Alterar o txtCodigo para TRLDBMemo já daria uma chance de criarmos uma medida paliativa até a situação se resolver.

  • Moderadores
Postado
  • 03/03/2016
    -- ACBrNFeDANFeRLRetrato ACBrNFeDANFeRLPaisagem --
    [*] Modificado para imprimir o codigo do produtos em varias linhas. 
          
  • Modificado o Svn
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

  • 1 mês depois ...
Postado

Olá boa tarde a todas!

Também estou com problema no cprod quando é acima de 10 caracteres está invadindo o campo descrição, fiz atualização do acbr e o campo descrição está quebrando linha certinho e o campo código não.

Erro codigo.bmp

  • Este tópico foi criado há 1468 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.