Entidade ESTOQUES_PRODUTOS

ESTOQUE.ESTOQUES_PRODUTOS

Descrição

Mantém informações de saldo do estoque atual do produto por tipo de estoque e estabelecimento. Esta informação se refere apenas à quantidade física em estoque desconsiderando quaisquer Reservas de produtos existentes através de pedidos e/ou documentos em processo de separação e ou emissão.

Atributos

AtributoDomínioRegrasDescrição
IDID(18)Rqd PK Id:
Chave de identificação interna
PRODUTO_IDID(18)Rqd UK FK AK Produto:
Produto para controle do estoque.

Referência para PRODUTOS
ESTABELECIMENTO_IDID(18)Rqd UK FK Estabelecimento:
Local (estabelecimento) no qual o estoque do produto é gerenciado.

Referência para ESTABELECIMENTOS
TIPO_ESTOQUE_IDID(18)Rqd UK FK Tipo do estoque:
Tipo de estoque do produto no estabelecimento.

Referência para TIPOS_ESTOQUES
PROPRIETARIO_IDID(18)Rqd UK FK Proprietário:
Identifica o proprietário do estoque de produtos.
O estabelecimento deve ser o proprietário quando definido no tipo de estoque para as propriedades igual a "Propriedade do estabelecimento e em seu poder" ou "Propriedade do estabelecimento e em posse de terceiros"

Referência para PESSOAS
DETENTOR_IDID(18)Rqd UK FK Detentor:
Pessoa/empresa que detém a posse do produto.

O estabelecimento deve ser o detentor quando definido no tipo de estoque para as propriedades igual a "Propriedade do estabelecimento e em seu poder" ou "Propriedade de terceiros e em posse do estabelecimento"

Quando o proprietário é o estabelecimento e o detentor é uma outra empresa, significa que se trata de um estoque do estabelecimento em poder de terceiros.

Quando o detentor é o estabelecimento e o proprietário é uma empresa, significa que se trata de um estoque de terceiros em poder do estabelecimento.

Referência para PESSOAS
ESTOQUE_ATUALDECIMAL_VALUERqd Estoque atual:
Quantidade atual do produto em estoque.
O modo como este atributo é atualizado depende de duas preferencias:

Valor padrão = 0
PERMITE_VENDAFLAG(1)Rqd Permite movimentação?:
Indica se o produto pode ser movimentado neste estoque e estabelecimento, ou não.

Para definir que o estoque seja considerado ou não para venda, deve ser determinado no tipo de estoque.

Valor padrão = S
PERMITE_REPOSICAOFLAG(1)Rqd Permite reposição/compra?:
Indica se o estoque do produto no estabelecimento e tipo de estoque poderá ser reposto e/ou permite nova aquisição ou compra. O produto não será apresentado nos processos de reposição de estoques se estiver marcado como "não".

Valor padrão = S
ESTOQUE_MINIMOVALUE(18)Rqd Estoque mínimo:
Quantidade mínima que o produto deve possuir em estoque.

Caso a preferência ERP.ESTOQUE_MINIMO_EMAIL estiver configurada, é disparado um e-mail quando o estoque atual for menor que o mínimo.
Caso a preferência ERP.ESTOQUE_MINIMO esteja com valor "S", será apresentado um aviso quando o estoque atual for menor que o mínimo.

Valor padrão = -1
ESTOQUE_MAXIMOVALUE(18)Estoque máximo:
Estoque máximo para o produto.
Caso não seja informado, não existe estoque máximo para o produto.
QUANTIDADE_PADRAO_REPOSICAOVALUE(18)Quantidade padrão para reposição:
Quantidade padrão (lote mínimo) para reposição do estoque.

Utilizada no e-mail de notificação de estoque mínimo (quando configurada a preferência ERP.ESTOQUE_MINIMO_EMAIL).
QUANTIDADE_MINIMA_VENDAVALUE(18)Quantidade mínima para venda:
Quantidade mínima para venda do produto neste estoque. Não haverá restrição de quantidade caso não informada a quantidade mínima.
QUANTIDADE_MAXIMA_VENDAVALUE(18)Quantidade máxima para venda:
Quantidade máxima para venda do produto neste estoque, caso não informado não existe um limite para venda.
SOMENTE_MULTIPLOSFLAG(1)Rqd Somente múltiplos?:
Define que o valor mínimo deve ser somente múltiplos, por exemplo a quantidade minimo é 2 e o multiplo está ativo, então são aceitos os valores 2,4,6 ...

Valor padrão = N
ULTIMO_MOVIMENTO_IDID(18)FK Último movimento:
Indica o último movimento (lançamento de entrada ou saída) de estoque deste produto. Este registro possui as informações atualizadas de saldo e custo do estoque.

Referência para MOVIMENTOS_ESTOQUES
DATA_ULTIMA_MOVIMENTODATE_TIMEData do último movimento:
Data do último movimento (entrada ou saída) do produto no estabelecimento e tipo de estoque.
ULTIMA_AQUISICAO_IDID(18)FK Última aquisição:
Aponta para a última aquisição deste produto indicada pela natureza de operação do movimento que a opção "estatística de compra" esteja marcada

Referência para MOVIMENTOS_ESTOQUES
DATA_ULTIMA_VENDADATEAK Data da última venda:
Data em que o produto foi vendido pela última vez.

Esta data é preenchida automaticamente pela movimentação de estoque quando a natureza de operação do documento associado está marcada para Gera estatística de vendas.

É utilizada por exemplo para pesquisar produtos que tenham ou não tenham sido vendidos em um determinado período.
DATA_ULTIMA_COMPRADATEAK Data da última compra:
Data em que o produto foi comprado pela última vez.

Esta data é preenchida automaticamente pela movimentação de estoque quando a natureza de operação do documento associado está marcada para Gera estatística de compras.

É utilizada por exemplo para pesquisar produtos que tenham ou não tenham sido comprados em um determinado período.
RESPONSAVEL_IDID(18)FK Responsável:
Indica quem é a pessoa responsável pelo estoque. Este atributo é utilizado, por exemplo, para indicar com quem está um determinado bem material.

Por exemplo: Um estabelecimento que tem 10 notebooks (bens materiais). Os 10 notebooks estarão com propriedade e detentor definidos pelo estabelecimento, mas cada um teria um responsável diferente.

Referência para PESSOAS
LOCALIZACAOUPPER(40)Localização:
Texto livre para informar a ultima localização do produto no detentor.
Esta informação pode ser atualizada através de movimentos de estoque que indiquem um local para onde o produto foi movimentado.
ATIVOFLAG(1)Rqd Ativo:
Indica se o estoque do produto está ou não ativo.

Valor padrão = S

Regras

Notificar usuário quando estoque mínimo do produto for atingido

(Depois de alterar)
Enviar e-mail para departamento de compra.
OBS: Quando estoque mínimo estiver com valor -1 a regra é desconsiderada.

Atualizar a data de movimentação

(Antes de inserir, Antes de alterar)
Atualizar a data da última movimentação deste registro.

Notificar responsável pelas compras quando estoque do produto ficar negativo

(Depois de alterar)
Enviar um e-mail para o responsável pelas compras quando o estoque do produto no estabelecimento ficar negativo (<0).

Produto bloqueado não pode ser movimentado!

(Antes de alterar)
Apresentar um aviso informando que o produto está bloqueado para movimentação.
Se houver saldo em estoque a movimentação poderá ser realizada até que o saldo do estoque seja zerado.

Estabelecimento não permite estoque negativo!

(Antes de alterar)
Verifica se o estabelecimento está configurado para não permitir produtos com estoque negativo e apresenta mensagem informando o produto com estoque menor que 0 (zero).

Não é possível excluir o registro, pois existem movimentos de estoque vinculados!

(Antes de excluir)
Verifica se existe algum movimento de estoque para o produto no tipo de estoque do estabelecimento.

Estoque sendo inventariado

(Antes de inserir, Antes de alterar)
Verifica se existe um inventário geral em execução para o estabelecimento e tipo de estoque ou um inventário parcial para o estabelecimento, tipo de estoque e produto.

Produtos do tipo de registro "Conjunto" não podem movimentar estoque!

(Antes de alterar)
Produtos do tipo de registro "Conjunto" não podem possuir estoque.

Validar movimentação tipo de estoque

(Antes de inserir)
Valida a movimentação do estoque não permitindo a inclusão de novos registros caso o tipo de estoque em questão esteja com a situação diferente de ativo.

Validar inclusão estoque

(Antes de inserir, Antes de alterar)
Não permite a inclusão se o detentor ou proprietário for diferente do estabelecimento caso o tipo de estoque está configurado como de propriedade do estabelecimento e em seu poder.

Validar inativação estoque produto

(Antes de alterar)
Estoque do produto não pode ter saldo maior que zero ao ser inativado.

Adicionar registro na fila de integração

(Depois de excluir, Depois de inserir, Depois de alterar)
Caso exista um sistema externo ativo e algum preço associação ao produto da movimentação deve-se adicionar na fila de integração o registro para atualização.

Ajustar saldo

Este método ajusta o saldo com base no extrato dos movimentos. Somente fará o ajuste se necessário.

Atualizar custo(produto_id, estabelecimento_id)

Rotina de atualização de custo médio do produto

Busca ou cria(criar_registro, estabelecimento_id, produto_id, tipo_estoque_id, pessoa_posse_id, pessoa_propriedade)

Busca o registro que representa o estoque de produto em um estabelecimento. Se não encontrar, retorna um registro que poderá ser inserido (usar save).

Custo relacionado(produto, estabelecimento, tipo_estoque)

Calcula o custo médio do produto considerando, se necessário, o custo dos produtos relacionados.
Este calculo difere do anterior porque caso seja necessário assume o custo médio dos produtos relacionados. Neste caso, o custo é calculado com base na média ponderada em estoque de todos os produtos relacionados.
Se não existirem produtos em estoque, retorna o ultimo custo-médio obtido em algum dos produtos relacionados.
Caso nenhum produto tenha movimento, o custo médio retornado será NULO.

Fechamento(ano, mes)

Realizar o fechamento do produto em um período, inserindo o saldo atual na tabela de saldos de estoque.

Quantidade estoque excedente(produto_id, estabelecimento_id, tipo_estoque_id)

Método que retorna o estoque físico do produto que está acima da quantidade mínima. Este método é utilizado na disponibilização de estoques para terceiros em que se deseje preservar a quantidade mínima no estabelecimento.

Quantidade de produto em estoque(produto_id, estabelecimento_id, tipo_estoque_id, excedente)

Método que retorna quantidade em estoque de um determinado produto, em um determinado tipo de estoque e estabelecimento.
Caso o tipo de estoque não seja informado, retorna a soma de todos os tipos de estoque que são disponibilizados para venda.
Caso o estabelecimento não seja informado, assume todos os estabelecimentos.

Este método retorna a quantidade física, ou seja, não abate as quantidades reservadas.

Movimentar avulso(quantidade)

Cria um movimento avulso para o estoque na quantidade informada.

Retornar custo

Função que retorna o custo do produto para o respectivo produto/tipo de estoque/estabelecimento.
Esta rotina considera a preferencia ESTOQUE.MOVIMENTOS_ESTOQUES.ESCOPO_CUSTO para pegar o custo considerando ou não o tipo de estoque.

Caso o custo seja por tipo de estoque, retorna o ultimo movimento desta entidade.

Caso o custo seja geral, retorna o ultimo movimento do respectivo registro em CUSTOS_PRODUTOS.

O registro retornado é o ultimo movimento do produto que deve ser considerado.
Para obter o custo, deve-se pegar um dos atributos desejados:

CUSTO_MEDIO - Custo fiscal médio para este produto após a realização deste movimento calculado pelo custo fiscal acumulado dividido pelo saldo do estoque no movimento.
Caso o saldo do estoque no movimento seja zero será mantido o custo fiscal médio do movimento anterior a este movimento.


CUSTO_FINANCEIRO_MEDIO - Custo financeiro médio para este produto após a realização deste movimento calculado pelo custo financeiro acumulado dividido pelo saldo do estoque no movimento.
Caso o saldo do estoque no movimento seja zero será mantido o custo financeiro médio do movimento anterior a este movimento.



Retornar o estoque disponível(produto_id, estabelecimento_id, tipo_estoque_id, excedente, negativo)

Retornar o estoque disponível de um produto no estabelecimento e tipo de estoque.
Cálculo:
estoque disponível = estoque - (qtde pendente em pedidos + qtde pendente em documentos)

Retornar estoque disponível produto

Retornar o estoque disponível para o produto considerando o estoque escolhido.
Obrigatoriamente deve possuir um registro de estoque.

Retornar estoque disponivel do produto

Retornar o estoque disponível para o produto considerando o estoque escolhido e o tipo de estoque.
Obrigatoriamente deve possuir um registro de estoque.

Retornar valor ponto de pedido

Retornar o valor de ponto de pedido sobre este produto no estoque.

Ponto de Pedido

É o nível de estoque que, ao ser atingido, determina imediata emissão de um pedido de compra, visando repor o Estoque Máximo. O Ponto de Pedido pode ser obtido a partir da seguinte forma:

Ponto de Pedido = (CMM x TR) + Estoque Mínimo

Onde: CMM = Consumo Médio Mensal
TR = Tempo de reposição (em meses)

Tempo de Reposição: é o tempo gasto desde a verificação de que o estoque precisa ser reposto até a chegada efetiva do material na empresa. Pode variar de acordo com o tempo de faturamento, envio e entrega dos produtos por parte do fornecedor.

uk String

Retornar o valor da chave única formatada:
Produto X, Estabelecimento Y, Tipo de estoque Z, Proprietário P, Detentor D