Skip to content

Tag-icone-mini.png Análise

Análise
Projeto 1661
Data da Análise: 22/04/2014

Projeto ​

Requisito ​

O cliente em janeiro de 2013 passou a ser substituto ganhando como crédito os valores de ICMS e ST de todos os produtos substituídos do estoque. Só que este valor não foi lançado no custo do estoque e o cliente precisa que ele seja abatido do custo destes produtos no inventário.

Para visualizar o requisito na íntegra acesse o sistema de projetos.

Detalhamento ​

Este projeto consiste em permitir que sejam realizados ajustes no custo médio dos produtos a partir de informações importadas de uma planilha passada pelo cliente para uma nova tabela de Ajustes de Custo Médio, que guardará qual o valor a ser abatido/acrescido do valor do estoque de determinado produto em determinada data.

Para isto precisaremos criar uma nova tabela de ajustes de custos e tratar a mesma nos procedimentos de cálculo de custo médio e nas visualizações de custo médio no sistema. Após isto importaremos os dados da planilha para esta nova tabela e reprocessaremos o custo médio destes produtos.

Serão necessárias as seguintes alterações:
- Estrutura Banco de Dados: Criação da tabela para ajustes de custo
- Alteração Cálculo Custo
- Alteração views Custo Médio (TV_CUSMED e TV_CUSMEDGRU)
- Importação da Planilha e recalculo

Escopo ​

A nova tabela não contará com ajustes de quantidade de estoque, apenas no valor.

Cenário ​

Alteração solicitada pelo cliente Papel & Cia, mas poderá ser utilizada em todos os clientes caso necessário.

Nova tabela de Ajustes de Custo Médio ​

Especificação para tarefa(s): 93048

Definição das colunas da nova tabela de Ajustes no Custo Médio [TT_ACM].
Os dados inseridos nesta tabela serão utilizados no cálculo e visualização do custo médio dos produtos.
Ela será populada através da importação de uma planilha passada pelo cliente.

TT_ACM ​

ColunaPrecisãoNullDefaultDescrição
CODFILCHAR(3)NOT NULL-X-Código da Filial
SEQUENCHAR(10)NOT NULL-X-Sequenciador
SITMOVCHAR(1)NOT NULLNSituação
FILUSUCHAR(3)NOT NULL-X-Filial do Usuário
CODUSUCHAR(3)NOT NULL-X-Código do Usuário
FILMATCHAR(3)NOT NULL-X-Código da Filial do Produto (Filial do Produto)
CODMATCHAR(5)NOT NULL-X-Código do Produto
CODCORNUMERIC(5,0)NOT NULL-X-Código da Divisão
CODTAMNUMERIC(5,0NOT NULL-X-Código da Subdivisão
DATINCDATENOT NULL-X-Data da Inclusão
ATU_EMDATENOT NULL-X-Data da Última Atualização (Data da Atualização)
DATAJUDATENOT NULL-X-Data do Ajuste
VLRAJUNUMERIC(16,4)NOT NULL0Valor do Ajuste
DOCUMECHAR(17)NULL-X-Documento
ORD_CMNUMERIC(10,0)NULL-X-Ordem Custo Médio
TOT_CMNUMERIC(16,4)NULL-X-Valor Total CM no momento do lançamento (Valor Total CM)
TOTCMGNUMERIC(16,4)NULL-X-Valor Total CM gerencial no momento do lançamento (Valor Total CM ger.)
SAL_CMNUMERIC(16,4)NULL-X-Saldo CM no momento do lançamento (Saldo CM)
OBSERVVARCHAR(4000)NULL-X-Observação

Domínios:

ColunaValorDescrição
SITMOVNNormal
SITMOVCCancelado

Check constraints:
- FK relacionando CODFIL com PK da TD_FIL
- FK relacionando FILMAT,CODMAT,CODCOR e CODTAM com PK da TT_GRA
- FK relacionando FILUSU e CODUSU com PK da TT_USU
- CK para campo SITMOV, permitindo apenas "N" ou "C"

Tratamentos especiais para trigger:
- Popular FILUSU e CODUSU utilizando o "QuemLogou" (verificar outras triggers para exemplo)

Alteração no Cálculo do Custo Médio ​

Especificação para tarefa(s): 93049

Existe uma função do sistema responsável por calcular o custo médio de um único produto ou de uma filial inteira. Será necessário alterar esta função para que considere os dados inseridos na nova tabela de Ajustes de Custo Médio [TT_ACM].

Especificação Técnica ​

Tratar função CalculaCustoMedio para que considere os valores de ajustes inseridos na nova tabela TT_ACM.

1-) Tratar cursor "Lancamento", incluindo novo UNION ALL para tabela de ajustes (TT_ACM).

  • Quantidade é zerada
  • Usar novo TIPMOV ("A" - Ajuste)
  • Usar ORDEM_LAN com valor 2. Esta ordem é utilizada para que, dentro de um mesmo dia, se considere primeiramente as compras, depois das entradas/ saídas de transferência, depois as vendas, e assim por diante.
  • Acrescentar "um" nas ordens posteriores. Ex: onde ORDEM_LAN for 3, colocar 4.
  • Alterar tratamento do vORDEMLAN = 2 para vORDEMLAN = 3

2-) Calcular valor do estoque para o novo TIPMOV = 'A' e atualizar colunas ORD_CM, TOT_CM, TOTCMG e SAL_CM da TT_ACM. A quantidade em estoque do custo médio não sofrerá alterações, apenas o valor. Ao final, verificar se TR_MOV e TT_SAL são atualizadas corretamente.

  • Realizar o tratamento de forma semelhante ao que é feito para cada tipo de movimentação (Vendas, Compras, Lançamento Avulso). Este tratamento é realizado dentro do loop do cursor de lançamentos.
  • Tratar para receber valores de ajuste negativos e positivos.

Alteração de views Custo Médio ​

Especificação para tarefa(s): 93050

Backoffice - Principal >>> Produtos >>> Histórico >>> aba Custo Médio

Existem duas views para visualização do histórico do Custo Médio do produto, utilizadas na tela de Histórico de Produtos. Será necessário alterá-las para que passem a considerar as informações presentes na nova tabela de Ajustes de Custo Médio [TT_ACM].

Especificação Técnica ​

TV_CUSMED: Criar novo UNION ALL buscando as informações da nova tabela de ajustes. Colocar como descrição do campo NATURE a expressão "AJUSTE DE CUSTO MÉDIO".

TV_CUSMEDGRU: Tratar locais e onde é verificado o TIPMOV para que pegue os valores da tabela de ajuste caso seja "A" (Ajuste). Para isto, adicionar relacionamento com a TT_ACM, semelhante ao que é feito com a TT_LAN e TT_IVE.

Importação da Planilha e Recálculo ​

Especificação para tarefa(s): 93051

O cliente irá elaborar uma planilha com os valores de ajustes necessários para cada produto/data. A importação desta planilha para a nova tabela será realizada por algum consultor ou alguém da área de desenvolvimento. Terminada a importação, deverá ser feito o recálculo do custo médio para os produtos afetados. Para isto, deve-se setar a flag e data de cálculo do custo médio dos produtos afetados.