F211CPE - Consulta de Posição do Estoque por Data - Detalhes
Conceitos básicos
Esta tela serve para consultar os saldos de estoque em uma determinada data. Poderão ser aplicados vários filtros, conforme as necessidades do usuário.
Com todos os filtros definidos, determina-se a forma de busca dos saldos e a forma de visualização na tela. Com a data informada, segue abaixo o funcionamento da busca dos saldos:
Tipo de Saldo: Depósito ou Filial
Se foi escolhida a opção filial, pode-se também escolher a forma de visualização: Somar Filiais ou Separar Filiais.
Observação
Se o Tipo de Saldo: "Filial" do selecionado e a forma de Visualização: "Somar Filiais" não aparecerá na grade o campo Filial, caso contrário esta informação permanece.
O funcionamento da tela será da seguinte forma:
- Se o campo Tipo de Saldo estiver definido como "Filial" o campo Mostrar Valor Estoque é desabilitado e o valor de estoque é exibido
- Se o campo Tipo de Saldo estiver definido como "Depósito" o campo Mostrar Valor Estoque é habilitado e se este estiver desmarcado, os dados são exibido na grade com o campo Preço Médio zerado e o campo Valor Estoque oculto
- Se o campo Tipo de Saldo estiver definido como "Depósito" o filtro Mostrar Valor Estoque é habilitado e se este estiver marcado, os dados são exibidos na grade com o campo Preço Médio calculado utilizando o último preço médio do item no depósito, ou seja, o preço médio do último movimento do item no referido depósito é definido como o preço médio do item e o valor do estoque é calculado utilizando-se este preço médio
- Os valores zerados ou calculados para os itens a serem mostrados na grade serão utilizados pelo relatório evitando a ocorrência de divergências entre relatórios e tela
Busca do Saldo
1ª Busca: Inicialmente o sistema precisa buscar a quantidade total de movimentos do tipo ("NO","NR","NB") de todos os produtos existentes na tabela E210MVP e que a data de movimento seja igual ou inferior a data digitada na tela. A tabela base para essa busca é a E210MVP, mas o produto em questão precisa existir na tabela E075PRO também. Como parâmetro, é passado neste momento apenas a empresa ativa no momento, mais "nenhum" parâmetro será visto nesta hora.
Depois de obter o total de movimentos de estoques, existentes, conforme o texto acima, o sistema irá montar a forma de procura dos dados.
2ª Busca: nesta nova busca são pegos todos os campos da tabela E210MVP, passando como parâmetros a empresa, e a data de movimento dos produtos precisa estar no seguinte intervalo: data informada na tela, como sendo a data inicial e data final que será a data informada na tela 4 meses.
data informada tela (data inicial) : 07/08/2003 - data final : 07/04/2003
Neste intervalo serão buscados todos os movimentos conforme as definições informadas na tela, como: produto, derivação, origem, família, depósito(se for o caso), agrupamento do estoque, etc.
Depois destes passos, o sistema verificará o tipo de saldo escolhido pelo usuário: Depósito e/ou Filial.
Nestes itens abaixo,o sistema ficará procurando nos movimentos(conforme a segunda busca) até que o total de movimentos encontrados seja igual ao total de linhas encontradas na busca inicial. Enquanto que esta informação não for verdadeira o sistema voltará sempre de 4 em 4 meses, até que todos os movimentos sejam encontrados e processados.
Depósito
São processados todos os registros retornados na 2º Busca, dividindo os saldos por Filial + Produto + Derivação + Depósito, nunca tendo registros repetidos e os saldos serão calculados da seguinte forma:
QtdAnt := E210MV.QTDANT
VlrAnt := E210MVP.VLRANT
PreMed := E210MVP.PRMEST
Neste momento, também é visto se foi rodado o fechamento de Estoques, pelo campo E210MVP.OBSMVP. Neste campo terá que conter o valor do Preço Médio. Se o preço médio estiver zerado, e foi rodado o fechamento o sistema buscará o mesmo da tabela de Derivações(E075DER).
Se for utilizada a opção Tipo Saldo definida como "Depósito", o valor de estoque e o preço médio serão considerados conforme abaixo:
- Quando o campo Preço Médio Cálculo da tela F211SCD, acessada por meio do botão Seleção, estiver definido como "Último movimento do depósito", o preço médio utilizado será o do produto no último movimento do item no depósito (de cada linha), até a data informada na tela.
- Quando o campo Preço Médio Cálculo da tela F211SCD, acessada por meio do botão Seleção, estiver definido como "Filial", o preço médio utilizado será o do produto no último movimento do item na filial até a data informada na tela independente do depósito, informado ou não no filtro de depósito.
Se o movimento for de Entrada, o sistema fará o seguinte cálculo:
QtdSaldo : QtdAnt + QtdMov.
E se for uma Saída:
QtdSaldo : QtdAnt - QtdMov .
O valor do movimento será:
VlrSaldo := Disponível * PreMed.
Depois todos estes dados são carregados para a grid, fazendo as devidas consistências, como:
- avisar que não foi rodado o fechamento
- carregar ou não na grade movimentos zerados
- ordenar na grid, conforme a escolha na tela
- verificar se o depósito existe
- produtos ativos/inativos/todos.
Filial
São processados todos os registros retornados na 2ª Busca, dividindo os saldos por Filial + Produto + Derivação , nunca tendo registros repetidos e não importando o depósito, os saldos serão calculados da seguinte forma:
QtdSaldo := E210MV.QTDEST
VlrSaldo := E210MVP.VLREST
PreMed := E210MVP.PRMEST
Neste momento, também é visto se foi rodado o fechamento de Estoques, pelo campo E210MVP.OBSMVP. Neste campo terá que conter o valor do Preço Médio. Se o preço médio estiver zerado, e foi rodado o fechamento o sistema buscará o mesmo da tabela de Derivações(E075DER).
Depois todos estes dados são carregados para a grade, fazendo as devidas consistências, como:
- avisar que não foi rodado o fechamento
- carregar ou não na grade movimentos zerados
- ordenar na grade, conforme a escolha na tela
- verificar se o depósito existe
- produtos ativos/inativos/todos
- se foi escolhida a opção somar filiais, todos os resultados serão somados na grid, caso contrário serão divididos.