Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao enviar Alíquota RAT (S-1005)


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

Recommended Posts

Postado

Boa tarde pessoal!

Estou com o seguinte problema descrito abaixo e gostaria de saber como vocês estão resolvendo essa questão.

Inicialmente, até que esse "dilema" se resolva, eu adicionei no meu sistema, uma opção para que o usuário possa escolher se quer ou não enviar as informações da alíquota RAT ao eSocial. Esse tópico está totalmente focado na opção de NÃO ENVIAR RAT ao eSocial.

Com isso, eu não estou definido a propriedade "DadosEstab.aliqGilrat.AliqRat", que está vindo com o default "arat0". Como não existe tal alíquota, acredito que deveria ser uma forma do ACBr entender que não deve gerar a tag. Porém, o eSocial me retorna a ocorrência de erro código abaixo:

1504 - A alíquota informada deverá ser diferente da alíquota definida na legislação vigente para o código CNAE preponderante informado (neste caso, deverá haver informações de processo em procAdmJudRat).

No meu caso, a alíquota RAT é 1 e é o mesmo valor definido pelo CNAE do estabelecimento.

Só consegui validar o envio do S-1005 quando realizei duas modificações no fonte "pcesGerador.pas":

procedure TeSocialEvento.GerarAliqGilRat(pEmp: TIdeEmpregador; pTpInscEstab: tpTpInsc; pAliqRat: TAliqGilRat;
  const GroupName: string);
var
  bProcJudRat: Boolean;
  bProcJudFap: Boolean;
begin
  bProcJudRat := False;
  bProcJudFap := False;

  if pAliqRat.procAdmJudRatInst() then
    if pAliqRat.ProcAdmJudRat.nrProc <> EmptyStr then
      bProcJudRat := True;

  if pAliqRat.procAdmJudFapInst() then
    if pAliqRat.ProcAdmJudFap.nrProc <> EmptyStr then
      bProcJudFap := True;

  if not(VersaoDF <= veS01_00_00) and not(bProcJudRat) and not(bProcJudFap) and not(pTpInscEstab = tiCNO) then
    Exit;

  Gerador.wGrupo(GroupName);

  if ( (VersaoDF <= veS01_00_00) or bProcJudRat ) and ( pAliqRat.AliqRat <> arat0 ) then <-- VersaoDF <= veS01_00_00 e ( pAliqRat.AliqRat <> arat0 )
    Gerador.wCampo(tcStr, '', 'aliqRat', 1, 1, 1, eSAliqRatToStr(pAliqRat.AliqRat));

  if (pEmp.TpInsc = tiCNPJ) then
  begin
    if (VersaoDF <= veS01_00_00) or bProcJudFap or (pTpInscEstab = tiCNO) then
      Gerador.wCampo(tcDe4, '', 'fap',          1, 5, 0, pAliqRat.Fap);
    
    if (VersaoDF <= ve02_05_00) then
       Gerador.wCampo(tcDe4, '', 'aliqRatAjust', 1, 5, 0, pAliqRat.AliqRatAjust);
  end;

  if pAliqRat.procAdmJudRatInst() then
    GerarProcessoAdmJudRat(pAliqRat.ProcAdmJudRat);

  if pAliqRat.procAdmJudFapInst() then
    GerarProcessoAdmJudFap(pAliqRat.ProcAdmJudFap);

  Gerador.wGrupo('/' + GroupName);

end;

No trecho em que a alíquota RAT é validada, precisei trocar a versão para a veS01_00_00 e adicionar a validação para só tentar gerar a tag quando a alíquota for <> de arat0:

  if ( (VersaoDF <= veS01_00_00) or bProcJudRat ) and ( pAliqRat.AliqRat <> arat0 ) then
    Gerador.wCampo(tcStr, '', 'aliqRat', 1, 1, 1, eSAliqRatToStr(pAliqRat.AliqRat));

 

Alguém com alguma dica mais elegante para resolver essa questão?

Obrigado!

  • Administradores
Postado

Obrigado por reportar.

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

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

  • Este tópico foi criado há 1157 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.