Reabertura do Estoque


Este assunto é antigo, mas não custa darmos nossa contribuição. Algumas vezes, faz-se necessária a reabertura do estoque. No sistema não existe rotina padrão para se voltar um fechamento. A reabertura do estoque não é recomendada pois pode gerar custos incorretos na apropriação da OP, caso haja OP's em aberto. Existem formas para executar a reabertura do estoque, mas a responsabilidade pelo resultado final é do cliente. É recomendável a alocação de uma analista TOTVS especialista em estoque/custos ou se você é o especialista para execução de reabertura de estoque quando esta é necessária. Caso se queira fazer isso alguns cuidados devem ser tomados: a) Voltar o parâmetro MV_ULMES para a data do fechamento anterior b) Voltar backup das tabelas SC2, SB9, SBJ e SBK - ou excluir os registros através da ferramenta SDU referentes ao mês de fechamento e CT2, caso necessário.

--Limpar os registros da tabela Saldos Iniciais (SB9) com data do ultimo fechamento

SELECT * FROM SB9010 WHERE B9_DATA = 'data do ultimo fechamento'

UPDATE SB9010 SET D_E_L_E_T_='*', R_E_C_D_E_L_=R_E_C_N_O_ WHERE B9_DATA='data do ultimo fechamento'
--Ou
DELETE FROM SB9010 WHERE B9_DATA = 'data do ultimo fechamento'

--Limpar os registros da tabela Saldos Iniciais por Lote (SBJ) com data do ultimo fechamento

SELECT * FROM SBJ010 WHERE BJ_DATA = 'data do ultimo fechamento'

UPDATE SBJ010 SET D_E_L_E_T_='*', R_E_C_D_E_L_=R_E_C_N_O_ WHERE BJ_DATA='data do ultimo fechamento'
--Ou
DELETE FROM SBJ010 WHERE BJ_DATA = 'data do ultimo fechamento'

--Limpar os registros da tabela Saldos Iniciais por Endereço (SBK) com data do ultimo fechamento

SELECT * FROM SBK010 WHERE BK_DATA = 'data do ultimo fechamento' 

UPDATE SBK010 SET D_E_L_E_T_='*', R_E_C_D_E_L_=R_E_C_N_O_ WHERE BK_DATA='data do ultimo fechamento'
--Ou
DELETE FROM SBK010 WHERE BK_DATA = 'data do ultimo fechamento' 

 

c) Reprocessar as rotinas de Saldo Atual, Recalculo do Custo Médio e Virada dos Saldos.

Obs.: Voltar backup da tabela SC2, somente se não existirem movimentações de ordem de produção após o fechamento, caso existem, fazer programa para recuperar dados dos custos das OPs existentes na data do fechamento. Abaixo seguem os passos para execução da reabertura: 1º) Voltar a data do parametro MV_ULMES para a data do ultimo fechamento valido. 2º) Apagar os registros referentes ao mês que está sendo reaberto das tabelas SB9, SBJ e SBK do mês que será reaberto. 3º) Realizar os ajustes necessários. Para fechar novamente: 1º) Posicionar na data base em que será gerado o fechamento 2º) Executar as rotinas de Saldo Atual e Recalculo do custo médio 3º) Após o passo 2, verificar se os valores do estoque estão corretos e caso assim estejam, executar a virada de saldos. Caso precise ajustar o saldo inicial das Ordens de Produção (SC2)
--Exemplo 
UPDATE SC2010 SET C2_VINI1 = 
( 
    SELECT COALESCE(SUM(D3_CUSTO1),0) 
    FROM SD3010 
    WHERE SUBSTRING(D3_CF,1,2) = 'RE' 
    AND D3_ESTORNO = '' 
    AND C2_NUM+C2_ITEM+C2_SEQUEN = D3_OP 
    AND C2_LOCAL = D3_LOCAL 
    AND D3_EMISSAO <= 'data do ultimo fechamento' 
) 
WHERE C2_NUM+C2_ITEM+C2_SEQUEN = 'numero da OP' 
AND C2_LOCAL = 'filial da SC2'
  Caso tenham outras sugestões que possam compartilhar, não exitem em nos encaminhar.