Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

qdo tento enviar notas ja geradas e assinadas anteriomente diz que nao ha lote associada a nota. mas se gero e assino e  logo apos envio da certo. há e parabéns a equipe do acbr. Depois que entendi o funcionamento da cada unit agora é só alegria!

  • Consultores
Postado

Bom dia a todos,

 

André, pelo que entendi, quando deixa para enviar em uma segunda etapa o componente deve estar zerado, na verdade não há nota a ser associada ao lote a ser enviado.

 

E quando é realizado em uma unica etapa a coisa funciona.

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 (editado)

É exatamente o que o italo mencionou. Como resolver o problema?

Editado por EMBarbosa
Uso impróprio de CAPS LOCK. Favor não postar só com maiúsculas.
Postado

se voce gera a assina uma nota, depois outra e outras...Quando clico no comando de enviar somente diz que nao tem lote associado a nota. mas se gero assino e envio num so processo da certo. parece que o componente fica vazio para as notas geradas e assinadas anteriormente. valendo somente para a nota gerada por ultimo.

  • Consultores
Postado

Bom dia a todos,

 

Pelo que estou entendendo você alimenta o componente com os dados de 1 nota, manda assinar e salvar o XML.

 

Zera o componente e alimenta-o com os dados de uma segunda nota, assina e salva.

 

E assim sucessivamente.

 

Ao mandar enviar as notas o componente esta vazio, dai o problema.

 

Me diz uma coisa qual é a finalidade de primeiramente e de forma individual você gerar, assinar e salvar o XML?

E depois mandar enviar os mesmos?

 

Porque você não automatiza esse processo?

 

Por exemplo:

 

Monte um form onde apareça uma lista contendo todas as notas não enviadas, ai você seleciona todas ou somente as que deseja enviar no momento.

 

Ao clicar no botão [Emitir] é executado uma rotina que vai:

 

1. Zerar o componente;

2. ADD as notas no componente, 1 ou mais;

3. Enviar.

 

Lembre-se que o comando Enviar, é capaz de gerar o XML para cada nota ADD no componente, assinar cada uma delas, validar uma por uma, montar o lote contendo todas as notas que foram ADD no componente, enviar o mesmo para SEFAZ, se tudo ocorrer como esperado, ao obter o retorno com os protocolos de autorização, o mesmo se encarrega de incluir o protocolo e salvar o XML completo (assinado e protocolado) em disco.

 

E se o segundo parametro do Enviar for True os DANFEs serão impressos.

 

Você não acha melhor fazer desta forma?

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

Italo, você tirou todas as minhas duvidas ao sugerir os passos acima, o problema é que a rotina como eu tinha desconfiado e feita de uma unica vez, gerar assinar e enviar e se o segundo parametro do enviar for true imprime tmb os danfes. a resposta para sua pergunta é simples: muitas e muitas vezes a sefaz nao esta no ar ou lotado ou ate mesmo nao temos internet no nosso computador, mas queremos adiantar o serviço. fazendo vendas, gerando e assinando notas para depois transmitir. dai você ganha tempo!

  • Consultores
Postado

Bom dia Rainunes,

 

O tempo gasto em gerar, assinar e validar é muito pequeno.

 

Você pode deixar o usuário lançando as vendas e salvando os respectivos dados no Banco de Dados.

 

Depois de todas as vendas lançadas, não importa quantas, se são 10, 20 ou 100, passamos para a segunda etapa.

 

Um Form onde lhe é apresentado a lista com todas as notas ou vendas com queira chamar, que ainda não foram enviadas para sefaz.

 

A minha aplicação permite eu escolher algumas dessa lista ou todas, e ao clicar no botão [Enviar] tenho uma rotina que vai ler do Banco de Dados os dados pertinentes as vendas selecionadas e alimentar o componente, feito isso é executado o Enviar que por sua vez vai gerar o XML, assinar, validar, enviar para sefaz, protocolar e imprimir o DANFE.

 

Só devemos tomar o cuidado de não alimentar o componente com mais de 50 notas, visto que esse é o limite aceito pela sefaz, lote com até 50 notas e 500kbytes de tamanho.

 

Por segurança a minha aplicação só alimenta o componente com no máximo 40 notas.

 

O que você esta fazendo não esta errado, eu também faço dessa forma, mas deixo para gerar o XML, assinar e validar quando for enviar.

 

Se a idéia é validar cada nota lançada para que a mesma seja corrigida na hora, lembre-se que o validador checa apenas a estrutura do XML, se tivermos uma CNPJ ou IE errado o validador não acusa.

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

×
×
  • 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.