Ir para conteúdo
  • Cadastre-se

...

Membros
  • Total de ítens

    860
  • Registro em

  • Última visita

  • Days Won

    3

Tudo que ... postou

  1. Desculpe insistir, mas gostaria mesmo de entender porque deve-se passar cOrgao = 91, devo fazer isso SEMPRE ou só em alguns casos?
  2. mas se vc tem já o SCAN funcionando, é só mudar onde vc esta settando SCAN, passa a ser SVC
  3. Entao cria ai um novo topico, ué
  4. Antes de emitir a nota (quando existia o SCAN) vc nao setava para contingencia em SCAN?? Agora a unica coisa que mudou é que vc vai setar para a contingencia em SVC, e não precisa mudar a série da NFe. Depois de um certo tempo o SVC vai se encarregar de enviar a NFe para a respectiva SEFAZ
  5. serie acima de 900 é RESERVADA para o SCAN, vc pode mudar de serie, mas nao pode usar nenhuma serie que ja seja reservada para alguma coisa
  6. eu preenchi assim: 26/09/2014 16:27
  7. up
  8. dEmi= - Alterado para permitir informar data e hora dSaiEnt= - Alterado para permitir informar data e hora http://anfm.blogspot.com.br/2014/09/usando-o-acbrnfemonitor-para-emitir-nfce.html
  9. Mesmo assim não seria uma alteração válida?
  10. Deu certo Juliomar, mas pq q tive q usar o 91 que nao entendi até agora... Abaixo o log 25/09/2014 11:11:29 - NFe.EnviarEvento("[Evento] idLote=402 [Evento001] chNFe=35140905996801000504550050000846661006288110 cOrgao=91 CNPJ=01925926000150 dhEvento=25/09/2014 11:11:29 tpEvento=210200 nSeqEvento=1 versaoEvento=1.00 descEvento=Confirmacao da Operacao ") OK: Arquivo=402-eve.xml idLote=402 tpAmb=1 verAplic=AN_1.0.0 cOrgao=91 cStat=128 xMotivo=Lote de evento processado [EVENTO001] id=ID891140455535121 tpAmb=1 verAplic=AN_1.0.0 cOrgao=91 cStat=135 xMotivo=Evento registrado e vinculado a NF-e chNFe=35140905996801000504550050000846661006288110 tpEvento=210200 xEvento=Confirmacao da Operacao nSeqEvento=1 CNPJDest=01925926000150 emailDest= dhRegEvento=25/09/2014 11:11:27 nProt=891140455535121
  11. Mas acredito que pra quem utiliza alem de ganhar no desempenho, ganharia na simplicidade. E se fosse feito um parametro no INI do monitor, com default para deixar como está agora, mas quem quiser aproveitar das vantagens pode mudar esse parametro? Ontem fiz varias consultas e é um processo demorado por si só, qualquer ganho de desempenho por parte da aplicação já seria uma grande ajuda!
  12. vou fazer sim. Mas na regra geral, como que vou colocar no meu programa? É sempre 91?
  13. Eu tbm notei isso, mas veja que esta foi a resposta da sefaz!
  14. ...

    Corgao Diverge Do Autorizador

    Estou tentando Confirmar uma Nota Consultado e esta dando erro "Codigo do Orgao diverge do orgao autorizador" Mas o Emitente e o Destinatario são de SP, o valor de cOrgao nao tem que ser 35? Abaixo o log 24/09/2014 16:51:52 - NFe.EnviarEvento("[Evento] idLote=402 [Evento001] chNFe=35140905996801000504550050000846661006288110 cOrgao=35 CNPJ=01925926000150 dhEvento=24/09/2014 16:51:49 tpEvento=210200 nSeqEvento=1 versaoEvento=1.00 descEvento=Confirmacao da Operacao ") OK: Arquivo=402-eve.xml idLote=402 tpAmb=1 verAplic=AN_1.0.0 cOrgao=91 cStat=128 xMotivo=Lote de evento processado [EVENTO001] id= tpAmb=1 verAplic=AN_1.0.0 cOrgao=91 cStat=657 xMotivo=Rejeicao: Codigo do Orgao diverge do orgao autorizador chNFe=35140905996801000504550050000846661006288110 tpEvento=210200 xEvento=Confirmacao da Operacao nSeqEvento=1 CNPJDest= emailDest= dhRegEvento=24/09/2014 16:51:53 nProt=
  15. ...

    Enviar Evento Nfemonitor

    Uma duvida sobre o que eu ponho no campo versaoEvento= dependendo do evento vai ser uma versao, é isso? Como sei qual a versao da Confirmacao da Operacao ou Desconhecimento da Operacao por exemplo?
  16. pronto, agora parei de editar o codigo
  17. Gostaria de saber a opinião e possibilidade de mudar a resposta para o seguinte: Desse jeito quem lê a resposta sabe quantos documentos terão de ser lidos, e consegue percorrer 1 loop somente na hora de ler a resposta. Esse codigo tambem otimiza o Monitor pois ao invés de percorrer o mesmo loop 3 vezes, percorre 1 só, e economiza variaveis else if Cmd.Metodo = 'consultanfedest' then begin if not ValidarCNPJ(Cmd.Params(0)) then raise Exception.Create('CNPJ '+Cmd.Params(0)+' inválido.'); try ACBrNFe1.ConsultaNFeDest(Cmd.Params(0), StrToIndicadorNFe(ok,Cmd.Params(1)), StrToIndicadorEmissor(ok,Cmd.Params(2)), Cmd.Params(3)); Cmd.Resposta := Cmd.Resposta+sLineBreak+ 'versao=' +ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.versao+sLineBreak+ 'tpAmb=' +TpAmbToStr(ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.tpAmb)+sLineBreak+ 'verAplic=' +ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.verAplic+sLineBreak+ 'cStat=' +IntToStr(ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.cStat)+sLineBreak+ 'xMotivo=' +ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.xMotivo+sLineBreak+ 'dhResp=' +DateTimeToStr(ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.dhResp)+sLineBreak+ 'indCont=' +IndicadorContinuacaoToStr(ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.indCont)+sLineBreak+ 'ultNSU=' +ACBrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ultNSU+sLineBreak; 'totalDoc=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Count; for I:= 0 to AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Count -1 do begin if Trim(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.chNFe) <> '' then begin Cmd.Resposta := Cmd.Resposta+sLineBreak+ '[RESDOC'+Trim(IntToStrZero((I+1),3))+']'+sLineBreak+ 'NSU=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.NSU+sLineBreak+ 'chNFe=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.chNFe+sLineBreak+ 'CNPJ=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.CNPJCPF+sLineBreak+ 'xNome=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.xNome+sLineBreak+ 'IE=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.IE+sLineBreak+ 'dEmi=' +DateTimeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.dEmi)+sLineBreak+ 'tpNF=' +tpNFToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.tpNF)+sLineBreak+ 'vNF=' +FloatToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.vNF)+sLineBreak+ 'digVal=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.digVal+sLineBreak+ 'dhRecbto='+DateTimeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.dhRecbto)+sLineBreak+ 'cSitNFe=' +SituacaoNFeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.cSitNFe)+sLineBreak+ 'cSitConf='+SituacaoManifDestToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resNFe.cSitConf)+sLineBreak; 'TipoDoc=' +'RESNFE' +sLineBreak; end; if Trim(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.chNFe) <> '' then begin Cmd.Resposta := Cmd.Resposta+sLineBreak+ '[RESDOC'+Trim(IntToStrZero((I+1),3))+']'+sLineBreak+ 'NSU=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.NSU+sLineBreak+ 'chNFe=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.chNFe+sLineBreak+ 'CNPJ=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.CNPJCPF+sLineBreak+ 'xNome=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.xNome+sLineBreak+ 'IE=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.IE+sLineBreak+ 'dEmi=' +DateTimeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.dEmi)+sLineBreak+ 'tpNF=' +tpNFToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.tpNF)+sLineBreak+ 'vNF=' +FloatToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.vNF)+sLineBreak+ 'digVal=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.digVal+sLineBreak+ 'dhRecbto='+DateTimeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.dhRecbto)+sLineBreak+ 'cSitNFe=' +SituacaoNFeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.cSitNFe)+sLineBreak+ 'cSitConf='+SituacaoManifDestToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCanc.cSitConf)+sLineBreak; 'TipoDoc=' +'RESCANC' +sLineBreak; end; if Trim(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.chNFe) <> '' then begin Cmd.Resposta := Cmd.Resposta+sLineBreak+ '[RESDOC'+Trim(IntToStrZero((I+1),3))+']'+sLineBreak+ 'NSU=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.NSU+sLineBreak+ 'chNFe=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.chNFe+sLineBreak+ 'dhEvento=' +DateTimeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.dhEvento)+sLineBreak+ 'tpEvento=' +TpEventoToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.tpEvento)+sLineBreak+ 'nSeqEvento='+IntToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.nSeqEvento)+sLineBreak+ 'descEvento='+AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.descEvento+sLineBreak+ 'xCorrecao=' +AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.xCorrecao+sLineBreak+ 'tpNF=' +tpNFToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.tpNF)+sLineBreak+ 'dhRecbto=' +DateTimeToStr(AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Items[i].resCCe.dhRecbto)+sLineBreak; 'TipoDoc=' +'RESCCE' +sLineBreak; end; end; except raise Exception.Create(AcbrNFe1.WebServices.ConsNFeDest.Msg); end; end
  18. Acabei abrindo os fontes hj para ver como é a resposta vi que tem um laço de repetição até AcbrNFe1.WebServices.ConsNFeDest.retConsNFeDest.ret.Count Não seria interessante colocar no topo do arquivo de resposta (junto com indCont, ultNSU, etc) a quantidade total de documentos retornados, que no caso é justamente esse count?? Assim quem está lendo o arquivo INI sabe até onde ler a resposta Edição: Acabei de olhar que na verdade o Monitor percorre o mesmo laço 3 vezes! Tem alguma razão importante para acontecer isso? Que eu tenha notado é para o fato de colocar-se contadores diferentes para NFE, CANC e CCE. Ou seja, se o retorno contiver 1 documento de cada tipo ficaria: [RESNFE001], [RESCANC001] e [RESCCE001], ao inves de [RESNFE001], [RESCANC002] e [RESCCE003] é isso mesmo? se for isso somente isso, não é melhor criar 3 variaveis de contador ao inves de percorrer o mesmo laço 3 vezes?
  19. Entendi. Vc teria um exemplo de resposta em lista para disponibilizar? Para eu saber como ler a resposta nesse caso?
  20. Estou com uma duvida na resposta recebida do monitor. Ele vai me responder sempre 1 NFe apenas (a primeira encontrada nos criterios dos parametros usados), ou ele vai me listar X NFes, uma embaixo da outra no arquivo de resposta?
  21. Ao invez de copiar para uma pasta temporaria, vc nao pode compactar num path os arquivos originais?
  22. ok, sem problemas fico no aguardo
  23. Abre la a nota tecnica e veja qual das 3 opcoes que vc vê no componente se aplica nessa sua situacao
  24. Ué... Tem como vc comittar entao essas alterações e ai eu baixo os fontes tudo de novo?
×
×
  • 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.