Contribuição sindical na RAIS 2013

De Tek-System Wiki
Ir para navegação Ir para pesquisar
  • Executar o script abaixo antes de gerar os dados da rais.
update DP_CNF_EVENTO
  set DP_CNF_EVENTO.RAIS1_CNFEVENTO = 5
where DP_CNF_EVENTO.EVENTO_CNFEVENTO = 1003 and
      DP_CNF_EVENTO.VIGENCIA_CNFEVENTO = '01.01.1900';
------------------------------------------------------------------
update DP_CNF_EVENTO
  set DP_CNF_EVENTO.RAIS1_CNFEVENTO = 7
where DP_CNF_EVENTO.EVENTO_CNFEVENTO = 1001 and
      DP_CNF_EVENTO.VIGENCIA_CNFEVENTO = '01.01.1900';
------------------------------------------------------------------
update DP_CNF_EVENTO
  set DP_CNF_EVENTO.RAIS1_CNFEVENTO = 6
where DP_CNF_EVENTO.EVENTO_CNFEVENTO = 1002 and
      DP_CNF_EVENTO.VIGENCIA_CNFEVENTO = '01.01.1900';

O script irá corrigir a configuração dos eventos 1001, 1002 e 1003.

Cadastro de Eventos


  • Após gerar os dados da rais, executar o script abaixo.

OBS.: Não deve excluir e gerar novamente. Apenas filtrar o que foi incluído na RAIS.

execute block
as
declare variable AUTOINC bigint;
declare variable CNPJ_SINDICATO varchar(18);
declare variable INDICE integer;
declare variable CARACTER char;
begin
 for select DP_DADOS_RAIS.AUTOINC_DDR,
            DP_SINDICATO.CNPJ_SINDICATO
       from DP_DADOS_RAIS
       left join DP_REGISTRO on (DP_REGISTRO.AUTOINC_REGISTRO = DP_DADOS_RAIS.REGISTRO_DDR)
       left join DP_SINDICATO on (DP_SINDICATO.CODIGO_SINDICATO = DP_REGISTRO.SINDICATO_REGISTRO)
      where DP_DADOS_RAIS.ANO_DDR = 2013 and
            (DP_DADOS_RAIS.VALOR_CT_SINDICAL_DDR + DP_DADOS_RAIS.VALOR_CT_ASSISTENCIAL_DDR +  
DP_DADOS_RAIS.VALOR_CT_CONFEDERATIVA_DDR) != 0
       into :AUTOINC, :CNPJ_SINDICATO
 do
 begin
   INDICE = char_length(:CNPJ_SINDICATO);
   while (:INDICE > 0) do
   begin
     CARACTER = cast(substring(:CNPJ_SINDICATO from :INDICE for 1) as char(1));
     if (not(:CARACTER between '0' and '9')) then
       CNPJ_SINDICATO = substring(:CNPJ_SINDICATO from 1 for (:INDICE - 1)) ||  
substring(:CNPJ_SINDICATO from (:INDICE + 1) for (char_length(:CNPJ_SINDICATO) - :INDICE));
     INDICE = :INDICE - 1;
   end
   update DP_DADOS_RAIS
      set SINDICATO_CT_SINDICAL_DDR = :CNPJ_SINDICATO,
          SINDICATO_CT_ASSISTENCIAL_DDR = :CNPJ_SINDICATO,
          SINDICATO_CT_CONFEDERATIVA_DDR = :CNPJ_SINDICATO
    where DP_DADOS_RAIS.AUTOINC_DDR = :AUTOINC;
 end
 update DP_DADOS_RAIS
    set DP_DADOS_RAIS.VALOR_CT_SINDICAL_DDR = (DP_DADOS_RAIS.VALOR_CT_SINDICAL_DDR * -1)
  where DP_DADOS_RAIS.VALOR_CT_SINDICAL_DDR < 0;
 update DP_DADOS_RAIS
    set DP_DADOS_RAIS.VALOR_CT_ASSISTENCIAL_DDR = (DP_DADOS_RAIS.VALOR_CT_ASSISTENCIAL_DDR * -1)
  where DP_DADOS_RAIS.VALOR_CT_ASSISTENCIAL_DDR < 0;
 update DP_DADOS_RAIS
    set DP_DADOS_RAIS.VALOR_CT_CONFEDERATIVA_DDR = (DP_DADOS_RAIS.VALOR_CT_CONFEDERATIVA_DDR * -1)
  where DP_DADOS_RAIS.VALOR_CT_CONFEDERATIVA_DDR < 0;
end

Esse irá preencher o campo cnpj do sindicato que será exportado para a rais.

Exportação para RAIS