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á 1790 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á 1790 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...