Notícias

Produto: TOTVS Gestão Financeira

Processo de Negócio: Rateios do lançamento

Processo do Sistema: Tratamento do erro: "O registro rateio por centro de custo possui campo PERCENTUAL obrigatório."

Introdução

Este erro ocorre porque nas primeiras versões da BibliotecaRM, o campo PERCENTUAL na tabela de Rateios do Lançamento (FLANRATCCU) estava sendo gravado como nulo. Logo, ao fazer qualquer alteração no registro o erro é exibido.

Desenvolvimento/Procedimento

Tratamento do erro: "O registro rateio por centro de custo possui campo PERCENTUAL obrigatório."

Para correção, sigas as instruções:

*Sugerimos que todo o processo seja realizado em ambiente de testes e validando a solução, replicar ao ambiente de produção. Faça um backup da base de dados e utilize-o.

Primeiro Procedimento

Atualizar a versão da BibliotecaRM e do aplicativo RM Fluxus para a última específica na versão 11.20, fazendo com que a falha não ocorra nos próximos registros a serem gerados.

1. Digite, www.totvs.com/suporte

2. Faça o login, com seu Email e Senha.

3. Clique em Download através da barra do menu do Portal do Cliente.

4 Aplica-se o filtro: [ Linha = RM e Amb/Vers = 11.2x ]

5. Pronto! Na grid de download, listará todos os produtos da respectiva série informada.

Segundo Procedimento

Rodar um script na base de dados para que os lançamentos já gravados sejam corrigidos e o campo PERCENTUAL seja preenchido de forma adequada na tabela de Rateios do Lançamento.

Existem dois scripts disponibilizados pela equipe de Suporte, um para bases Oracle e outro para bases SQL. Solicite o que se adéqua a sua situação e lembre-se de criar um backup antes de executá-lo na base de produção.

 

Exemplo de script (SQL)

DECLARE @DECIMAIS VARCHAR(2), @COLIGADA DCODCOLIGADA
DECLARE @IDLAN INTEGER, @INTEIRO INTEGER, @IDRAT INTEGER
DECLARE @VALOR NUMERIC
DECLARE ACERTO_PERCENTUAIS CURSOR FOR
SELECT CODCOLIGADA, INTEIRO FROM FPARAM WHERE ID = 215
OPEN ACERTO_PERCENTUAIS
FETCH NEXT FROM ACERTO_PERCENTUAIS INTO @COLIGADA, @INTEIRO
WHILE (@@FETCH_STATUS = 0)
BEGIN
DECLARE @COLIGADA1 DCODCOLIGADA, @VAR VARCHAR(1000), @EXEC VARCHAR(1000)  
DECLARE ACERTO_PERCENTUAIS1 CURSOR FOR
SELECT VALOR =
  CASE
    WHEN (TEMP.VALOR > 0) THEN (F.VALOR / TEMP.VALOR) * 100
    ELSE 100
  END, F.CODCOLIGADA, F.IDLAN, F.IDRATCCU
FROM  FLANRATCCU F, (SELECT SUM(VALOR) VALOR, CODCOLIGADA, IDLAN FROM  FLANRATCCU
WHERE PERCENTUAL IS NULL AND CODCOLIGADA = @COLIGADA
GROUP BY CODCOLIGADA, IDLAN) TEMP
WHERE TEMP.CODCOLIGADA = F.CODCOLIGADA AND
TEMP.IDLAN = F.IDLAN
OPEN ACERTO_PERCENTUAIS1
FETCH NEXT FROM ACERTO_PERCENTUAIS1 INTO @VALOR, @COLIGADA1, @IDLAN, @IDRAT
WHILE (@@FETCH_STATUS = 0)
BEGIN   
SET @VAR = ('CAST(TEMP.VALOR AS NUMERIC(15,' + CAST(@INTEIRO AS VARCHAR) + '))')
SET @EXEC = ('UPDATE     FLANRATCCU       SET         PERCENTUAL = ' + CAST(@VAR AS VARCHAR(100))+ '
FROM  (    
SELECT VALOR =
  CASE
    WHEN (TEMP1.VALOR > 0) THEN (F.VALOR / TEMP1.VALOR) * 100
    ELSE 100
  END, F.CODCOLIGADA, F.IDLAN, F.IDRATCCU
FROM  FLANRATCCU F,     (SELECT     SUM(VALOR) VALOR, CODCOLIGADA, IDLAN
FROM  FLANRATCCU
WHERE PERCENTUAL IS NULL AND
CODCOLIGADA = ' + CAST(@COLIGADA AS  VARCHAR) + '
GROUP BY CODCOLIGADA, IDLAN) TEMP1
WHERE TEMP1.CODCOLIGADA = F.CODCOLIGADA AND
TEMP1.IDLAN = F.IDLAN   ) TEMP 
WHERE TEMP.CODCOLIGADA = FLANRATCCU.CODCOLIGADA AND
TEMP.IDLAN = FLANRATCCU.IDLAN AND
FLANRATCCU.CODCOLIGADA = ' + CAST(@COLIGADA1 AS VARCHAR) + ' AND
FLANRATCCU.IDLAN = ' + CAST(@IDLAN AS VARCHAR) + ' AND
FLANRATCCU.IDRATCCU = TEMP.IDRATCCU' )
EXEC(@EXEC)
FETCH NEXT FROM ACERTO_PERCENTUAIS1 INTO @VALOR, @COLIGADA1, @IDLAN, @IDRAT
END  
CLOSE ACERTO_PERCENTUAIS1
DEALLOCATE ACERTO_PERCENTUAIS1
FETCH NEXT FROM ACERTO_PERCENTUAIS INTO @COLIGADA, @INTEIRO
END
CLOSE ACERTO_PERCENTUAIS
DEALLOCATE ACERTO_PERCENTUAIS
GO

 

Informações Adicionais

- Inicialmente o erro era apresentado apenas em clientes utilizando a versão 11.20, mas os clientes que migraram para a versão 11.40 também estão encontrando esse erro ao editar qualquer lançamento já gravado na base antes da migração. Neste caso, basta apenas rodar o script para correção.

- Se não for do setor de Tecnologia da empresa, acione este departamento e explique a situação.

Data de produção/atualização: 18/01/2012

  • Sem rótulos