Ir para conteúdo
  • Cadastre-se

dev botao

alteracao no Responsável/Retentor na cidade Belford Roxo


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

Recommended Posts

  • Membros Pro
Postado

Estava com problemas para emitir uma nota em Belford Roxo e tive que fazer algumas alteracoes no fonte do componente para poder transmitir.

unit ACBrNFSeXGravarXml_ABRASFv2;

erro 1
function TNFSeW_ABRASFv2.GerarServico: TACBrXmlNode;

Obs.:   Msg de erro ao transmitir   
"Código  : ID Rps:rps2116UNICA1
Mensagem: E282 - Responsável/Retentor informado indevido.
Correção: O campo Responsável/Retentor somente deverá ser preenchido 
quando o ISSQN for retido na fonte."  

Solução: comentar 
Result.AppendChild(AddNode(tcStr, '#21', 'ResponsavelRetencao', 1, 1, NrOcorrRespRetencao,
  FpAOwner.ResponsavelRetencaoToStr(NFSe.Servico.ResponsavelRetencao), DSC_INDRESPRET));

erro 2
function TNFSeW_ABRASFv2.GerarValores: TACBrXmlNode;
var
  Aliquota: Double;
  
  Quando a tag for Aliquota ao chamar 
  function TACBrXmlWriter.AddNode(const Tipo: TACBrTipoCampo; ID, TAG: string;
  
  Precisa de tratamento pois so transmitir para Prefeitura de Belford Roxo
  se a aliquota for 5.0000 mostra erro só permiti se for 5
  
Solução: fixar o valor sem decimais para Prefeitura de Belford Roxo

No schemas  ModernizacaoPublica 2.02 nfse_v202.xsd
<xsd:simpleType name="tsAliquota">
        <xsd:restriction base="xsd:decimal">
            <xsd:totalDigits value="6" />
            <xsd:fractionDigits value="4" />
            <xsd:minInclusive value="0" />
        </xsd:restriction>
    </xsd:simpleType>

Rene Melo

  • Administradores
Postado

Boa tarde,

Obrigada pelo interesse em contribuir, mas por favor anexe o .pas alterado.

At.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

  • Membros Pro
Postado

boa tarde.

eu nao mandei a alteracao porque no erro 1, eu comentei um trecho do codigo, acredito que esse nao seja o melhor jeito de resolver.

sobre o erro 2, eu alterei a formatacao da aliquota, mas de novo, eu alterei na mao, acredit oque de novo, nao seja o melhor jeito de fazer.

a minha duvida é : como é o jeito correto de tratar essas duas situações?

 

obrigado, 

 

  • Curtir 1

Rene Melo

  • Consultores
  • Solution
Postado

Boa tarde!

Citar

erro 1
function TNFSeW_ABRASFv2.GerarServico: TACBrXmlNode;

Obs.:   Msg de erro ao transmitir   
"Código  : ID Rps:rps2116UNICA1
Mensagem: E282 - Responsável/Retentor informado indevido.
Correção: O campo Responsável/Retentor somente deverá ser preenchido 
quando o ISSQN for retido na fonte."  

Solução: comentar 
Result.AppendChild(AddNode(tcStr, '#21', 'ResponsavelRetencao', 1, 1, NrOcorrRespRetencao,
  FpAOwner.ResponsavelRetencaoToStr(NFSe.Servico.ResponsavelRetencao), DSC_INDRESPRET));

Se conferirmos em ACBrNFSeXGravarXml_ABRASFv2.pas que é a unit da classe base do gerador de XML para este provedor, podemos ver que o valor de NrOcorrRespRetencao está zerado.

Isso quer dizer que se você não alimentar a propriedade NFSe.Servico.ResponsavelRetencao ele não vai gerar a Tag para você. Faça um teste informando rtNenhum para essa propriedade.

 

Citar

erro 2
function TNFSeW_ABRASFv2.GerarValores: TACBrXmlNode;
var
  Aliquota: Double;
  
  Quando a tag for Aliquota ao chamar 
  function TACBrXmlWriter.AddNode(const Tipo: TACBrTipoCampo; ID, TAG: string;
  
  Precisa de tratamento pois so transmitir para Prefeitura de Belford Roxo
  se a aliquota for 5.0000 mostra erro só permiti se for 5
  
Solução: fixar o valor sem decimais para Prefeitura de Belford Roxo

Dentro da procedure Configuracao da Unit ModernizacaoPublica.GravarXml.pas, defina uma valor para FormatoAliq.

Atualmente deve estar pegando tcDe4 como padrão e deixando com 4 casas decimais.

procedure TNFSeW_ModernizacaoPublica202.Configuracao;
begin
  inherited Configuracao;

  // a linha abaixo foi comentada para atender a cidade de Belford Roxo/RJ
  // se outra cidade atendida pelo mesmo provedor exigir a presença da tag
  // vai ser necessário mudar a forma de configurar.

//  NrOcorrAliquota := 1;
 
  FormatoAliq := tcDec2; //Neste EXEMPLO, vai deixar a alíquota com 2 casas decimais. 

  GerarIDRps := True;
end;

Depois de alterar, reinstale o ACBr e faça um novo teste.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

×
×
  • 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.