Resposta rápida
- Rotina de digitação
- MATA270, que grava na tabela
SB7. - Rotina do acerto
- MATA340, que gera as requisições e devoluções.
- Ligação entre as duas
B7_ESCOLHA = 'S', a contagem oficial.- Controle de contagens
- só existe com o parâmetro
MV_CONTINVligado. - Armadilha
- digitar ou selecionar contagem não mexe no saldo.
Nesta página6 seções
Contar o estoque e acertar o estoque são duas etapas com rotinas diferentes. Quando o mesmo item é contado mais de uma vez, existe uma terceira decisão no meio: qual das contagens vale. Este artigo mostra onde o Protheus guarda cada uma dessas informações. Para comparar saldos do sistema (SB2, SB8 e SBF) antes ou depois do inventário, veja divergência de estoque: como comparar SB2, SB8 e SBF.
Onde a contagem fica gravada
A digitação do inventário grava um registro por contagem na SB7. Ela não
movimenta saldo. Além da SB7, na inclusão ela pode criar a
SB2 do produto e armazém, quando ainda não existe. Com o parâmetro
MV_WMSNEW ligado e endereço informado, marca o endereço na SBE com o
status 6 (bloqueio de inventário).
| Campo | Tipo e tamanho | O que guarda |
|---|---|---|
B7_DATA | Data | Data do inventário |
B7_QUANT | Numérico, 12,2 | Quantidade inventariada |
B7_CONTAGE | Caractere, 3 | Número da contagem |
B7_ESCOLHA | Caractere, 1 | Contagem escolhida (aceita S, N ou vazio) |
B7_OK | Caractere, 4 | Marca temporária da tela de seleção |
B7_STATUS | Caractere, 1 | 1 = não processado, 2 = processado |
O índice 1 da tabela identifica cada registro por data, produto, armazém, endereço, número de série, lote, sub-lote e contagem. É o número da contagem que permite guardar uma segunda e uma terceira contagem do mesmo item. A mensagem de registro já gravado, por sua vez, só aparece na inclusão de item com número de série informado.
O parâmetro que liga o controle de contagens
O controle depende do parâmetro MV_CONTINV, lido com padrão desligado. Ligado:
- o número da contagem passa a ser obrigatório na digitação, e uma contagem repetida para o mesmo item e data é recusada;
- o browse da rotina ganha a legenda de escolha (verde para
B7_ESCOLHA = 'S', vermelho para o restante); - o menu ganha as opções de seleção manual, seleção automática e legenda.
SELECT X6_VAR, X6_TIPO, X6_DESCRIC, X6_CONTEUD
FROM SX6010
WHERE X6_VAR = 'MV_CONTINV'O MV_WMSNEW é o parâmetro do novo conceito de WMS (movimentações e estoque
por endereço), e o padrão é desligado. Confira o seu:
SELECT X6_VAR, X6_TIPO, X6_DESCRIC, X6_CONTEUD
FROM SX6010
WHERE X6_VAR = 'MV_WMSNEW'Para ver as contagens de um item numa data, sem alterar nada:
SELECT B7_DATA, B7_COD, B7_LOCAL, B7_LOCALIZ, B7_LOTECTL,
B7_CONTAGE, B7_QUANT, B7_ESCOLHA, B7_STATUS
FROM SB7010
WHERE D_E_L_E_T_ = ' '
AND B7_DATA = '20260928'
AND B7_COD = 'PRODUTO_EXEMPLO'
ORDER BY B7_LOCAL, B7_LOCALIZ, B7_LOTECTL, B7_CONTAGEAjuste sufixo de tabela, data e produto ao seu ambiente.
Como a contagem oficial é escolhida
Há três caminhos. Em todos, o resultado é o mesmo: B7_ESCOLHA = 'S' em uma
contagem por item.
Seleção manual por produto. A tela lista as contagens do item e pré-marca
uma quando existe uma quantidade que se repete mais do que as outras (ou
quando há uma contagem só). Em empate, nada vem pré-marcado. Marcar uma
contagem desmarca as demais do mesmo item, e confirmar grava o S nela e
limpa o campo nas outras. A pré-marcação é uma sugestão da tela: quem
confirma é a pessoa.
Seleção manual por data e contagem. Informe a data e o número da contagem
e a tela lista os itens dessa contagem, já marcados. Confirmar grava S
nos marcados e limpa B7_ESCOLHA nos demais registros daquela data. Serve
para dizer “a terceira contagem vale para tudo”. Se nenhum item existir com
essa data e contagem, a rotina avisa e não abre a seleção.
Seleção automática. Para a data informada, agrupa as contagens de cada item por quantidade, conta quantas contagens têm a mesma quantidade e marca como escolhida a do grupo mais numeroso; dentro do grupo, a de menor número de contagem. Pontos que o código deixa claros:
- é maioria de contagens iguais, não média nem soma;
- em empate entre grupos, pela leitura do fonte, prevalece o de maior quantidade; confira no seu ambiente antes de depender disso;
- o item que tem uma única contagem também recebe
S; - se você informar o número de uma contagem na pergunta, só ela entra no cálculo, e cada item vira um grupo de uma;
- a rotina não limpa escolhas anteriores e não olha o
B7_STATUS.
O que o acerto lê
O acerto (MATA340) descreve-se no fonte como a rotina que gera requisições e
devoluções para acertar o estoque conforme a digitação do inventário. Com
MV_CONTINV ligado, na execução normal (fora do modo em lote) ele considera
só registros com B7_ESCOLHA = 'S' e B7_STATUS diferente de 2. Depois de
processar, grava B7_STATUS = '2' nos registros.
Consequências práticas:
- contagem digitada e não selecionada não entra no acerto;
- selecionar não é acertar: enquanto o acerto não rodar, o saldo do sistema continua o mesmo;
- o dicionário descreve
B7_STATUS = '2'como processado: registro nesse estado fica fora de um novo acerto.
Fluxo de conferência
- Confirme
MV_CONTINVe informe o número da contagem em cada digitação. - Rode a segunda contagem só dos itens duvidosos, com outro número.
- Consulte a
SB7com a SQL acima: quantidades por contagem eB7_ESCOLHA. - Escolha a contagem oficial (manual ou automática) e confira o
S. - Só então rode o acerto e confira
B7_STATUSe o estoque.
Armadilhas
- Contagem digitada não é estoque acertado. Duas etapas, duas rotinas.
- Automática sem revisão. Ela devolve a quantidade mais repetida, não a correta. Para itens de valor alto, confirme fisicamente.
- Mais de um
Sno mesmo item. A seleção manual grava um por item; se a consulta mostrar dois, confira antes de rodar o acerto.
Continue por aqui
- Vídeo
ProtheusGuia de processo
Eliminar resíduo do pedido de venda: o que muda e o que não volta
Eliminar resíduo encerra o saldo que ainda não foi entregue de um pedido de venda. Veja onde fica a opção (no pedido e em lote), o que ela muda no pedido e por que não existe botão para desfazer.
- Vídeo
ProtheusGuia de processo
Não consigo excluir o pedido de venda: a liberação precisa ser estornada
O Protheus recusa a exclusão do pedido porque algum item já foi liberado para faturar. Veja como estornar a liberação em Estor.Doc's, o que impede o estorno e como conferir no banco.
- Vídeo
ProtheusGuia de processo
Configurador de Tributos (FISA170) para quem programa
O que o desenvolvedor precisa saber do Configurador de Tributos: tabelas, como o motor fiscal o aciona, a flag lCalcTG e como ler os tributos calculados.