Ir para conteúdo
  • Cadastre-se

[ACBR-9006] NFS-e Distribuição consulta por cnpj


Ver Solução Respondido por galegoga,

Recommended Posts

Postado

Boa tarde!

Foi adicionado na distribuição NFS-e a possibilidade de consultar NSU por cnpj.

Atualmente, no acbr, está consultando somente pela NSU do cnpj informado implicitamente do certificado.

Porém é preciso adicionar a consulta o cnpj para que possa consultar por outros cnpj do grupo além daquele ao qual o certificado digital foi emitido.

Atualmente a consulta no ACBrNFSeX está somente pelo link https://adn.nfse.gov.br/contribuintes/DFe/{nsu}

Mas é preciso adicionar a opção por cnpj que ficará assim quando informado https://adn.nfse.gov.br/contribuintes/DFe/{nsu}?cnpjConsulta={cnpj}

Gostaria de saber se será implementado no projeto ?

Extraído da documentação: https://adn.producaorestrita.nfse.gov.br/contribuintes/docs/index.html#tag/DistribuicaoContribuinte

  • Solution
Postado

Efetuei as modificações nos arquivos para implementar a funcionalidade.

É necessário comparar.

Meu código não está na última revisão.

Alterações:

ACBrNFex.pas:

  TACBrNFSeX = class(TACBrDFe)
  private  
     procedure ConsultarDFe(const aCNPJ: String; aNSU: Integer); overload;
   end;

procedure TACBrNFSeX.ConsultarDFe(const aCNPJ: String; aNSU: Integer);
begin
  if not Assigned(FProvider) then
    raise EACBrNFSeException.Create(ERR_SEM_PROVEDOR);

  if (Length(aCNPJ) > 0) and (Length(aCNPJ) <> 14) then
    raise EACBrNFSeException.Create('Cnpj inválido');

  FWebService.ConsultarDFe.Clear;
  FWebService.ConsultarDFe.NSU  := aNSU;
  FWebService.ConsultarDFe.Cnpj := aCNPJ;

  FProvider.ConsultarDFe;
end;

 

ACBrNFSeXWebServicesResponse.pas:

  // Adição do campo Cnpj
  TNFSeConsultarDFeResponse = class(TNFSeWebserviceResponse)
  private
    FCnpj: string;
  public
    property Cnpj: String read FCnpj write FCnpj;
  end;

procedure TNFSeConsultarDFeResponse.Clear;
begin
  inherited Clear;
  FCnpj := '';
  NSU := -1;
  ChaveNFSe := '';
end;

 

PadraoNacional.Provider.pas

// adição da condicional Cnpj

procedure TACBrNFSeProviderPadraoNacional.PrepararConsultarDFe(
  Response: TNFSeConsultarDFeResponse);
begin
  if Response.ChaveNFSe <> '' then
    FpPath := '/NFSe/' + Response.ChaveNFSe + '/Eventos'
  else if Response.Cnpj <> '' then
    FpPath := '/DFe/' + IntToStr(Response.NSU)+'?cnpjConsulta='+Response.Cnpj
  else
    FpPath := '/DFe/' + IntToStr(Response.NSU);

  Response.ArquivoEnvio := FpPath;
  FpMethod := 'GET';
end;

 

ACBrNFSeX.pas ACBrNFSeXWebservicesResponse.pas PadraoNacional.Provider.pas

  • Curtir 1
  • Consultores
Postado

Foi criada a tarefa ACBR-9006 para análise do caso e parecer por parte da equipe de consultores.

Qualquer novidade será divulgada aqui no tópico.

Valter Patrick
Gerente de Projetos na empresa CTEC
Consultor ACBr
(33)98400-0936
GitHub: https://github.com/valterpatrick

Ajude o Projeto ACBr crescer - Assine o Clube PRO                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

  • valterpatrick changed the title to [ACBR-9006] NFS-e Distribuição consulta por cnpj
  • 4 semanas depois ...
  • 3 semanas depois ...
  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.