Ir para conteúdo
  • Cadastre-se

dev botao

Geração do PDF quando Envio de NFS-e e


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

Recommended Posts

Bom dia Ítalo,

Poderia me ajudar com uma situação?

Eu faço e envio em LOTE, porém ao pedir para gerar o PDF de uma única NFSe, É gerado de TODAS, e  acontece da última ficar com nome de arquivo errado, não batendo com o conteúdo do arquivo.

Usei formas diferentes de gear o PDF e o resultado foi o mesmo.

  for i := 0 to ACBrNFSeX.NotasFiscais.Count -1 do  
  begin
    //ACBrNFSeX.NotasFiscais.ImprimirPDF;  

    //ACBrNFSeX.DANFSE.ImprimirDANFSEPDF(ACBrNFSeX.NotasFiscais.Items[i].NFSe);

    //ACBrNFSeX.NotasFiscais.Items[i].ImprimirPDF;

    ACBrNFSeX.NotasFiscais.Items[i].EnviarEmail(ACBrNFSeX.NotasFiscais[i].NFSe.Tomador.Contato.Email,
                                               'Nota Fiscal Eletronica de Serviço',  // Assunto
                                                mensagem,                                       // Mensagem
                                                True,                                                  // Enviar PDF junto
                                                nil,                                                      // Lista com emails que serão enviado com cópias - TStrings
                                                nil                                                       // Lista de anexos - TStrings
                                               );
  end;
  

Grato,

 


  

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

em ambos os casos tu tem varias notas carregadas então ele vai imprimir. além que tu está fazendo um loop .

o primeiro vai imprimir tudo o que tem nas notasfiscais carregada e o segundo tu faz um loop

pra imprimir uma só ou tu tem só ela carregada ou acha o indice do único e chama uma vez só

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Link para o comentário
Compartilhar em outros sites

Não entendi bem a resposta. Bem... as linhas referente impressão, estão comentadas, foram testes

Usando somente:

ACBrNFSeX.NotasFiscais.Items[i].EnviarEmail(ACBrNFSeX.NotasFiscais[i].NFSe.Tomador.Contato.Email,
                                               'Nota Fiscal Eletronica de Serviço',  // Assunto
                                                mensagem,                                       // Mensagem
                                                True,                                                  // Enviar PDF junto
                                                nil,                                                      // Lista com emails que serão enviado com cópias - TStrings
                                                nil                                                       // Lista de anexos - TStrings
                                               );

Imprime tudo e de forma errada, oque pode ser visto ao para em um break point, verá que na primeira vez são gerados dois PDFs sendo um errado.

 

Link para o comentário
Compartilhar em outros sites

Em 26/09/2022 at 10:12, Anadilson disse:

Não entendi bem a resposta. Bem... as linhas referente impressão, estão comentadas, foram testes

Usando somente:

ACBrNFSeX.NotasFiscais.Items[i].EnviarEmail(ACBrNFSeX.NotasFiscais[i].NFSe.Tomador.Contato.Email,
                                               'Nota Fiscal Eletronica de Serviço',  // Assunto
                                                mensagem,                                       // Mensagem
                                                True,                                                  // Enviar PDF junto
                                                nil,                                                      // Lista com emails que serão enviado com cópias - TStrings
                                                nil                                                       // Lista de anexos - TStrings
                                               );

Imprime tudo e de forma errada, oque pode ser visto ao para em um break point, verá que na primeira vez são gerados dois PDFs sendo um errado.

 

Bom dia,

Teria como essa solicitação passar pela avaliação do ÍTALO?

No caso gostaria que se possível ELE apontasse alguém. Pois já é a segunda solicitação ficando sem solução quando passa pelas mãos desse JULIOMAR MARCHETTI

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Anadilson,

Todos os Moderadores e Consultores bem como todos os membros do fórum procuram sempre tentar entender o que está ocorrendo e com base no seu conhecimento tentar ajudar para chegar a uma solução.

Ao postar o problema, procure sempre escrever de forma clara e precisa, pois as vezes temos dificuldades de compreender o que o desenvolvedor escreveu.

O Juliomar pode não ter um conhecimento aprofundado sobre o assunto A, mas ele é expert no assunto B.

Notei que você está atirando para todos os lados, ou seja, usando todos os métodos que geram o PDF e sai testando para descobrir qual é o que funciona.

Você tem o XML da nota salvo em disco?

Se sim, faça o seguinte:

    ACBrNFSeX1.NotasFiscais.Clear;

    // LoadFromFile - Usado para carregar o Xml de apenas uma nota
    ACBrNFSeX1.NotasFiscais.LoadFromFile(OpenDialog1.FileName, False);

    // ImprimirPDF gera o PDF do DANFSE
    ACBrNFSeX1.NotasFiscais.ImprimirPDF;

A rotina acima garante que apenas uma nota está carregada no componente, logo não é para gerar dois PDF.

  • Curtir 3
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde pessoal,

@Anadilson entendo que tenha urgência em resolver as questões, mas preciso  recordar que estamos na area da comunidade, onde as respostas são dadas pela comunidade, conforme disponibilidade e conhecimento de cada um..

Ocasionalmente um consultor pode conseguir um espaço e participar, mas não é cortes citações (ainda mais em maiscula) demandando por um ou outro consultor...

Relativo ao problema, o primeiro passo é sempre reproduzir no demo do componente e caso de fato detecte um problema relatar  e aguardar que haja disponibilidade no retorno...lembrando que para ter um atendimento dos Consultores ACBr, basta considerar a adesão plano PRO.

At.

 

  • Curtir 1
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

Boa tarde,

À Juliana Tamizou e ao  Juliomar Marchetti.

Primeiramente e acima de tudo desculpas pela forma que me referi ao Consultor, ao qual peço desculpas. 

Infelizmente ao ocorrer fato como o citado acima, outro que poderia me conduzir a uma solução do problema, acaba por não participar e fica sem uma solução. 

Esclareço ainda que busco a ajuda pelos consultores, mas que a empresa tem adesão ao plano citado.

Mais uma vez peço desculpas.

Link para o comentário
Compartilhar em outros sites

Boa tarde Ítalo,

Referente a sua sugestão, teria que colocar dois componentes ACBrNFSeX, ACBrMail e teria que passar as configurações de um para o outro tipo:

   ACBrNFSeXPdf.Configuracoes := ACBrNFSeX.Configuracoes;

antes de limpar e carregar para gerar o pdf, pois visto que estou enviando em lote várias notas de vários clientes e não posso limpar o componente do: 

  "for i := 0 to ACBrNFSeX.NotasFiscais.Count -1 do"  para gerar o pdf de nota única para o envio do e-mail:

ACBrNFSeX.NotasFiscais.Items[i].EnviarEmail(ACBrNFSeX.NotasFiscais[i].NFSe.Tomador.Contato.Email, 'Nota Fiscal Eletronica de Serviço',  mensagem, True,  nil,  nil );

Dessa forma de envio não pode ser usada então.

Ahhh, notei que somente: ACBrNFSeXPdf.Configuracoes := ACBrNFSeX.Configuracoes; não é suficiente e tenho que preparar todas as configurações também para o componente espelhado somente para carregar a NFSe gerada e gerar o pdf exclusivo da nota para o envio do e-mail.

 

 

Link para o comentário
Compartilhar em outros sites

  • Administradores

Boa tarde,

1 hora atrás, Anadilson disse:

Esclareço ainda que busco a ajuda pelos consultores, mas que a empresa tem adesão ao plano citado

Neste caso como vcs são assinantes do plano PRO, recomendo fortemente postar usando o usuário que tem os acessos dentro da area exclusiva, assim os consultores conseguem identificar rapidamente que  há uma demanda PRO.

https://www.projetoacbr.com.br/forum/forum/38-acbr-pro/

Caso tenha dúvidas em como fazer o uso correto das área exclusivas, nosso consultora poderá lhe ajudar.

At.

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

  • Consultores

Boa tarde Anadilson,

Não entendi direito essa questão de configuração, você querer passar a configuração de um componente para outro?

Procure sempre se basear no programa exemplo.

No programa exemplo do componente ACBrNFSeX temos:

ACBrNFSeX1 - Responsável por gerar o XML, assinar, validar enviar, consultar, enfim é o responsável por estabelecer uma conexão com o webservice do provedor.

ACBrNFSeXDANFSeRL1 - Responsável por gerar o DANFSE na tela ou em PDF e lhe permite enviar para a impressora, ou seja, imprimir o DANFSE no papel.

ACBrMail1 - Responsável por enviar e-mail.

O componente ACBrNFSeX1 possui propriedades de configuração onde você "linka" ele com os outros dois.

No programa exemplo temos a procedure ConfigurarComponente que mostra como configurar os 3 componentes citados acima.

A Equipe ACBr recomenda fortemente que sempre inicie os testes com o programa exemplo e que o desenvolvedor o utilize como material de estudo.

O programa exemplo possui um botão [Enviar e-mail].

Esse botão pede para que você selecione um XML de NFS-e que esteja salvo em disco, carrega ele e o envia por e-mail.

Mas ele pode ser facilmente alterado para que se peça dois ou mais XML de NFS-e, carregue esses XMLs e os envie um a um por e-mail.

Em vez de você fazer um teste com a sua aplicação e um lote com uma dezena de notas, faça um teste com o programa exemplo carregando o XML de apenas 3 notas.

Caso algo der errado, fica mais fácil debugar para saber onde está o erro no componente.

Espero ter ajudado.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...