Ir para conteúdo
  • Cadastre-se

marciost

Membros
  • Total de ítens

    129
  • Registro em

  • Última visita

Tudo que marciost postou

  1. Boa tarde pessoal Implementei o envio de NFS-e para o provedor Asten no município de Pelotas/RS. Foram necessários alguns ajustes, seguem os arquivos que tive que alterar para que possam atualizar o componente. Asten.ini Cidades.ini
  2. Ítalo, tem mais um detalhe que precisei ajustar e que tive que esperar os testes me darem o OK: No provedor Pronimv2, somente pode ser informado o código do tomador quando o código IBGE informado for 9999999. Por causa de outros provedores, sempre passamos ao componente NFS-e o código do país, e por causa disso na implementação do ABRASF2 o código do pais acaba sendo incluído o XML, mas o provedor Pronim rejeita porque somente deve ser enviado o código do país quando a cidade informada for 9999999. Eu alterei aqui o componente para tratar isso. pnfsNFSeW_ABRASFv2.pas
  3. Pessoal, peço que seja incluído no provedor Pronimv2 o município de Cachoeira do Sul, seguem os arquivos alterados. Cidades.ini Pronimv2.ini
  4. Italo, pelo que vi já foi implementada a solução para o problema, correto?
  5. Italo, apesar de estar descrito no wsdl, o método não está implementado. Os métodos implementados são esses: https://govdigital.jira.com/wiki/pages/viewpage.action?pageId=12648453 Tanto que FConsLote.Executar não está sendo chamado, pois na configuração (TACBrNFSe(FACBrNFSe).Configuracoes.Geral.ConsultaLoteAposEnvio) está False. Tentei até testar, mudando para True, mas retorna um XML vazio: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <ns2:ConsultarNfseRpsResposta xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:ns2="http://www.abrasf.org.br/nfse.xsd"/> Acho que se a lista de NFS-e já vem no retorno de processamento do lote, poderíamos aproveitar e chamar logo a FEnviarSincrono.ExtrairNotasRetorno.
  6. Italo, esse provedor não tem método de consulta de NFS-e por lote, pois o retorno das NFS-e's vem já no retorno do envio. Então não há como fazer essa consulta... Estou vendo que o método ExtrairNotasRetorno chava o método LerXML de TRetornoNFSe, e ali existe validação para simplesmente não carregar a lista de notas caso o retorno não possuir essas informação. Ou então validar que o provedor seja GovDigital... E mais, talvez essa verificação poderia ser feita em TWebServices.EnviaSincrono; de case TACBrNFSe(FACBrNFSe).Configuracoes.Geral.Provedor of proInfisc, proInfiscv11: Result := True else Result := FConsLote.Executar; end; Para case TACBrNFSe(FACBrNFSe).Configuracoes.Geral.Provedor of proInfisc, proInfiscv11: Result := True proGovDigital: FEnviarSincrono.ExtrairNotasRetorno; else Result := FConsLote.Executar; end;
  7. Pessoal, como alguns devem saber, o município de Pelotas/RS trocou de provedor, era Ginfes e agora é GovDigital. No provedor GovDigital, existe o método de envio síncrono, que já retornar no envio do lote a lista de NFS-e gerada. Internamente no nosso ERP, sempre atualizamos no registro da nota o número da NFS-e fornecido pela prefeitura, então sempre após o envio de um lote processado com sucesso, fazemos uma consulta para buscar as NFS-e's desse lote e atualizar os dados no sistema. No caso do GovDigital, isso não é necessário, pois a lista de NFS-e já estará disponível no XML de retorno do lote. Entretanto, no envio assíncrono, no método TratarResposta o ACBr não carrega a lista de NFS-e oriundas desse retorno. Fiz um teste aqui, e dentro do método TratarRetorno da classe TNFSeEnviarSincrono, bem lá no final, passei a chamar o método ExtrairNotasRetorno. Pelos meus testes ficou OK, mas não sei se concordam que seja a melhor forma de fazer, então deixo aqui minha alteração para que analisem. Outra coisa: no arquivo de cidades, ajustaram parcialmente a cidade de Pelotas/RS, mas no campo NomeURL ficou errado. Está assim: NomeURL_H=div NomeURL_P=div Deve ser assim: NomeURL_H=pelotas NomeURL_P=pelotas ACBrNFSeWebServices.pas Cidades.ini
  8. Pessoal, sem que isso não terá relação direta com os componentes ACBr, mas como internamente utilizam assinatura digital talvez possam ajudar: preciso que algumas operações do nosso sistema sejma liberadas somente mediante autenticação com certificado digital. - o certificado poderá ser um A1 ou A3 - o usuário poderá optar por cadastrar a senha do certificado ou informar a mesma no momento da autenticação - se o usuário informou previamente a senha, o sistema deverá utilizar a senha do mesmo para realização da validação - se o usuário não informou previamente a senha, o sistema deverá abrir a tela que a mesma seja informada Minha dúvida é: existe alguma maneira de validar a senha digitada com a senha informada pelo usuário? Pelo que vi (olhei as rotinas de assinatura da NFS-e), em nenhum momento isso, pelo menos não diretamente. Verifiquei inclusive que em caso de certificado A1, mesmo não informando a senha nas configurações, o sistema nem exibe aquela tela com a senha do PIN. Ficou clara minha dúvida? Preciso que o sistema busque o certificado do usuário logado (isso está OK) e depois de buscar valide se a senha digitada está correta (isso está pendente).
  9. Seguem os arquivos que alterei para montar o link no provedor Infisc. E sobre o ISSNet? ACBrNFSe.pas Infisc.ini Infisc-v11.ini
  10. marciost

    Link para acesso à NFS-e

    Pessoal, gostaria de verificar se podem incluir a seguinte alteração no componente de envio de NFS-e, na parte de consulta do link. Por exemplo, no provedor Infisc é possível obter a URL de consulta apenas concatenando uma URL base com a chave de acesso. Exemplo: - https://nfse.sapucaiadosul.rs.gov.br/portal/consulta.jspx?nf=${ChaveAcesso} -https://sapucaiadosul-homol.infisc.com.br/portal/consulta.jspx?nf=${ChaveAcesso} - https://nfse.caxias.rs.gov.br/portal/consulta.jspx?nf=${ChaveAcesso} - https://nfsehomol.caxias.rs.gov.br/portal/consulta.jspx?nf=${ChaveAcesso} Poderia haver um replace de chave de acesso lá na rotina. ---------------------- Outra coisa, no caso do IssNet é possível obter o link através de uma consulta: Esse é um trecho de código que eu utilizo: var DadosMsg, Envelope : AnsiString; begin DadosMsg := '<ConsultarUrlVisualizacaoNfseEnvio xmlns="http://www.issnetonline.com.br/webserviceabrasf/vsd/servico_consultar_url_visualizacao_nfse_envio.xsd" xmlns:tc="http://www.issnetonline.com.br/webserviceabrasf/vsd/tipos_complexos.xsd">' + '<Prestador>' + '<tc:CpfCnpj>' + '<tc:Cnpj>' + CNPJ + '</tc:Cnpj>' + '</tc:CpfCnpj>' + '<tc:InscricaoMunicipal>' + IM + '</tc:InscricaoMunicipal>' + '</Prestador>' + '<Numero>' + NumeroNFSe + '</Numero>' + '<CodigoTributacaoMunicipio>' + CodigoTributacaoMunicipio + '</CodigoTributacaoMunicipio>' + '</ConsultarUrlVisualizacaoNfseEnvio>'; Envelope := '<?xml version="1.0" encoding="utf-8"?>' + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">' + '<soap:Body>' + '<ConsultarUrlVisualizacaoNfse xmlns="http://www.issnetonline.com.br/webservice/nfd">' + '<xml>' + '&lt;?xml version="1.0" encoding="UTF-8"?&gt;' + StringReplace(StringReplace(DadosMsg, '<', '&lt;', [rfReplaceAll]), '>', '&gt;', [rfReplaceAll]) + '</xml>' + '</ConsultarUrlVisualizacaoNfse>' + '</soap:Body>' + '</soap:Envelope>'; Envelope := ACBrUtil.TiraAcentos(Envelope); Result := Envelope;
  11. Daniel, esse problema ocorre somente nesse cliente e nesse servidor (windows 8). Por isso acho que tem a ver com a instalação do certificado. Mas no programa de administração do token não tem nada (pelo menos não consegui encontrar) sobre isso. Como eu disse, não creio ser problema com os componentes, porque em outros clientes funciona. Queria ver se alguém aqui já passou por algo parecido. Deve ser algo com esse programa de administração do token...
  12. Pessoal, temos um certificado instalado em um servidor onde de 5 em cinco minutos executa uma aplicação que envia as NFS-e. Problema é que no primeiro envio do dia essa aplicação abre uma tela para informar a senha. Já sei que essa tela é o Windows e que não é problema no Acbr, mas quero saber se alguém passou por isso e conseguiu resolver. Os certificados são do tipo A3, tem um software que gerencia esses cartões, acho que tem que ser alguma configuração ali. A senha está sendo passada para as configurações, logo não deveria aparecer aquela tela pedindo a senha... deveria conectar automático e assinar. Sei que alguns vão dizer "deixa pedir a senha que é mais seguro"... mas não posso, tem que ser automático, não podemos deixar ninguém parado lá esperando abrir a janela da senha. Decisão do cliente.
  13. Pessoal, creio que haja um problema na forma como está implementada a rotina de carregamento da lista de notas ao efetuar consulta de lote de RPS. Simulação de um caso que funciona: - cliente envia lista de RPS em um lote. - componente de Nfs-e efetua o envio, verifica que o lote foi processado com sucesso, faz a consulta de notas do lote e gera o arquivo individual de cada nota que é gravado dentro do diretório NFSe. Nessa situação descrita acima, funciona perfeitamente. É o caso onde dentro do próprio envio o componente já consegue executar a consulta de lote de RPS. Simulação de um caso que não funciona: - cliente envia lista de RPS em um lote. - componente de Nfs-e efetua o envio, verifica que o lote ainda não foi processado. - cliente executa a consulta a situação de lote. - componente retorna 'Processado com sucesso'. - cliente executa a consulta de lote RPS. - componente executa a consulta, XML retornado está OK, porém não carrega a lista de notas e não gera o arquivo individual por nota. Esse é o caso de problema, quando o lote não é processado na hora e tenho que fazer uma consulta de lote posteriormente. No final, o que preciso mesmo é dos arquivos XML individual das notas, que nesse caso acabam não sendo gerados aparentemente por um problema no componente. Me corrijam se eu estiver errado. Sei que eu posso ainda busca depois o XML, mas pensam que são vários arquivos em vários clientes. O ideal seria ajustar o componente mesmo. Segue minha análise de onde está o problema - só não tenho sugestão de ajuste, pois não conheço a forma de cada provedor trabalhar - segue: Arquivo: ACBrNFSeWebServices.pas, +- na linha 3660. {Abaixo, rotina tenta localizar na lista de notas, as notas retornadas para então recarregar os dados por completo. Porém, na consulta de lote FNotasFiscais está vazia, o que não ocorre quando a consulta é feita junto com o envio. No envio a lista já vem carregada com as notas que fazem parte do lote de RPS, por isso quando a consulta é feita junto com o envio o problema não ocorre. } while FRetListaNfse <> '' do begin j := Pos('</' + Prefixo3 + DFeUtil.seSenao(FProvedor = proBetha, 'ComplNfse', 'CompNfse') + '>', FRetListaNfse); p := Length(trim(Prefixo3)); if j > 0 then begin for iNFRetorno := 0 to NFSeRetorno.ListaNfse.CompNfse.Count - 1 do begin for iNF := 0 to FNotasFiscais.Count - 1 do begin if FNotasFiscais.Items[iNF].NFSe.IdentificacaoRps.Numero = NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.IdentificacaoRps.Numero then begin FNotasFiscais.Items[iNF].Confirmada := True; FNotasFiscais.Items[iNF].NFSe.CodigoVerificacao := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.CodigoVerificacao; FNotasFiscais.Items[iNF].NFSe.Numero := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.Numero; FNotasFiscais.Items[iNF].NFSe.Competencia := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.Competencia; FNotasFiscais.Items[iNF].NFSe.NfseSubstituida := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.NfseSubstituida; FNotasFiscais.Items[iNF].NFSe.OutrasInformacoes := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.OutrasInformacoes; FNotasFiscais.Items[iNF].NFSe.DataEmissao := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.DataEmissao; FNotasFiscais.Items[iNF].NFSe.Servico.xItemListaServico := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.Servico.xItemListaServico; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.RazaoSocial := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.RazaoSocial; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.NomeFantasia := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.NomeFantasia; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.IdentificacaoPrestador.Cnpj := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.IdentificacaoPrestador.Cnpj; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.IdentificacaoPrestador.InscricaoMunicipal := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.IdentificacaoPrestador.InscricaoMunicipal; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Endereco.Endereco := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Endereco.Endereco; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Endereco.Numero := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Endereco.Numero; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Endereco.Complemento := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Endereco.Complemento; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Endereco.Bairro := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Endereco.Bairro; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Endereco.CodigoMunicipio := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Endereco.CodigoMunicipio; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Endereco.UF := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Endereco.UF; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Endereco.CEP := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Endereco.CEP; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Endereco.xMunicipio := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Endereco.xMunicipio; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Contato.Telefone := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Contato.Telefone; FNotasFiscais.Items[iNF].NFSe.PrestadorServico.Contato.Email := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Contato.Email; FNotasFiscais.Items[iNF].NFSe.Tomador.Endereco.xMunicipio := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.Tomador.Endereco.xMunicipio; if FProvedor = proISSNet then FRetNfse := AnsiString(StringReplace(String(NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.XML), '<br>', '', [rfReplaceAll])) else FRetNfse := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.XML; // FRetNfse := ParseText(NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.XML); k := Pos('<' + Prefixo4 + 'Nfse', FRetNfse); FRetNfse := Copy(FRetNfse, k, length(FRetNfse)); // Recoloca o prefixo4 quando o provedor for ISSNet if FProvedor = proISSNet then begin m := length(FRetNFSe); FRetNfse2 := ''; l := 1; while l <= m do begin if FRetNFSe[l] = '<' then begin if FRetNFSe[l+1] = '?' then FRetNfse2 := FRetNfse2 + FRetNFSe[l] else begin if FRetNFSe[l+1] = '/' then begin FRetNfse2 := FRetNfse2 + '</' + Prefixo4; inc(l); end else FRetNfse2 := FRetNfse2 + '<' + Prefixo4; end; end else FRetNfse2 := FRetNfse2 + FRetNFSe[l]; inc(l); end; FRetNFSe := FRetNfse2; end; if FProvedor = proSisPMJP then Prefixo3 := 'nfse:'; FRetNFSe := FProvedorClass.GeraRetornoNFSe(Prefixo3, FRetNFSe, FNomeCidade); // if FConfiguracoes.Geral.Salvar // then begin if FConfiguracoes.Arquivos.EmissaoPathNFSe then PathSalvar := FConfiguracoes.Arquivos.GetPathNFSe(FNotasFiscais.Items[iNF].NFSe.DataEmissao) else PathSalvar := FConfiguracoes.Arquivos.GetPathNFSe(0); if FConfiguracoes.Arquivos.NomeLongoNFSe then NomeArq := NotaUtil.GerarNomeNFSe(UFparaCodigo(NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.Endereco.UF), NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.DataEmissao, NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.PrestadorServico.IdentificacaoPrestador.Cnpj, StrToIntDef(NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.Numero, 0)) + '-nfse.xml' else NomeArq := NFSeRetorno.ListaNfse.CompNfse.Items[iNFRetorno].Nfse.Numero + '-nfse.xml'; FConfiguracoes.Geral.Save(NomeArq, FRetNfse, PathSalvar); // NotaUtil.RetirarPrefixos(FRetNfse), PathSalvar); if FNotasFiscais.Count>0 then FNotasFiscais.Items[iNF].NomeArq := PathWithDelim(PathSalvar) + NomeArq; // end; FNotasFiscais.Items[iNF].XML_NFSe := FRetNfse; break; end; end; end; FRetListaNfse := Copy(FRetListaNfse, j + 11 + p, length(FRetListaNfse)); // inc(i); end else FRetListaNfse:=''; end;
  14. Esse método... não é possível para mim testar agora, mas teria que tratar a cidade, certo? function TProvedorBHISS.GetSoapAction(Acao: TnfseAcao; NomeCidade: String): String; begin case Acao of acRecepcionar: Result := 'http://ws.bhiss.pbh.gov.br/RecepcionarLoteRps'; acConsSit: Result := 'http://ws.bhiss.pbh.gov.br/ConsultarSituacaoLoteRps'; acConsLote: Result := 'http://ws.bhiss.pbh.gov.br/ConsultarLoteRps'; acConsNFSeRps: Result := 'http://ws.bhiss.pbh.gov.br/ConsultarNfsePorRps'; acConsNFSe: Result := 'http://ws.bhiss.pbh.gov.br/ConsultarNfse'; acCancelar: Result := 'http://ws.bhiss.pbh.gov.br/CancelarNfse'; acGerar: Result := ''; end; end;
  15. marciost

    Nfs-E De Porto Alegre

    Alguém está implementando a NFS-e para Porto Alegre/RS? Acho que o provedor é Procempa.
  16. Boa tarde. Estou fazendo uma consulta por perído, por exemplo 01/07/2013 a 30/07/2013, a consulta em si já esta demorando, mas até ai tranquilo. O problema está no tratamento do XML (metodos ParseText, TiraAcendo...), esses estão muito demorados, ficou umas 4 horas rodando e acabei desistindo. Um coisa que percebi é que o StringReplace demora mesmo quando a String é muito grande. Alguém já passou por isso e conseguir resolver? Provedor IssNer, de Novo Hamburgo/RS. São cerca de 1900 notas.
  17. Boa tarde. Funciona com a tag <br>, mas tem que substituir os caracteres de abertura e fechamento: use &lt;br&gt; ao invés de <>. Inclusive pode montar uma tabela, é bem prático quando quiser deixar sua descrição formatada.
  18. Boa tarde. Alguém ai já teve um erro parecido? Alguns lotes ocorrem esse erro outros não.
  19. Pessoal, tem um erro nas últimas atualizações do componente, o provedor Thema está sempre enviando em homogação. Segue unit ajustada, porém aviso que tem outras alterações minhas. ACBrProvedorThema.pas
  20. marciost

    Erro Ao Consultar Lote

    Boa tarde. O webservice está retornando o seguinte erro no retorno do método ConsultarLoteRpsEnvio: <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>O servidor nao pode processar a solicitacao. ---> Declaracao XML inesperada. A declaracao XML deve ser o primeiro no no documento e nao pode haver espaco em branco antes dela. Linha 1, posicao 15663.</faultstring> <detail /> </soap:Fault> </soap:Body> </soap:Envelope> Por coincidencia, ocorre somente me lotes que tem notas canceladas, não sei se tem algo a ver. Provedor IssNet, município de Novo Hamburgo/RS. Alguém já teve esse erro? Sabe como resolver?
  21. Se for Rps, passa 1 ou usa TipoRPSToStr(trRPS).
  22. Pessoal, usei a primeira opção e ajustes o provedor Thema para tratar quando poderá usar o método síncrono de envio. Estou dispinibilizando aqui para o caso dos moderadores ter interesse em dar uma olhada e passar pro svn se julgarem a alteração importante. Verificar que há alterações quando ao cancelamento de nfs-e também. ACBrProvedorThema.pas
  23. Pois, olhando agora vejo de caro 2 opções: - no método TProvedorThema.GeraEnvelopeRecepcionarLoteRPS tenho os dados do Xml, dali posso pegar a quantidade de Rps e verificar qual método usar. Jogo o nome desse método numa variável privada, e ao chamar TProvedorThema.GetSoapAction se a ação for acRecepcionar chamo o conteúdo dessa variável, que estara alimentada porque a geração do envelope ocorre antes. - criar um tipo de enumerado chamado acRecepcionarSincrono e ajustar todos os provedores, chamando por default o que já é chamado no acRecepcionar, e no provedor Thema, fazer o tratamento. A primeira opção é mais fácil e menos impactante, mas parece meio gambi... a segunda é mais trabalhosa, mas parece um solução mais completa. Alguém tem uma opinião sobre isso?
  24. Pessoal, bom dia. Consegui fazer funcionar usando o método síncrono, eu estava colocando o nome recepcionarLoteRpsLimitado somente no envelope, mas tem que colocar também no soap action. Agora só preciso encontrar uma forma de tratar isso, ou seja, quando tiver até 3 Rps no lote tenho que chamar recepcionarLoteRpsLimitado, senão recepcionarLoteRps. Sugestões são bem vindas.
  25. Bom dia. Alguém já usou o método recepcionarLoteRpsLimitado ao invés de recepcionarLoteRps para enviar os lotes nessa cidade? Estou usando Acbr agora, mas antes eu tinha uma implementação própria, e usava recepcionarLoteRpsLimitado (quando for até 3 Rps por lote), dava certo, mas agora mesmo alterando o método na unit do provedor Thema ele não é processado na hora. Alguém tem algum palpite? Estou em homologação.
×
×
  • 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.