Ir para conteúdo
  • Cadastre-se

ricardo.medeiros

Membros
  • Total de ítens

    5
  • Registro em

  • Última visita

Contact Methods

  • Website URL
    http://www.cbninfo.com.br

ricardo.medeiros's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputação

  1. Então, a demo está apenas um evento por lote, não é? Vou fazer isso então. Apenas um evento por lote.
  2. Olha amigo, esse é o XML de retorno do Web Service. Propriedade RetornoWS da classe TWebServiceBase. (Ignore a identação que eu fiz meio que na mão aqui porque peguei o valor direto do campo no debug do delphi.) ' 41 1.00 182PR-Evt-1_1_541128Lote de Evento Processado 2 PR-Evt-1_1_5 41 135Evento registrado e vinculado a NF-e 41120701934032000127550000000000301000000300 110110 Carta de Correção 6 2012-07-27T14:31:55-03:00 141120000898963 ' Engraçado que só tem mesmo 1 evento, sendo que no XML de envio gerado pelo componentes tinha os dois que eu criei pelo sistema. Caso for problema no webservice mesmo, qual seria uma solução plausível? Criar uma conscistência para o usuário adicionar apenas um evento por lote? Sei que isso não cabe a vocês, mas o que vocês fariam no meu caso. Minha empresa só atende essa fábrica, então só vamos trabalhar com o Web Service do Paraná mesmo.
  3. Obrigado, vou verificar mesmo. Eu cheguei a ver esse post, mas a data parecia ser antiga e a solução parece que foi atualizar os componentes, por isso criei este. Vou debugar aqui, já posto o resultado.
  4. Obrigado, mas em relação a minha dúvida. Alguém pode me ajudar?
  5. Bom dia galera, não sei se postei no lugar correto mas vamos lá. Estou finalizando a implementação da CC-e utilizando o componente do AcBR, o AcBRNFe. Está tudo OK, porém quando envio um lote com mais de um evento, ao pegar o retorno do segundo evento do lote ele dá erro IndexOfBound, que é estouro de lista. Como se não houvesse mais de um evento no retorno do lote. O Web Service é do Paraná e os componentes estão atualizados, hoje mesmo atualizei. Segue o meu código fonte: { Setando e gravando os dados do XML de retorno pelo objeto do AcBR } { Salvando os dados de retorno do lote } Lote.Retorno.Stat := IntToStr( self.AcbrNfe.WebServices.CartaCorrecao.CCeRetorno.cStat ); Lote.Retorno.Motivo := self.AcbrNfe.WebServices.CartaCorrecao.CCeRetorno.xMotivo; Lote.Retorno.Save; for nX := 0 to ( Lote.Eventos.Count - 1 ) do begin { Salvando os dados de retorno dos eventos } Lote.Eventos.Items[nX].CriaRetorno; Lote.Eventos.Items[nX].Retorno.Stat := IntToStr( self.AcbrNfe.WebServices.CartaCorrecao.CCeRetorno.retEvento.Items[nX].RetInfEvento.cStat ); Lote.Eventos.Items[nX].Retorno.Motivo := self.AcbrNfe.WebServices.CartaCorrecao.CCeRetorno.retEvento.Items[nX].RetInfEvento.xMotivo; Lote.Eventos.Items[nX].Retorno.Save; { Salvando o XML no banco de dados } Lote.Eventos.Items[nX].Retorno.CriaXML; if Assigned( Lote.Eventos.Items[nX].Retorno.XML ) then begin XMLStream := nil; try XMLStream := TStringStream.Create( self.AcbrNfe.WebServices.CartaCorrecao.CCeRetorno.retEvento.Items[nX].RetInfEvento.XML ); Lote.Eventos.Items[nX].Retorno.XML.CriaStream; Lote.Eventos.Items[nX].Retorno.XML.XML.LoadFromStream( XMLStream ); Lote.Eventos.Items[nX].Retorno.XML.Save; finally if Assigned( XMLStream ) then begin XMLStream.Free; XMLStream := nil; end; end; end; end; O erro ocorre na linha: Lote.Eventos.Items[nX].Retorno.Stat := IntToStr( self.AcbrNfe.WebServices.CartaCorrecao.CCeRetorno.retEvento.Items[nX].RetInfEvento.cStat ); Como se não houvesse essa posição na lista. O Count() da lista de eventos (retEvento) só retorna 1, como se houvesse apenas 1 evento, quando na verdade há dois. Desde já agradeço pessoal.
×
×
  • 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...