Ir para conteúdo
  • Cadastre-se

MarcosRWeimer

Membros
  • Total de ítens

    410
  • Registro em

  • Última visita

  • Days Won

    1

Tudo que MarcosRWeimer postou

  1. Boa Tarde Italo! Esta funcionando. Obrigado
  2. Ola! Quando mando salvar o XML de uma NFSe não está respeitando o nome do arquivo passado para a procedure. Unit: ACBrNFSeXNotasFiscais.pas function TNotaFiscal.GravarXML(const NomeArquivo: String; const PathArquivo: String; aTipo: TtpXML): Boolean; begin if EstaVazio(FXmlRps) then GerarXML; if aTipo = txmlNFSe then begin FNomeArq := TACBrNFSeX(FACBrNFSe).GetNumID(NFSe) + '-nfse.xml'; //AQUI Result := TACBrNFSeX(FACBrNFSe).Gravar(FNomeArq, FXmlNfse, PathArquivo); end else begin FNomeArqRps := CalcularNomeArquivoCompleto(NomeArquivo, PathArquivo); Result := TACBrNFSeX(FACBrNFSe).Gravar(FNomeArqRps, FXmlRps); end; end; Vejam que quando está salvando a NFSe não respeita o parâmetro de entrada, somente respeita quando é o RPS. Tem algum motivo especifico para isso?
  3. Atualizei agora, houve uma alteração ontem (dia 29/11) revision 27612 com isso passou a funcionar corretamente. Havia atualizado na semana passada e ao criar esta thread não localizei thread igual. pode fechar. obrigado
  4. Ola! Utilizamos aqui o componente em runtime e fazendo alguns testes acabei encontrando um bug que me obriga a ter o arquivo ACBrNFSeXServicos.ini na pasta da aplicação. Exemplo: procedure TForm1.Button1Click(Sender: TObject); var LACBrNFSeX: TACBrNFSeX; begin LACBrNFSeX := TACBrNFSeX.Create(Self); //No create já chama o LerCidades que usa o caminho padrão do IniServicos try LACBrNFSeX.Configuracoes.Arquivos.IniServicos := ExtractFilePath(Application.ExeName) + 'NFSe\Ini\ACBrNFSeXServicos.ini'; LACBrNFSeX.Configuracoes.Geral.CodigoMunicipio := 4218707; //Tubarao - SC - Aqui não carrega o ini novamente pois a flag fpCidadesJaCarregadas já está True finally LACBrNFSeX.Free; end; end; Assim de nada adianta possuir uma pasta separada para NFSe (ini/schemas...) sendo que igualmente preciso do ACBrNFSeXServicos.ini na pasta da aplicação. Descobri isso por acidente ao iniciar os testes com a cidade de tubarão, adicionei no ini na pasta configurada no IniServicos e não encontrava o provedor.
  5. Apenas reportando para não fechar a thread. esta alteração continua no departamento de testes.
  6. A questão de retornar o resumo não tinha conhecimento, para mim bastava isto aqui: ANota := TACBrNFSeX(FAOwner).NotasFiscais.FindByRps(ANumRps); ANota.NFSe.Numero := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('nrNfse'), tcStr); ANota.NFSe.CodigoVerificacao := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('cdAutenticacao'), tcStr); ANota.NFSe.DataEmissao := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('dtEmissaoNfs'), tcDat);
  7. Meu objetivo com este codigo if i = 1 then begin Response.NumeroNota := ANota.NFSe.Numero; Response.CodVerificacao := ANota.NFSe.CodigoVerificacao; Response.Data := ANota.NFSe.DataEmissao; Response.NumeroRps := ANumRps; end; era manter o mesmo comportamento anterior, se retornar apenas 1 na lista, já retornar os dados como se não fosse o retorno de lista. (não sei se consegui ser claro) Desta maneira conseguia obter o número da nota de maneira simples: LNumeroNota := ACBrNFSeX.WebService.ConsultaLoteRps.NumeroNota; E agora tenho que varrer o resumo. Mas tudo bem, o objetivo era facilitar, estou adequando o código do sistema e passando para o departamento de testes.
  8. encontrou? Se não encontrou reporte que trabalho em uma empresa que emite nf para exterior, sped, estoque com contas e locais diferentes, integração com pix, tef....
  9. anexo sugestão de correção Equiplano.Provider.pas
  10. o código comentado não está carregando os campos cdAutenticacao, nrNfse, dtEmissaoNfs e nrEmissorRps
  11. Voltei, identificado um problema na procedure TACBrNFSeProviderEquiplano.TratarRetornoConsultaLoteRps(Response: TNFSeConsultaLoteRpsResponse); (arquivo Equiplano.Provider.pas) Acaba não carregando os dados pois não encontra o node 'nfse': logo não carrega o número da nota, código de verificação e afins. Arquivo retorno: <?xml version="1.0"?> <es:esConsultarLoteRpsResposta xsi:schemaLocation="http://www.equiplano.com.br/esnfs esConsultarLoteRpsResposta_v01.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:es="http://www.equiplano.com.br/esnfs"> <listaNfse class="list"> <nfse> <nrNfse>22</nrNfse> <cdAutenticacao>EEC56D647FCBAFC2B0710C659EE2734F</cdAutenticacao> <dtEmissaoNfs>2022-11-23T17:19:52</dtEmissaoNfs> <nrRps>24</nrRps> <nrEmissorRps>1</nrEmissorRps> </nfse> </listaNfse> </es:esConsultarLoteRpsResposta> Se olhar no fonte, logo abaixo verá que considerava o "listaNfse":
  12. Sim, setei false em todas. A questão original desta thread está no departamento de testes
  13. qual topico? faltou o link, estou utilizando a busca mas não estou encontrando Achei:
  14. Ola! Atualizei novamente (revision 27522), reinstalei removendo as DLLs e não ocorreu mais o erro. A parte de emissão está com o departamento de suporte, aqui emiti, consultei nfse por rps e cancelei, não tive problemas mas o departamento de testes irá realizar alguns testes mais específicos (retenção, prestador fora do municipio, entre outro detalhes) Até agora o que me retornaram é que está salvando os arquivos: Pelo que sei não deveria salvar já que estou passando: ACBrNFSeX.Configuracoes.Arquivos.Salvar := False; Alguma configuração que foi alterada e não percebi?
  15. Não estou conseguindo compilar. atualizado agora: realizei um find in files na pasta de fontes e não encontrei "AsDateTimeBr"
  16. Bom Dia Italo! Apenas retornando, vou realizar os testes hoje, só terminar uma outra issue
  17. Passando só para acompanhar a (e confirmar a necessidade da) thread, essa semana atualizamos os fontes aqui e tive de fazer essas alterações novamente.
  18. Anexo. A diferença está no consulta lote. 60011-env-lot.xml 60011-rec.xml 55372-con-lot.xml 55372-lista-nfse-con-lot.xml
  19. Boa Tarde! Configuração: Configuracoes.Geral.ConsultaLoteAposEnvio := True; Configuracoes.WebServices.AguardarConsultaRet := 10000; Configuracoes.WebServices.IntervaloTentativas := 5000; - Faço a emissão da nota fiscal e o ACBr acaba interpretando com erro (X203 - Não foi retornado nenhuma NFSe.) - Verifico status retorna como autorizada - O problema está ao Consultar o lote após o envio. - Retorno da prefeitura: <es:esConsultarLoteRpsResposta xmlns:es="http://www.equiplano.com.br/esnfs" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.equiplano.com.br/esnfs esConsultarLoteRpsResposta_v01.xsd"> <listaNfse class="list"> <nfse> <nrNfse>12</nrNfse> <cdAutenticacao>297951B17408408CF0A8ZZZZZZZZ</cdAutenticacao> <dtEmissaoNfs>2022-11-10T16:25:32</dtEmissaoNfs> <nrRps>14</nrRps> <nrEmissorRps>1</nrEmissorRps> </nfse> </listaNfse> </es:esConsultarLoteRpsResposta> Fontes\ACBrDFe\ACBrNFSeX\Provedores\Equiplano.Provider.pas, procedure TACBrNFSeProviderEquiplano.TratarRetornoConsultaLoteRps(Response: TNFSeConsultaLoteRpsResponse); ... AuxNode := ANode.Childrens.FindAnyNs('mensagemRetorno'); if AuxNode <> nil then ProcessarMensagemErros(AuxNode, Response); Response.Sucesso := (Response.Erros.Count = 0); // Response.Protocolo := ObterConteudoTag(ANode.Childrens.FindAnyNs('nrProtocolo'), tcStr); AuxNode := ANode.Childrens.FindAnyNs('listaNfse'); if AuxNode <> nil then begin ANodeArray := ANode.Childrens.FindAllAnyNs('nfse'); ---> AQUI if not Assigned(ANodeArray) then begin AErro := Response.Erros.New; AErro.Codigo := Cod203; AErro.Descricao := Desc203; Exit; end; for i := Low(ANodeArray) to High(ANodeArray) do begin ANode := ANodeArray[i]; AuxNode := ANode.Childrens.FindAnyNs('nfse'); AuxNode := AuxNode.Childrens.FindAnyNs('nrRps'); if AuxNode <> nil then begin NumRps := AuxNode.AsString; ANota := TACBrNFSeX(FAOwner).NotasFiscais.FindByRps(NumRps); ANota := CarregarXmlNfse(ANota, ANode.OuterXml); SalvarXmlNfse(ANota); end; end; end; No ponto indicado acima com o "AQUI" não encontra o node nfse (ANode = Document.RootElement) Tentei alterar para AuxNode, que ao meu ver seria o mais correto, porem a parte do FOR tambem não bate os campos. Não sei se todos as prefeituras equiplano o retorno é o mesmo, por isso não prossegui alterando os demais campos. EDIT: Pelo que comparei o retorno da prefeitura confere com o xsd citado alguns posts acima.
  20. Bom dia Italo! Apenas como informação, atualizei, reinstalei e verifiquei nos fontes e no xml gerado, parece estar ok. Entretando aqui temos um setor de testes e passei para eles agora, irão realizar um teste geral para o provedor Equiplano Assim que tiver alguma posição informo aqui. Obrigado
  21. Bom dia! Conseguimos. XSD: https://www.esnfs.com.br:8443/exemplo/xsdExemplos.zip Exemplos: https://www.esnfs.com.br:8443/exemplo/xmlExemplos.zip o referido campo está presente no xsd:
  22. O dia todo equiplano não está atendendo, cai em uma URA que diz que a ligação vai ser gravada e a chamada é encerrada, negócio vai ser tentar segunda feira novamente
  23. Vou verificar, estava focado no problema e não pensei na validação pelo xsd.
  24. Bom dia! Estamos com problemas quanto a cidade onde efetivamente é prestado o serviço, quando prestador e tomador são da mesma cidade e o serviço é prestada em outra. Cenário hipotético: - Prestador de Toledo/PR - Tomador de Toledo/PR - Cidade de prestação Marechal Cândido Rondon/PR (serviço prestado em uma fazenda ou filial por exemplo) Segundo suporte da equiplano tenho de enviar o campo: nrCidadeIbgeServico com o código Ibge da cidade onde efetivamente ocorreu a prestação do serviço. Print fornecido pelo próprio suporte da equiplano destacando o novo campo que tem de ser enviado. Buscando nos fontes não encontrei nenhum outro provedor que utilize tal campo. Sei onde mudar (Equiplano.GravarXML, function GerarXml) só não estou muito certo do campo a ser utilizado, pensei no NFSe.Servico.MunicipioIncidencia porêm meu conhecimento no componente é limitado e não tenho certeza se este seria o campo correto a ser utilizado.
×
×
  • 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.