Ir para conteúdo
  • Cadastre-se

dev botao

Inclusão de informações complementares NFSe provedor DataSmart


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 307 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado (editado)

Olá,

Quando fizemos uma nota de prestação de serviços usando o provedor DataSmart tentamos preencher tanto a propriedade OutrasInformacoes quanto a propriedade informacoesComplementares, mas não conseguimos fazer incluir no XML que é enviado para o webservice.

E verificamos que no schema do provedor DataSmart possui o elemento "tsOutrasInformacoes", sera que falta algo nas nossas configurações aqui do componente ou é necessário fazer alguma alteração no componente para que gere esse elemento no XML que é enviado ao provedor?

Em anexo um print do schema onde tem o elemento tsOutrasInformacoes que está no grupo "TcInfNfse"

Print.png

Editado por Mateus Brunelli
  • Consultores
Postado

Boa tarde @Mateus Brunelli,

Note que o elemento OutrasInformacoes  faz parte do tipo complexo: tcInfNfse e não do tcInfRps.

Isso significa que essa tag é gerada pelo webservice com as informações que a prefeitura deseja que conste nessa tag ao gerar o XML da NFS-e.

Lembre-se que o componente gera e envia o XML do RPS para o webservice do provedor, este por sua vez gera e disponibiliza o XML da NFS-e se o XML do RPS for processado com sucesso.

Todos os provedores que seguem o manual da a ABRASF a risca não contem essa tag no XML do RPS, uma vez que ela faz parte do XML da NFS-e.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado

Olá @Italo Giurizzato Junior, desde já obrigado pelo retorno. Deixa entender melhor, nós aqui trabalhamos com dois provedores basicamente, o DataSmart e o Tecnos, e para o Tecnos estamos inserindo na propriedade OutrasInformacoes o texto que desejamos e está sendo enviado para o webservice e volta no retorno a informação correta. Mas para o DataSmart não está funcionando, o que falta seria então o provedor implementar algo para que venha no XML de retorno essa informação das inf. complementares? Pois se assim for terei que entrar em contato com o provedor para providenciar isso.

  • Consultores
  • Solution
Postado

Bom dia Mateus,

Vamos ao Schema (EnviarLoteRpsSicronoEnvio.xsd) do provedor Tecnos:

image.png

Observe que dentro do elemento Rps temos o elemento tcDeclaracaoPrestacaoServico que dentro deste temos o elemento InfDeclaracaoPrestacaoServico e que dentro deste temos o elemento OutrasInformacoes.

Resumindo, ao enviar um Rps para o webservice do provedor Tecnos podemos informar o elemento (tag) OutrasInformacoes.

O XML da NFS-e é retornado ao consultar o lote ou consultar a NFS-e por faixa, sendo assim você também vai encontrar o elemento (tag) OutrasInformacoes definida dentro do elemento InfNfse nos schemas: ConsultarLoteRpsReposta.xsd e ConsultarNfseFaixaResposta.xsd

Agora vamos ao Schema (nfse.xsd) do provedor DataSmart:

image.png

Como você pode observar dentro do elemento completo tcInfDeclaracaoPrestacaoServico não contem o elemento OutrasInformacoes como ocorre com o provedor Tecnos, mas o elemento OutrasInformacoes esta presente no tipo complexo tcInfNfse conforme imagem anexada na sua primeira postagem.

Não sei se você notou, o elemento OutrasInformacoes presente no tipo complexo tcInfNfse do schema do provedor DataSmart, ele é opcional, portanto ele pode estar presente ou não no XML da NFS-e gerado pelo webservice do provedor.

Por ser uma tag gerada pelo webservice do provedor, compete a nós ao ler o XML da NFS-e, ler o conteúdo da tag OutrasInformacoes caso ela esteja presente no XML.

Se você abrir a unit DataSmart.LerXml vai notar o seguinte:

  TNFSeR_DataSmart202 = class(TNFSeR_ABRASFv2)
  protected

  public

  end;

Isso significa que esse provedor segue a versão 2 do layout da ABRASF e a classe responsável pela leitura do XML é TNFSeR_ABRASFv2.

Essa classe esta definida na unit ACBrNFSeXLerXml_ABRASFv2.

Se você procurar por OutrasInformacoes na unit mencionada acima, vai notar que a sua leitura é feita pelas procedures LerInfNfse LerInfDeclaracaoPrestacaoServico, isso garante que ao ler o XML da NFS-e a tag vai ser lida e ao ler o XML do RPS ela também vai ser lida caso o provedor alterou o schema para contemplar essa tag também no XML do RPS.

Resumindo: o componente faz a sua parte.

Agora se o provedor não gera a tag no XML da NFS-e, não tem o que fazer do nosso lado.

Você vai ter que entrar em contato com o provedor e questionar sobre a ausência da tag no XML da NFS-e.

  • Curtir 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 307 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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.