Controle de estoque

ESTOQUE

Descrição

Sistema para controle do estoque dos produtos. Permite o controle de movimentos dos produtos, com base em pedidos, documentos de entrada e saída, inventários, lançamentos avulsos, entre outros. Permite a consulta dos custos dos itens, das localizações nos estoques, das reservas do produto em pedidos ou documentos e demais informações necessárias para gestão do estoque dos produtos.

Procedimentos

Interfaces

Sub-sistemas relacionados

Dúvidas frequentes

Configurações

ESTOQUE.ABASTECIMENTOS_PRODUCOES.NATUREZA_OPERACAO_REGISTRO_CONSUMO_RETORNO

Natureza de operação utilizada para registrar a diferença de consumo da matéria-prima

Caso informado a natureza de operação será realizado uma movimentação de estoque considerando a diferença entre:
Saldo = QUANTIDADE ENVIADA - QUANTIDADE UTILIZADA - QUANTIDADE RETORNADA.

Exemplo:
Quantidade Enviada: 19,20 kg
Quantidade utilizada: 12,00 kg
Quantidade retornada: 5,00 kg

Será gerado um documento de realizando a saída de 2,2kg desta matéria-prima.

Tipo: TEXT

ESTOQUE.ABASTECIMENTOS_PRODUCOES.NATUREZA_OPERACAO_RETORNO

Natureza de operação utilizada para registrar o retorno do estoque de produção

Natureza de operação utilizada para registrar o retorno do estoque de produção

Tipo: TEXT

Valor padrão: ABASTECIMENTO PRODUCAO RETORNO

ESTOQUE.ABASTECIMENTOS_PRODUCOES.NATUREZA_OPERACAO_RETORNO_DESCARTE

Natureza de operação utilizada para registrar o retorno dos descartes do estoque de produção

Natureza de operação utilizada para registrar o retorno dos descartes do estoque de produção

Tipo: TEXT

Valor padrão: ABASTECIMENTO PRODUCAO RETORNO DESCARTE

ESTOQUE.ABASTECIMENTOS_PRODUCOES.NATUREZA_OPERACAO_SAIDA

Natureza de operação utilizada para registrar a saída do estoque de produção

Natureza de operação utilizada para registrar a saída do estoque de produção

Tipo: TEXT

Valor padrão: ABASTECIMENTO PRODUCAO SAIDA

ESTOQUE.CAD_ESPR.ESTOQUES_TRANSFERIR.LIMITE_OPCOES

Permite definir qual será o limite de opções apresentadas para transferência.
Caso não configurado o padrão o valor será 1000.

Tipo: TEXT

ESTOQUE.CAD_ESPR.SQL_OPCOES_ESTOQUES

Permite customizar como a lista de estoques dos produtos será apresentada na operação "Transferir todos".
É necessário o id do registro esteja no select e utilizar a macro ${estoque} como parâmetro.

O SQL padrão é:
select ep.id, nome_estabelecimento
, tipo_estoque
, produto
, p.descricao
, p.descricao_detalhada
, m.marca
, p.referencia_fabricante
, simbolo
, estoque_atual
, (select coalesce(sum(v.quantidade), 0.0)
from V_RESERVAS_PRODUTOS v
join produtos prod on prod.id = v.produto_id
WHERE v.produto_id = ep.produto_id
and v.estabelecimento_id = ep.estabelecimento_id
and (v.tipo_estoque_id is null or v.tipo_estoque_id = ep.tipo_estoque_id)
limit 1) as reservas
, coalesce(ep.estoque_atual, 0.0)
-
(select coalesce(sum(v.quantidade), 0.0)
from V_RESERVAS_PRODUTOS v
join produtos prod on prod.id = v.produto_id
WHERE v.produto_id = ep.produto_id
and v.estabelecimento_id = ep.estabelecimento_id
and (v.tipo_estoque_id is null or v.tipo_estoque_id = ep.tipo_estoque_id)
limit 1) as disponivel
,permite_venda
,permite_reposicao
, case when p.tipo_item = '00' then 'Mercadoria para revenda'
when p.tipo_item = '01' then 'Matéria-prima'
when p.tipo_item = '02' then 'Embalagem'
when p.tipo_item = '03' then 'Produto em processo'
when p.tipo_item = '04' then 'Produto acabado'
when p.tipo_item = '05' then 'Subproduto'
when p.tipo_item = '06' then 'Produto intermediário'
when p.tipo_item = '07' then 'Material de uso e consumo'
when p.tipo_item = '08' then 'Ativo imobilizado'
when p.tipo_item = '09' then 'Serviços'
when p.tipo_item = '10' then 'Outros insumos'
when p.tipo_item = '98' then 'Outros (kit)'
when p.tipo_item = '99' then 'Outros' end as tipo_item
,movimenta_estoque
,data_ultima_movimento
,data_ultima_venda
, ep.ativo
from estoques_produtos ep
join tipos_estoques te on te.id  = ep.tipo_estoque_id
join produtos p on p.id = ep.produto_id
left join marcas m on m.id = p.marca_id
join estabelecimentos e on e.id = ep.estabelecimento_id
join unidades_medidas um on um.id = p.unidade_medida_id
where ep.id = ${estoque}

Atenção
Esta preferência está OBSOLETA.

Tipo: SOURCE_CODE

ESTOQUE.CAD_EST_AVULSO.INFORMACOES_ADICIONAIS.SCRIPT

Script (SQLEngine) para apresentação de informações adicionais do produto.

Os parâmetros que podem ser utilizados são:
${produto}: identificador do único do produto.

Exemplo:

Apresentar todos os estoques do produto.
Valor do campo
item tipo_estoque text; label="Tipo estoque";
item nome_estabelecimento text; label="Estabelecimento";
item estoque_atual double; label="Estoque atual";
item reserva double; label="Reservado";

select te.tipo_estoque
, e.nome_estabelecimento
, ep.estoque_atual
, (select sum(quantidade) from v_reservas_produtos where produto_id = p.id and tipo_estoque_id = te.id and estabelecimento_id = e.id) as reserva
from estoques_produtos ep
join produtos p on p.id = ep.produto_id
join estabelecimentos e on e.id = ep.estabelecimento_id
join tipos_estoques te on te.id = ep.tipo_estoque_id
where p.produto = '${produto}'

Tipo: SOURCE_CODE

ESTOQUE.CAD_EST_AVULSO.TIPO_REGISTRO

Tipos de registros de produtos que permitem movimentar estoque avulso

Tipos de registros dos produtos que permitem movimentar estoque avulso. Por padrão é permitido movimentar produtos do tipo "produto" e "variação".

Tipo: TEXT

Valor padrão: P,V,E

ESTOQUE.CON_CUSTOS_PRODUTOS.ATUALIZAR_TODOS_MOVIMENTOS

Atualizar os custos dos produtos

Indica o contexto de reprocessando dos custos dos movimentos de estoque:

  • Marcado: Todos os movimentos de estoque serão reprocessados para atualização dos custos.
  • Desmarcado: Somente serão atualizados os movimentos com data igual ou superior a data de última atualização registrada.
Atenção
A opção "marcada" (valor = S) pode implicar em extrema lentidão do processo de atualização dos custos, pois dependerá da quantidade de movimentos dos produtos e recursos de processamento do servidor onde a atualização será executada.

Tipo: FLAG

Valor padrão: N

ESTOQUE.CUSTOS_PRODUTOS.UTILIZAR_CUSTO_FISCAL

Define se ao realizar as atualizações de preços dos itens deve ser utilizado o custo fiscal ou o custo financeiro.
Valores:
  • S = Custo fiscal.
  • N = Custo financeiro.

Valor padrão: N

ESTOQUE.ESTOQUES_PRODUTOS.CALCULO_SALDO

Método de calculo do saldo atual

Indica como o saldo atual é atualizado pelo sistema.

  • M - Movimentos de estoque (padrão) - Os próprios movimentos atualizam o saldo atual do estoque. Qualquer inclusão/exclusão de movimentos adiciona ou exclui no saldo atual do estoque;
  • S - Saldos mensais - A atualização dos saldos mensais atualizam o estoque atual. Este método tem a vantagem de ajustar possíveis discrepâncias causadas na replicação assíncrona.

Tipo: OPCAO

ESTOQUE.ESTOQUES_PRODUTOS.DOCUMENTOS_MANUTENCAO_DISPONIVEL

Define se documentos em manutenção devem se considerados na reserva de estoque

Tipo: FLAG

Valor padrão: S

ESTOQUE.ESTOQUES_PRODUTOS.ERP.ESTOQUE_MINIMO

Caso informado "S" avisa o usuário em forma de WARNING sobre a falta do produto.

Valor padrão: N

ESTOQUE.ESTOQUES_PRODUTOS.ERP.ESTOQUE_MINIMO_EMAIL

E-mail para notificação de estoque abaixo do mínimo

Define um e-mail para envio de notificação quando um produto estiver com estoque abaixo do mínimo.

E-mail deve ser definido na preferência ERP.ESTOQUE_MINIMO_EMAIL e não na preferência ESTOQUE.ESTOQUES_PRODUTOS.ERP.ESTOQUE_MINIMO_EMAIL!

Tipo: TEXT

ESTOQUE.ESTOQUE_FORMAT

Formato para apresentação de estoques

Formato para apresentação das quantidades de estoques.

Tipo: TEXT

Valor padrão: ###,###,###.######

ESTOQUE.MOVIMENTOS_ESTOQUES.ATUALIZAR_FIFO

Atualizar consumo das quantidades por FIFO

Quando marcado, indica que a movimentação FIFO será registrada no sistema.
Esta preferência não indica que o custo calculado será o FIFO, mas deve estar ativa para que os controles para tal sejam atualizados.

Tipo: FLAG

ESTOQUE.MOVIMENTOS_ESTOQUES.ESCOPO_CUSTO

Escopo de custo

Indica qual escopo deve ser utilizado para o cálculo de custo dos produtos:

  • G: Geral: O custo do produto será por estabelecimento, indiferente do tipo de estoque.
  • T: Por tipo de estoque: O produto terá diferentes custos por estabelecimento e tipo de estoque.
Caso não configurado assume custo com escopo G (Geral).
Atenção
Uma alteração no valor desta preferência exige um reprocessamento de todos os movimentos de estoque já registrados.

Tipo: OPCAO

ESTOQUE.MOVIMENTOS_ESTOQUES.EXPLOSAO_IMPLOSAO_NEGATIVO

Executar implosão e explosão em estoques negativos

Caso seja executado o processo de implosão ou explosão do produto deve ser executado somente em estoques com estoque.

Tipo: FLAG

Valor padrão: N

ESTOQUE.MOVIMENTOS_ESTOQUES.METODO_ATUALIZACAO_SALDO

Método de atualização do saldo em estoque

Define como o saldo atual do estoque é atualizado. Os seguintes valores são permitidos:

  • E: Método tradicional. Cada movimento atualiza o estoque calculando o novo saldo e salvando o registro com o saldo atualizado na base de dados. Este método pode gerar divergências no valor se ocorrerem movimentos simultâneos do mesmo produto em diferentes bases replicadas.
  • U: Cada movimento atualiza o estoque executando um comando do tipo "UPDATE ESTOQUES_PRODUTOS SET SALDO = SALDO + ? WHERE ID = ?". Este método é mais estável para ambientes replicados.
Por padrão, o sistema irá utilizar o método "U". O método "E" é mantido caso se deseje manter o modelo tradicional.

Tipo: OPCAO

ESTOQUE.MOVIMENTOS_ESTOQUES.SEM_SALDO_FIFO

O que fazer quando não existir saldo em operações FIFO

Define o que deve ser feito quando um movimento tentar baixar estoque e não encontrar saldo FIFO.
Caso não informado, irá gerar ERRO e não permitirá fazer um movimento de saída que não tenha saldo FIFO.

Tipo: OPTION

Valor padrão: E

ESTOQUE.PRO_ATUALIZAR_ESTOQUE_MINIMO.SQL_CALCULO_ESTOQUE_MINIMO

SQL que define a lista de produtos a ser apresentado junto com o minimo_sugerido.

Tipo: TEXT_LONG

Valor padrão: select (select sum(it.quantidade) from itens_doc_entradas_saidas it join doc_entradas_saidas doc on doc.id = it.documento_id join naturezas_operacoes nat on nat.id = doc.natureza_operacao_id where it.produto_id = ep.produto_id and doc.data_emissao between now() - interval '30 days' and now() and nat.gera_estatistica_vendas = 'S' and doc.situacao_documento in ('I', 'E') ) as minimo_sugerido, ep.* from estoques_produtos ep

ESTOQUE.PRO_AUDITAR_SALDOS_MENSAIS_ESTOQUES.LIMITE_REGISTROS

Limite de registros a serem auditados

Determina quantos registros poderão ser auditados em um único processo. Caso não informado, a rotina irá auditar no máximo 1000 registros. Isso é realizado para evitar processos muito longos.

Tipo: INTEGER

ESTOQUE.PRO_MOVIMENTACAO_ESTOQUE.SQL_IDENTIFICACAO_LOTE

SQL utilizado para autocomplete da identificação do lote

SQL utilizado para auto complete da identificação do lote que será utilizado para movimentação de estoque.
Deve obrigatoriamente ser preenchido a macro ${produto}, e a macro ${tipo_estoque_id} para o tipo de estoque de origem.

Tipo: TEXT

Valor padrão: (select prod.numero_serie as valor , 'Lote: ' || prod.numero_serie || ' - Local: ' || test.tipo_estoque || ' - Estoque: ' || est.estoque_atual as descricao , prod.produto || test.tipo_estoque || est.estoque_atual as pesquisar from estoques_produtos est inner join produtos prod on prod.id = est.produto_id inner join tipos_estoques test on test.id = est.tipo_estoque_id inner join produtos modelo on modelo.id = prod.modelo_produto_id where modelo.produto = '${produto}' and test.id = '${tipo_estoque_id}' and est.estoque_atual <> 0)

ESTOQUE.REL_ESTOQUE_ESTABELECIMENTO.TIPO_PEDIDO_COMPRA

Tipo de pedido padrão para COMPRA

Tipo de pedido padrão para COMPRA

Tipo: TEXT

Valor padrão: COMPRA

ESTOQUE.REL_ESTOQUE_ESTABELECIMENTO.TIPO_PEDIDO_VENDA

Tipo de pedido padrão para VENDA

Tipo de pedido padrão para VENDA

Tipo: TEXT

Valor padrão: VENDA

ESTOQUE.SALDOS_DIARIOS_ESTOQUES.ATUALIZAR_DATAS_BLOQUEIOS

Atualizar as datas de bloqueio para entradas e saídas no estabelecimento

Atualizar as datas de bloqueio para entradas e saídas (movimentos de estoque) no estabelecimento.

Tipo: FLAG

Valor padrão: N

ESTOQUE.SALDOS_MENSAIS_ESTOQUES.ATUALIZAR_ESTOQUE_ATUAL

Atualizar estoque atual

Quando marcado, indica que os saldos mensais poderão atualizar o saldo atual caso seja identificada alguma divergência.
Para ativar esta modalidade, é necessário que os saldos mensais de estoque estejam atualizados e consistentes, o que pode ser feito executando a ação "Auditar/corrigir" da interface Saldos mensais de estoques.

Tipo: FLAG

ESTOQUE.SALDOS_MENSAIS_ESTOQUES.EVENT_LISTENER_DISABLED

Capturar alterações de saldo pela replicação

Sempre que receber uma alteração de saldo de estoque, marcar o registro para ser auditado.

Tipo: TEXT_LONG

Valor padrão: ESTOQUE.SALDOS_MENSAIS_ESTOQUES.POS_REPLICATE : ESTOQUE.SALDOS_MENSAIS_ESTOQUES.NOTIFICAR_REPLICACAO

ESTOQUE.TIPOS_ESTOQUES.ATIVO_IMOBILIZADO_ID

Tipo de estoque para ativo/imobilizado

ID do tipo de estoque que representa o ativo/imobilizado de um estabelecimento.

Tipo: ID

ESTOQUE.TIPOS_ESTOQUES.KITS_MONTADOS_ID

ID do tipo de estoque utilizado para Kits Montados

ID do tipo de estoque utilizado para Kits Montados.

Tipo: ID

ESTOQUE.TIPOS_MOVIMENTACOES_ESTOQUES.ALOCACAO_ID

Tipo de movimentação para alocação

ID do tipo de movimentação que deve ser utilizado para alocação interna de equipamentos e outros bens materiais (unidades de produto).

Tipo: ID

ESTOQUE.UPGRADES_ESTOQUE.ATUALIZAR_QUANTIDADE_ACUMULADA

Executar a rotina de atualização de estoque (30/05/2022)

Caso marcado será executado a rotina de atualização da quantidade acumulada do estoque no estabelecimento.

Tipo: FLAG

Valor padrão: S

ESTOQUE.USAR_ENDERECOS_ESTOQUES

Usar endereços de estoques

Permite definir se os endereços informados dos produtos no estoque devem estar pré-cadastrados na tabela de endereços de um depósito do estabelecimento (ver Endereços de estoque) ou se serão um texto livre.

Valores:

  • S: Utiliza endereços previamente cadastrados em um depósito.
  • N: Utiliza texto livre para informar a localização do produto nos estoques.
  • A: Utiliza ambas informações. Normalmente esta opção seria utilizada apenas durante um período em que se está migrando de uma jeito para o outro.

Tipo: OPTION

Valor padrão: N