01. DADOS GERAIS
Produto: |
TOTVS Backoffice
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Backoffice |
Módulo: | TOTVS Backoffice (Linha Protheus) - Estoque e Custos (SIGAEST)
|
Função: | RECALCULO DO CUSTO MÉDIO (MATA330) |
País: | Brasil |
02. DESCRIÇÃO
LOCALIZAÇÃO: Function A330Recalc - Função utilizada para recalcular o custo médio dos movimentos.
EM QUE PONTO: O Ponto de entrada MA330C3 tem a finalidade de alterar o custo médio final das movimentações nas cinco moedas. É utilizado após a gravação dos movimentos SD3 (Movimentações Internas) e a devida atualização do saldo SB2 (Saldos Físico e Financeiro).
OBSERVAÇÃO: Os tipos DE4 (Devolução de transferência entre locais) e DE7 (Devolução de transferência de um para "N") são desconsiderados na execução do ponto de entrada.
Atenção: O ponto de entrada é executado após atualização movimentos internos (SD3) e antes da atualização Saldos Físico e Financeiro (SB2) . Ao executar a rotina recálculo do custo médio (MATA330) com o ponto de entrada, o retorno do array será adicionado no campo B2_VFIM1, se o movimento for uma DE e subtraído do B2_VFIM1 se o movimento for uma RE. Os campos variam no array de acordo com a moeda, sendo a moeda 1 padrão e os demais campos de acordo com as moedas configuradas no sistema. O tratamento de moedas deve ser considerados na lógica de preenchimento do array. O valor B2_VFIM1,B2_VFIM2,B2_VFIM3,B2_VFIM4 e B2_VFIM5 será utilizado para o processo de fechamento do estoque, este valor será transferido para o valor no início do próximo período, portanto o preenchimento da moeda no array deve ser compatível com o que é utilizado no sistema. Caso não utilize outras moedas e informar o valor no array estes serão atualizados nos campos correspondentes na tabela SB2. |
---|
03. DEMAIS INFORMAÇÕES
PARÂMETRO
Nome | Tipo | Descrição | Obrigatório | Retorno |
---|---|---|---|---|
PARAMIXB | Vetor | Vetor contendo o custo médio do produto para as 5 moedas. | Sim | Vetor |
RETORNO
Nome | Tipo | Retorno |
---|---|---|
aRet | Vetor | aRet[1] = B2_VFIM1 aRet[2] = B2_VFIM2 aRet[3] = B2_VFIM3 aRet[4] = B2_VFIM4 aRet[5] = B2_VFIM5 |
EXEMPLO DE UTILIZAÇÃO ADVPL
#Include 'totvs.ch' User Function MA330C3() Local aCusto := PARAMIXB Local aRet := aCusto Local cMoeda := SuperGetMv('MV_MOEDACM',.F.,"2345") // Validações do Usuário If SD3->D3_COD = "000001" If Alltrim(SD3->D3_CF) == "RE0" .Or. Alltrim(SD3->D3_CF) == "DE0" aRet[1] := 100 // Custo Moeda 1 (B2_VFIM1) If "2" $ cMoeda aRet[2] := 0 // Custo Moeda 2 (B2_VFIM2) EndIf If "3" $ cMoeda aRet[3] := 0 // Custo Moeda 3 (B2_VFIM3) EndIf If "4" $ cMoeda aRet[4] := 0 // Custo Moeda 4 (B2_VFIM4) EndIf If "5" $ cMoeda aRet[5] := 0 // Custo Moeda 5 (B2_VFIM5) EndIf EndIf EndIf Return aRet
Exemplo de uma requisição (RE) com o uso do ponto de entrada na moeda 1.
Esse cenário vai ser gerado uma movimentação interna(MATA241) RE0, com o tipo de movimentação que controla estoque.
Passo 1: Gerar saldo inicial para o produto com quantidade inicial mês 100.000,00 e saldo inicial mês de 35.000,00.
Saldo Iniciais(MATA220).
Produto | Armazém | Qtd.Inic.Mes | Sld.Ini.Mes |
---|---|---|---|
000001 | 01 | 100.000,00 | 35.000,00 |
Passo 2: Gerar um movimento interno, com tipo de movimentação (TM), que controla estoque e com quantidade 1.
Movimentação Interna(MATA241).
TM | Produto | Quantidade |
---|---|---|
501 | 000001 | 1 |
Como vai ficar os campos da tabela de Saldos Físicos e Financeiro (SB2), após a movimentação interna.
Vlr.Final (B2_VFIM1) | Sld.Atu. (B2_VATU1) | C Unitario (B2_CM1) |
---|---|---|
0 | 34.999,65 | 0,35 |
Passo 3: Rodar a rotina acompanha custo (MATA038).
Será realizado o seguinte cálculo.
O ponto de entrada vai atuar nesse momento do cálculo, subtraindo o Sld.Ini.Mes de valor 35.000,00 pelo valor 100,00 informado no aRet[1] do ponto de entrada.
Cálculo realizado SB2 | Resultado | Campos a ser gravados |
---|---|---|
Sld.Ini.Mes(35.000,00) - Valor incluído no ponto de entrada aRet(100) | 34.900,00 | Vlr.Final (B2_VFIM1) |
No final do acompanha custo (MATA038), as tabelas Saldos Físico e Financeiro (SB2) apresentará o seguinte resultado.
Produto (B2_COD) | Vlr.Final (B2_VFIM1) | Sld.Atu. (B2_VATU1) | C Unitario (B2_CM1) |
---|---|---|---|
000001 | 34.900,00 | 34.999,65 | 0,35 |
04. ASSUNTOS RELACIONADOS
- Não se aplica