Jump to content

dev botao

Provedor SilTecnologia NrOcorrOutrasInformacoes = -1


Go to solution Solved by Italo Giurizzato Junior,

Recommended Posts

  • Consultores

Boa tarde @Paulo Sergio de Almeida,

O provedor SilTecnologia possui 2 webservices, um que trabalha na versão 1 do layout da ABRASF e o outro que trabalha na versão 2.03

O componente atende os 2 webservices, logo eu preciso saber em qual dos dois devemos fazer essa alteração.

Outra coisa, analisando os schemas utilizados para validar os XMLs antes do seu envio para o webservice tanto da versão 1 quanto da versão 2.03, existe sim a tag OutrasInformacoes mas esta esta presente na estrutura da NFS-e e não do RPS.

Se mudarmos o valor do parâmetro: NrOcorrOutrasInformacoes para zero, caso venha ser informado uma string ao campo OutrasInformacoes vai ocorrer erro validação.

Para fazer essa alteração:

Primeiro, precisamos saber qual das duas versões.

Segundo, o provedor possui um novo schema que contempla essa tag na estrutura do RPS?

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

Link to comment
Share on other sites

  • Consultores
  • Solution

Bom dia @Paulo Sergio de Almeida,

Sim, a tag OutrasInformacoes consta no schema da versão 1 e na versão 2.03, mas ela esta na estrutura da NFS-e e não do RPS.

O componente gera e envia o RPS.

A NFS-e é gerada e retornada pelo webservice do provedor.

Versão 1.00 - fragmento da estrutura da NFS-e:

  <xsd:complexType name="tcInfNfse">
    <xsd:sequence>
      <xsd:element name="Numero" type="tsNumeroNfse" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="CodigoVerificacao" type="tsCodigoVerificacao" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="DataEmissao" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="IdentificacaoRps" minOccurs="0" type="tcIdentificacaoRps" maxOccurs="1"/>
      <xsd:element name="DataEmissaoRps" type="xsd:date" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="NaturezaOperacao" type="tsNaturezaOperacao" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="RegimeEspecialTributacao" type="tsRegimeEspecialTributacao" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="OptanteSimplesNacional" type="tsSimNao" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="IncentivadorCultural" type="tsSimNao" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Competencia" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="NfseSubstituida" type="tsNumeroNfse" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="OutrasInformacoes" type="tsOutrasInformacoes" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="Servico" type="tcDadosServico" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="ValorCredito" type="tsValor" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="PrestadorServico" type="tcDadosPrestador" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="TomadorServico" type="tcDadosTomador" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="IntermediarioServico" type="tcIdentificacaoIntermediarioServico" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="OrgaoGerador" type="tcIdentificacaoOrgaoGerador" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="ConstrucaoCivil" type="tcDadosConstrucaoCivil" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="Id" type="tsIdTag"/>
  </xsd:complexType>
  <xsd:complexType name="tcNfse">
    <xsd:sequence>
      <xsd:element name="InfNfse" type="tcInfNfse" minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="2"/>
    </xsd:sequence>
  </xsd:complexType>

Temos o tipo complexo: tcNfse que defini a estrutura do XML da NFS-e, essa estrutura é composta pela tag InfNfse cujo tipo complexo é tcInfNfse e pela assinatura que é opcional.

Temos acima também o tipo complexo: tcInfNfse, note que nessa estrutura consta a tag OutrasInformacoes.

Versão 1.00 - fragmento da estrutura do RPS.

  <xsd:complexType name="tcInfRps">
    <xsd:sequence>
      <xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="DataEmissao" type="xsd:dateTime" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="NaturezaOperacao" type="tsNaturezaOperacao" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="RegimeEspecialTributacao" type="tsRegimeEspecialTributacao" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="OptanteSimplesNacional" type="tsSimNao" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="IncentivadorCultural" type="tsSimNao" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Status" type="tsStatusRps" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="RpsSubstituido" type="tcIdentificacaoRps" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="Servico" type="tcDadosServico" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Prestador" type="tcIdentificacaoPrestador" minOccurs="1" maxOccurs="1"/>
      <xsd:element name="Tomador" type="tcDadosTomador" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="IntermediarioServico" type="tcIdentificacaoIntermediarioServico" minOccurs="0" maxOccurs="1"/>
      <xsd:element name="ConstrucaoCivil" type="tcDadosConstrucaoCivil" minOccurs="0" maxOccurs="1"/>
    </xsd:sequence>
    <xsd:attribute name="Id" type="tsIdTag" />
  </xsd:complexType>
  <xsd:complexType name="tcRps">
    <xsd:sequence>
      <xsd:element name="InfRps" type="tcInfRps" minOccurs="1" maxOccurs="1"/>
      <xsd:element ref="dsig:Signature" minOccurs="0" maxOccurs="1" />
    </xsd:sequence>
  </xsd:complexType>

Temos o tipo complexo: tcRps que defini a estrutura do XML do RPS, essa estrutura é composta pela tag InfRps cujo tipo complexo é tcInfRps e pela assinatura que é opcional.

Temos acima também o tipo complexo: tcInfRps, note que nessa estrutura não consta a tag OutrasInformacoes.

Se você abrir esse Schema pelo bloco de notas ou pelo NotePad++ e procurar por OutrasInformacoes só vai encontrar a definição da referida tag e da sua ocorrência na estrutura do XML.

O mais importante é a sua ocorrência que ocorre uma única vez e na estrutura da NFS-e e não do RPS.

Repito o componente gera e envia o XML do RPS para o webservice do provedor, este vai checar os dados caso estejam tudo correto ele gera e retorna o XML da NFS-e.

Te convido a fazer a mesma analise com o schema da versão 2.03, garanto que vai detectar a mesma coisa, ou seja, existe sim a definição da tag OutrasInformacoes mas ela só ocorre na estrutura da NFS-e.

Você também pode fazer a alteração na unit SilTecnologia.GravarXml visando gerar a tag OutrasInformacoes, caso o campo seja preenchido vai ocorrer um erro de validação e o XML não vai ser enviado.

Você também pode fazer com que o componente não valide o XML gerado antes do seu envio.

Com isso você vai saber se realmente o provedor aceita ou não essa tag na estrutura do RPS.

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

Link to comment
Share on other sites

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.