Jump to content

chamada diadoacbr

Assista tectoy.png

NFSeX Birigui Provedor Próprio


Go to solution Solved by Italo Giurizzato Junior,
  • Este tópico foi criado há 309 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Bom dia Italo! Estou tentando resolver o problema da consulta, precisei incluir no INI o endereço de consulta de lote,  mas estou com problema da formatação do XML, o que fica sempre diferente é o recibo.ECSAELCO-con-lot-soap.xml
Fiz essa alteração na tentativa de deixar igual:
image.thumb.png.44e034a18715532b0b02f14aa5f2ce55.png

ACBrNFSeXServicos.ini GeradoNFSe-ApenasParaCompararEstruturaConsultaLote.xml

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Membros Pro

Boa tarde, rapaz como é bom conhecer o core do sistema rsrs esse XmlToStr que está fazendo a magica ai, já estou pegando a logica de como montar usando os métodos já existentes, logo consigo arrumar sozinho rsrs. Mas vamos lá, a recepção ocorreu porém precisamos ajustar o ProcessarMensagemErros,:
image.png.557e5c45ca6ae6fd1681f216da23f32c.png

Fiquei na duvida ProcessarMensagemErros(Document.Root, Response, '', 'nfderro')?
 

for I := Low(ANodeArray) to High(ANodeArray) do
  begin
    AErro := Response.Erros.New;
    AErro.Codigo := ProcessarConteudoXml(ANodeArray[I].Childrens.FindAnyNs('codigoerro'), tcStr);
    AErro.Descricao := ProcessarConteudoXml(ANodeArray[I].Childrens.FindAnyNs('numeronfd'), tcStr);
    AErro.Correcao := '';

    if AErro.Descricao = '' then
      AErro.Descricao := ANodeArray[I].AsString;
  end;

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Consultores

Jorge,

Maravilha, fico feliz que esta entendo como é que a coisa funciona.

Esse retorno é referente a consulta?

Se sim, que porcaria, os caras colocaram o numero da nota e o código do erro como atributos da tag <nfderro> em vez de elementos.

Consultor SAC ACBr Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Link to comment
Share on other sites

  • Membros Pro

Sim, como está no em assicrono, tenho que consultar logo após o envio como aquele código de recibo <codrecibo>,  sempre passa pelo método de tratamento de erros e de acordo com o layout é desse jeito que vai vir os erros...,vou colocar uma aliquota de ISS maior só para ver o que vai retornar...

Edited by netstart

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Consultores

Jorge,

Você notou que cada serviço do webservice esta retorno as mensagens de erros de forma distintas, ou seja, não segue um padrão.

Da impressão que cada serviço foi implementado por uma pessoa diferente e não houve uma reunião para estabelecer um padrão.

Acaba sobrando para nós ficar fazendo gambiarras para contornar essas porcarias que eles fazem.

Eu sugiro que você entre em contato com o provedor e questione essa falta de padrão.

Vai que eles resolvem acertar essas kakas.

Consultor SAC ACBr Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Link to comment
Share on other sites

  • Membros Pro

Rapaz, é um carma falar com aquele pessoal, vai demorar um século a resposta no e-mail, que vai ser esta no manual, mas vou enviar o e-mail para a prefeitura que vai encaminhar para eles, enquanto isso vou tentando aqui ajustar aqui, fiz um ajuste no tratamento de erro, mas estou perdendo em como conseguir ler o xml de retorno para carregar no componente, se puder me ajudar vou ajustando aqui:
image.thumb.png.732a0fb8a7db834955256313d1f0296c.png

BBPDXTRL-lista-nfse-con-lot-soap.xml

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Membros Pro

Italo,
Fiz varios ajustes para conseguir ler os retornos, como não sei que horas vou conseguir mexer amanhã novamente, vou deixar as alterações para analise, como estou usando a impressão do link presente no ini, já consigo fazer o processo de envio, consulta e impressão, porém tem um probleminha na hora de carregar o xml retornado, não faz o parse para NotasFiscais.Items, não da erro mas os dados da nota ficam vazios no objeto, ajustando isso acho que vai faltar apenas o cancelamento...

No método  TACBrNFSeProviderSmarAPD.TratarRetornoEmitir
  // Precisa de um tratamento de data para o padrao <datahora>04/08/2021 14:30:56</datahora>
 // DataRecebimento:= ProcessarConteudoXml(AuxNode.Childrens.FindAnyNs('datahora'), tcDatHor);

image.thumb.png.2974d6a9b4e0c195e6e735e7a695bc9e.png

ACBrNFSeXServicos.ini SmarAPD.Provider.pas

Edited by netstart

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Consultores

Bom dia Jorge,

Já inclui na minha lista de tarefas para analisar a sua contribuição.

Muito obrigado, pelos testes e ajustes.

Consultor SAC ACBr Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Link to comment
Share on other sites

  • Consultores

Boa tarde Jorge,

Mas esse XML de retorno só contem uma mensagem de erro se referindo a alíquota que esta errada.

Não entendi o que esse retorno tem haver com o NotasFiscais.Items.

Consultor SAC ACBr Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Link to comment
Share on other sites

  • Membros Pro

Boa tarde! Achei que você está querendo ver o retorno de quando QDQHQTIW-lista-nfse-con-lot-soap.xmlQDQHQTIW-lista-nfse-con-lot.xmltem erro, vou te enviar um retorno de é feita a consulta...

Edited by netstart

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Consultores
  • Solution

Boa tarde Jorge,

Enviado para o SVN uma possível correção, favor atualizar os fontes e faça novos testes.

Consultor SAC ACBr Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Link to comment
Share on other sites

  • 2 weeks later...
  • Membros Pro

Boa tarde @Italo Giurizzato Junior

Tivemos que dar uma parada na homologação desse provedor com o NFSeX, mas agora já finalizamos, tivemos que fazer alguns ajustes, se puder analisar para colocar em produção e encerrarmos esse tópico agradeço, estou anexando as units para analise.

SmarAPD.zip

  • Thanks 1

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Consultores

Boa tarde Jorge,

Não entendi a finalidade da propriedade de configuração que você acrescentou?

E qual é o erro que esta ocorrendo na procedure ProcessarMensagemErros que foi resolvido comentando o bloco de linhas que estão no ELSE?

Notei que você esta com os fontes desatualizados.

Consultor SAC ACBr Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Link to comment
Share on other sites

  • Membros Pro

Bom dia Italo,
Os fontes foram atualizados no mesmo dia que enviei as units para tópico.
Com relação ao bloco comentado é porque não faz sentido aquele código, sempre estava incluído erro mesmo não existindo erros no xml de retorno.
Sobre a propriedade, inserimos porque não encontramos nenhuma propriedade que permitisse remover a mascara de CNPJ ao salvar o arquivo xml da nota, nesse novo componente mudou o padrão que estava no anterior,  fizemos isso para não afetar os demais:
image.png.009edbd400fdecbdc3131f4217b7af54.png

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Consultores

Bom dia,

Quanto a ausência de erro vou verificar.

Como assim ele não remove a mascara do CNPJ/CPF ao montar o nome do XML?

  if Configuracoes.Arquivos.NomeLongoNFSe then
    Result := GerarNomeNFSe(Configuracoes.WebServices.UFCodigo,
                            ANFSe.DataEmissao,
                            OnlyNumber(xCNPJ),                  <=== a função OnlyNumber renove a mascara
                            StrToInt64Def(NumDoc, 0))
  else
    Result := NumDoc + ANFSe.IdentificacaoRps.Serie;

 

Consultor SAC ACBr Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Link to comment
Share on other sites

  • Membros Pro

Italo,
O problema da mascara está no trecho de código abaixo, o property foi apenas porque eu não sabia se poderia tratar diretamente no método sem afetar os demais:

procedure TACBrNFSeXProvider.SalvarXmlNfse(aNota: NotaFiscal);
var
  aPath, NomeArq: string;
  aConfig: TConfiguracoesNFSe;
begin
  aNota.Confirmada := True;
  aNota.NomeArq := '';

  if FAOwner.Configuracoes.Arquivos.Salvar then
  begin
    aConfig := TConfiguracoesNFSe(FAOwner.Configuracoes);
    aPath := aConfig.Arquivos.GetPathNFSe;

    if aConfig.Arquivos.NomeLongoNFSe then
      NomeArq := GerarNomeNFSe(aConfig.WebServices.UFCodigo,
                               aNota.NFSe.DataEmissao,
                               aNota.NFSe.Prestador.IdentificacaoPrestador.Cnpj,
                               StrToInt64Def(aNota.NFSe.Numero, 0),aConfig.Arquivos.ApenasNumerosCNPJ) + '-nfse.xml'
    else
      NomeArq := aNota.NFSe.Numero +
                 aNota.NFSe.IdentificacaoRps.Serie +
                 '-nfse.xml';

    aNota.NomeArq := NomeArq;

    TACBrNFSeX(FAOwner).Gravar(NomeArq, aNota.XML, aPath);
  end;
end;

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Membros Pro

Boa tarde @Italo Giurizzato Junior,

Atualizei novamente o componente e tive que fazer 2 ajustes:

- Passar na configuração para assinar ao cancelar

- Remover o trecho de código do método ProcessarMensagemErros, que já havíamos comentado antes.

SmarAPD.Provider.pas

Jorge – Analise / Desenvolvimento de Sistemas

Netstart Informatica - (18)3642-0900

www.netstart.com.br

Link to comment
Share on other sites

  • Este tópico foi criado há 309 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.