Pesquisar na Comunidade
Showing results for tags 'statusservico'.
Encontrado 5 registros
-
Encontrei um problema na função TratarResposta da Classe TNFeStatusServico no arquivo ACBrNFeWebServices.pas. o problema acontece no trecho a seguir: { WebService do RS retorna horário de verão mesmo pros estados que não adotam esse horário, ao utilizar esta hora para basear a emissão da nota acontece o erro. } if (pos('svrs.rs.gov.br', FPURL) > 0) and (MinutesBetween(NFeRetorno.dhRecbto, Now) > 50) and (not IsHorarioDeVerao(CUFtoUF(FcUF), NFeRetorno.dhRecbto)) then FdhRecbto:= IncHour(NFeRetorno.dhRecbto,-1) else FdhRecbto := NFeRetorno.dhRecbto; - Agora que acabou o horario de verão o webservice do RS passa a retornar o horario padrão, porem este teste está decrementando o horario retornado pela sefaz em 1 hora no caso da máquina ainda estar desconfigurada com o horario antigo. Fiz um ajuste nesta rotina criando uma função no pcnAuxiliar.pas que me retorna se o estado onde foi enviado a consulta usa o horario de verão: function UFUsaHorarioVerao(const UF: string): Boolean; const UFHV = '.MT.MS.GO.MG.ES.RJ.SP.PR.SC.RS.DF.'; begin Result := (AnsiPos(UF, UFHV) > 0); end; e adequei a função IsHorarioDeVerao (já Existente) que testa se o horario de verão está ativo para usar a mesma (tambem no pcnAuxiliar.pas), só o trecho alterado: Result := False; if (GetInicioDoHorarioDeVerao(anoInicio) <= dataHora) and (GetFimDoHorarioDeVerao(anoFim) >= dataHora) and (UFUsaHorarioVerao(UF)) then Result := True; a rotina corrigida na ACBrNFeWebServices.pas ficou assim: { WebService do RS retorna horário de verão mesmo pros estados que não adotam esse horário, ao utilizar esta hora para basear a emissão da nota acontece o erro. } if (pos('svrs.rs.gov.br', FPURL) > 0) and (not UFUsaHorarioVerao(CUFtoUF(FcUF))) and (IsHorarioDeVerao('RS', NFeRetorno.dhRecbto)) then FdhRecbto:= IncHour(NFeRetorno.dhRecbto, -1) else FdhRecbto := NFeRetorno.dhRecbto; agora ele só verifica se o estado do WebService não participa do horario do verão e se o horario de verão está ativo no RS antes de fazer o decremento. obrigado!
-
Bom dia a todos, Ao gerar uma nova Nfe não há a necessidade de enviar esse comando AcbrNFE1.WebServices.StatusServico.Executar; O sistema gera a nfe normalmente, Porém, se eu for cancelar uma nfe AcbrNFe1.NotasFiscais.Clear; AcbrNFe1.EventoNFe.Evento.Clear; with AcbrNFe1.EventoNFe.Evento.Add do begin infEvento.chNFe := DMX.IBNotaFiscalCHAVEACESSO.Value; infEvento.CNPJ := DMX.TabEmpresaCNPJ.Value; infEvento.dhEvento := AcbrNFe1.WebServices.StatusServico.dhRecbto; //now + StrToTime('02:00:00'); infEvento.tpEvento := teCancelamento; infEvento.detEvento.xJust := Justificativa; infEvento.detEvento.nProt := DMX.IBNotaFiscalPROTOCOLO.Value; end; AcbrNFe1.EnviarEvento(DMX.IBNotaFiscalLOTENF.Value); Se eu enviar assim, da uma mensagem 215 - Erro no schema xml Fazendo alguns testes e inserindo antes AcbrNFE1.WebServices.StatusServico.Executar; o envio do evento de cancelamento é executado corretamente. É necessário mesmo eu chamar o status de serviço antes de enviar um evento ou estou fazendo algo errado? Grato
-
Boa tarde, O acbr esta utilizando um valor inválido para tratar o horário de verão do SVRS, ou seja, está utilizando o dhRetorno para comparar a diferença de horário, como sempre vem zerado a condição é atendida independente do horário do WS ser o mesmo da UF que requisitou o status, neste caso a BA e RS tem o mesmo fuso horário. Notem que quando não for horário de verão o sistema utiliza essa diferença de horário para decrescer em 1h o dhRecebto, para corrigir utilizei o dhRecebto para fazer a comparação. Em Anexo está a unit alterada. ACBrNFeWebServices.pas
-
UF informada no campo cUF nao e atendida pelo Web Service
um tópico no fórum postou Cadastros Sites Dúvidas não relacionadas ao ACBr
Boa tarde, Estou com problemas para consultar o Status de Serviço para o estado de Santa Catarina. Sempre está retornando o erro 410 - Rejeicao: UF informada no campo cUF nao e atendida pelo Web Service. Estou enviando a requisição para o endereço: https://nfe.sefazrs.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx Segue o XML de envio e de retorno: Envio: <?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Header> <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2"> <cUF>42</cUF> <versaoDados>3.10</versaoDados> </nfeCabecMsg> </soap:Header> <soap:Body> <nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2"> <consStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10"> <tpAmb>1</tpAmb> <cUF>42</cUF> <xServ>STATUS</xServ> </consStatServ> </nfeDadosMsg> </soap:Body> </soap:Envelope> Retorno <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Header> <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2"> <cUF>42</cUF> <versaoDados>3.10</versaoDados> </nfeCabecMsg> </soap:Header> <soap:Body> <nfeStatusServicoNF2Result xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeStatusServico2"> <retConsStatServ xmlns="http://www.portalfiscal.inf.br/nfe" versao="3.10"> <tpAmb>1</tpAmb> <verAplic>RS201601161035</verAplic> <cStat>410</cStat> <xMotivo>Rejeicao: UF informada no campo cUF nao e atendida pelo Web Service</xMotivo> <cUF>42</cUF> <dhRecbto>2016-09-16T13:44:21-03:00</dhRecbto> <tMed>1</tMed> </retConsStatServ> </nfeStatusServicoNF2Result> </soap:Body> </soap:Envelope> Mais alguém está com esse problema? OBS: O Certificado digital que estou usando é de um cliente de SC mesmo. Obrigado- 10 replies
-
- statusservico
- nfe
-
(e 1 mais)
Tags:
-
Consultar nota fiscal e status do serviço gerando access violation.
um tópico no fórum postou DouglasDll ACBrNFe
Consultar nota fiscal e status do serviço gerando access violation. Respectivamente as chamadas ANfe.Consultar; e ANfe.WebServices.StatusServico.Executar; causam o mesmo erro Percebi que ambas utilizam a function TDFeWebService.Executar: Boolean; e dentro dessa é gerado o acess violation ...(quando tenta enviar) Estou conseguindo enviar notas normalmente, porém somente essas duas funcionalidades estão com esse problema após o último update dos fontes. Por gentileza, algum dos colegas tem alguma idéia do que esteja acontecendo? "Access violation at address 00B7F05A in module. Read of address 00000000."