Escolar Documentos
Profissional Documentos
Cultura Documentos
Muitas vezes nos deparamos com o chamado “descompasso” entre “SB2, SB8 e SBF”. Para entender melhor o que isso
significa, elaborei um desenho que facilita a visualização do problema.
O Protheus trabalha com tabelas específicas e independentes para os movimentos de estoque (linha 1 no desenho),
movimentos por lote (linha 2 no desenho) e movimentos por endereço (linha 3 no desenho), sendo que os saldos atuais
entre eles, sempre tem que ser iguais.
Em caso de descompasso entre as tabelas, uma forma de análise é a comparação entre os seguintes arquivos:
Os saldos iniciais (Coluna A no desenho) devem ser sempre iguais, para uma determinada data. Acontece que o SB9 sempre
trará apenas um saldo por data x almoxarifado, enquanto o SBJ poderá ter vários lotes na mesma data x almoxarifado e o
SBK poderá ter vários endereços para a mesma data x almoxarifado. Sendo assim, para efeito de comparação, será
necessário analisar o saldo do SB9 com a soma dos saldos do SBJ e soma dos saldos do SBK para a mesma data x
almoxarifado.
FROM
SELECT SB9.B9_COD COD, SB9.B9_LOCAL ARM, SB9.B9_DATA DIA, SB9.B9_QINI SB9, 0 SBJ, 0 SBK
UNION
SELECT SBJ.BJ_COD COD, SBJ.BJ_LOCAL ARM, SBJ.BJ_DATA DIA, 0 SB9, SUM(SBJ.BJ_QINI) SBJ, 0 SBF
UNION
SELECT SBK.BK_COD COD, SBK.BK_LOCAL ARM, SBK.BK_DATA DIA, 0 SB9, 0 SBJ, SUM(SBK.BK_QINI) SBK
ORDER BY DIA
Analogamente os saldos atuais (Coluna C no desenho) devem ser sempre iguais, sendo que o SB2 trará um único saldo por
almoxarifado e o SB8 poderá ter de mais um saldo por lote por almoxarifado e o SBF poderá ter mais de um saldo por
endereço por almoxarifado.
FROM
(
SELECT SB2.B2_COD COD, SB2.B2_LOCAL ARM, SB2.B2_QATU SB2, 0 SB8, 0 SBF
UNION
UNION
GROUP BY COD,ARM