Árvore de páginas

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

NomeTipoDescriçãoObrigatórioRetorno
PARAMIXBVetor

Vetor contendo o custo médio do produto para as 5 moedas.
PARAMIXB[1] = Custo Moeda 1;
PARAMIXB[2] = Custo Moeda 2;
PARAMIXB[3] = Custo Moeda 3;
PARAMIXB[4] = Custo Moeda 4;
PARAMIXB[5] = Custo Moeda 5.

SimVetor


RETORNO

NomeTipoRetorno
aRetVetor

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

MA330C3 (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).

ProdutoArmazémQtd.Inic.MesSld.Ini.Mes
00000101100.000,0035.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).

TMProdutoQuantidade
5010000011


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)
034.999,650,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 SB2Resultado Campos a ser gravados
Sld.Ini.Mes(35.000,00) - Valor incluído no ponto de entrada aRet(100)34.900,00Vlr.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)
00000134.900,0034.999,65 0,35


04. ASSUNTOS RELACIONADOS

  • Não se aplica