Ir para conteúdo
  • Cadastre-se

dev botao

Imprimir apenas NFe autorizadas


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 2048 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Após o envio de um lote com várias NFes, como faço para imprimir apenas as autorizadas?

Se eu enviar assim:

ACBrNFe.Enviar(90987,True);

imprime apenas as autorizadas, mas o problema é que não fica tudo em um preview, é preciso clicar no botão imprimir várias vezes.

Eu tentei chamar o método 

ACBrNFe.NotasFiscais.Imprimir;

após o método

ACBrNFe.Enviar(9090,False)

mas aí imprime até as NFes que foram rejeitadas.

  • Consultores
Postado

Boa tarde Rafael,

Há necessidade do usuário visualizar o DANFE na tela antes dele ser impresso?

Se não há necessidade basta atribuir o valor False a propriedade de configuração MostraPreview e execute o método Enviar com o segundo parâmetro valendo True.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Boa tarde, Italo!

Sim, é necessário. O método NotasFiscais.Imprimir exibe apenas em um Preview, mas como disse, ele imprime tudo.

Tem como fazer esse método imprimir apenas as Autorizadas? Se não tiver, acho que vou usar o Clear, e depois trazer os xml do banco e carregar apenas os autorizados.

  • Consultores
  • Solution
Postado

Bom dia Rafael,

Se você deseja imprimir somente as autorizadas tem dois caminhos: executar o método Enviar(nLote, True) ou após o envio você limpa a lista de notas e carrega os XML das notas que foram autorizadas e execute o método Imprimir.

Acredito que a solução mais simples é executar o método Enviar conforme mostrado acima.

Com relação ao Preview que é gerado um para cada nota quando se utiliza o Enviar a resposta esta na própria rotina do Enviar, veja abaixo:

  NotasFiscais.Assinar;
  NotasFiscais.Validar;

  Result := WebServices.Envia(ALote, Sincrono, Zipado);

  if DANFE <> nil then
  begin
    for i := 0 to NotasFiscais.Count - 1 do
    begin
      if NotasFiscais.Items[i].Confirmada and Imprimir then
        NotasFiscais.Items[i].Imprimir;
    end;
  end;

Note que após obter o retorno do envio a rotina verifica se existe um componente de DANFE linkado ao componente ACBrNFe, caso afirmativo é executado um loop onde o método Imprimir só é executado se a nota esta confirmada (Autorizada) e se o parâmetro Imprimir esta com o valor True.

Isso explica ele gerar um Preview para cada nota.

Agora se você quer somente um Preview para todas as notas que foram enviadas no lote e que foram autorizadas, acredito que a solução seja mesmo, após o envio, limpar a lista de notas do componente, carregar o XML das notas autorizadas e executar o método Imprimir.

 

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 2048 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...