Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Alguém está conseguindo imprimir os dados do cliente no canhoto da NFe no modo retrato?

Parou de funcionar e mesmo seguindo as dicas em outro tópico.

 

grato.

  • 2 semanas depois ...
Postado

Já setei a propriedade ExibirResumoCanhoto como true mas ainda não sai.

Tenho clientes reclamando por isso a minha insistência.

 

grato.

  • Moderadores
Postado

Bom dia !

não utilizo o mesmo, mas vamos debugar um pouco

abra o arquivo ACBrDANFeCBRaveRetrato.pas

coloque um breakpoint na linha 114 e outro na linha 137

 

após isso rode sua aplicação e veja em qual dos dois ele para e veja se como está passando a variável e se entra na mesma!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Estava fazendo exatamente isso.

o que ocorre é que na linha 125 dessa unit, temos a validação 

if Length(vEnd)>100 then

essa validação bloqueia praticamente a impressão do emitente quando o nome da empresa ultrapassar 38 caracteres pois a variável vEnd concatena

o texto "Recebemos de" + nome da empresa + " os produtos/serviços constantes da NFe indicada ao lado"

 

grato.

Postado

Será que o canhoto poderia ser impresso na fonte Courier New? Assim usaríamos o máximo de espaço oferecido pelo campo visto que a contagem dos caracteres seria fixo.

  • Moderadores
Postado

Sim Pode !

é só alterar no seu fonte o nome da fonte!

 

Mas sobre a pergunta acima, conseguiu solucionar o problema do canhoto?

Onde no canhoto é um resumo somente pra ter confirmação da entrega certo?

então no caso não vai precisar de todas as informações da nota e caso precise tem o número dela certo?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado (editado)

Como é proibido a impressão de + de uma via da DANFE, os meus clientes estão usando o canhoto para identificar melhor a entrega e arquivar o documento sem precisar recorrer ao sistema.

 

isso é mais praticidade, não é impeditivo.

 

Ainda não consegui resolver, estou fazendo alterações no unit. Se der certo, posto para vocês avaliarem.

Editado por Ideal Brasil
Postado

Segundo o Ajuste SINIEF 07/05 (nova redação dada pelo Ajuste SINIEF 08/10),

o DANFe é utilizado para acompanhar o trânsito das mercadorias, devendo ser impresso em apenas uma via.

Postado

Juliomar, na pesquisa do fórum, vi que tem muita gente com o mesmo problema, por isso minha insistência no caso.

 

Em analise no código abaixo, tenho a seguinte dúvida:

 

Se a variável vEnd estiver com o texto acima de 100 caracteres, exemplo: 

"Recebemos de BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA os produtos/serviços constantes da NFe" ,

 

não será impresso os dados:

"Emissão:16/04/2014 Dest/Rem:NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL Total:464,90"

 

O que tem haver um caso com o outro? 

if Length(vEnd)>100 then
begin
  vEnd:='Recebemos de '+Emit.XNome;
  PrintLeft(vEnd,PosX+1);
  NewLine;
  vEnd:='os produtos/serviços constantes da NFe indicada ao lado';
  PrintLeft(vEnd,PosX+1);
end
else
begin
  PrintLeft(vEnd,PosX+1);
  NewLine;
  if ExibirResumoCanhoto then
  begin
    if DFeUtil.EstaVazio(ExibirResumoCanhoto_Texto) then
      PrintCenter('Emissão:'+DFeUtil.FormatDate(DateToStr(Ide.DEmi))+' Dest/Rem:'+Dest.XNome+' Total:'+DFeUtil.FormatFloat(      Total.ICMSTot.VNF),PosX+(aWidthOutros/2))
    else
      PrintCenter(ExibirResumoCanhoto_Texto,PosX+(aWidthOutros/2));
  end;
end;


  • Moderadores
Postado

 

Juliomar, na pesquisa do fórum, vi que tem muita gente com o mesmo problema, por isso minha insistência no caso.

 

Em analise no código abaixo, tenho a seguinte dúvida:

 

Se a variável vEnd estiver com o texto acima de 100 caracteres, exemplo: 

"Recebemos de BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA BLA os produtos/serviços constantes da NFe" ,

 

não será impresso os dados:

"Emissão:16/04/2014 Dest/Rem:NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL Total:464,90"

 

O que tem haver um caso com o outro? 

if Length(vEnd)>100 then
begin
  vEnd:='Recebemos de '+Emit.XNome;
  PrintLeft(vEnd,PosX+1);
  NewLine;
  vEnd:='os produtos/serviços constantes da NFe indicada ao lado';
  PrintLeft(vEnd,PosX+1);
end
else
begin
  PrintLeft(vEnd,PosX+1);
  NewLine;
  if ExibirResumoCanhoto then
  begin
    if DFeUtil.EstaVazio(ExibirResumoCanhoto_Texto) then
      PrintCenter('Emissão:'+DFeUtil.FormatDate(DateToStr(Ide.DEmi))+' Dest/Rem:'+Dest.XNome+' Total:'+DFeUtil.FormatFloat(      Total.ICMSTot.VNF),PosX+(aWidthOutros/2))
    else
      PrintCenter(ExibirResumoCanhoto_Texto,PosX+(aWidthOutros/2));
  end;
end;


Pq se a variável for maior que 100 ou 108(fonte courier) vai consumir 2 linhas e não vai sobrar espaço para imprimir as demais informações.

  • Curtir 1
djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.xpos.com.br
Postado

anfm/Juliomar, obrigado pelo retorno.

 

Você acha viável baixar um pouco a linha DATA DE RECEBIMENTO | IDENTIFICAÇÃO E ASSINATURA para que tenhamos espaço para a impressão dos outros dados ?

 

Se sim, posso fazer e testar.

  • 1 mês depois ...
  • Membros Pro
Postado (editado)

Também estou com o mesmo problema depois que atualizei, acho meio pequeno o tamanho 100, uma solução seria desativar o negrito (Bold:=false) quando ultrapassar o tamanho ao invez de suprimir a informação.

 

Antes o código era esse:

             if Length(vEnd)>122 then
             begin
                vEnd:='Recebemos de '+Emit.XNome;
                PrintCenter(vEnd,PosX+(aWidthOutros/2));
                NewLine;
                vEnd:='os produtos/serviços constantes da NFe indicada ao lado';
                PrintCenter(vEnd,PosX+(aWidthOutros/2));
             end
             else
             begin
                PrintCenter(vEnd,PosX+(aWidthOutros/2));
                NewLine;
                if ExibirResumoCanhoto then
                begin
                   if DFeUtil.EstaVazio(ExibirResumoCanhoto_Texto) then
                      PrintCenter('Emissão:'+DFeUtil.FormatDate(DateToStr(Ide.DEmi))+' Dest/Rem:'+Dest.XNome+' Total:'+DFeUtil.FormatFloat(Total.ICMSTot.VNF),PosX+(aWidthOutros/2))
                   else
                      PrintCenter(ExibirResumoCanhoto_Texto,PosX+(aWidthOutros/2));
                end;
             end;

Depois

 

if Length(vEnd)>100 then
             begin
                vEnd:='Recebemos de '+Emit.XNome;
PrintLeft(vEnd,PosX+1);
                NewLine;
                vEnd:='os produtos/serviços constantes da NFe indicada ao lado';
PrintLeft(vEnd,PosX+1);
             end
             else
             begin
PrintLeft(vEnd,PosX+1);
                NewLine;
                if ExibirResumoCanhoto then
                begin
                   if DFeUtil.EstaVazio(ExibirResumoCanhoto_Texto) then
                      PrintCenter('Emissão:'+DFeUtil.FormatDate(DateToStr(Ide.DEmi))+' Dest/Rem:'+Dest.XNome+' Total:'+DFeUtil.FormatFloat(Total.ICMSTot.VNF),PosX+(aWidthOutros/2))
                   else
                      PrintCenter(ExibirResumoCanhoto_Texto,PosX+(aWidthOutros/2));
                end;
             end;
          end;
        end;
Editado por marciotga

Atenciosamente,

Márcio Lopes

Analista de Sistemas

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