Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Backoffice
Módulo:SIGAEST - Estoque e Custos
Função:MATA330 - Custo Médio


02. SITUAÇÃO/REQUISITO

Por meio desta rotina, o Sistema calcula o custo médio ou contábil de forma on-line a cada valorização dos estoques dos produtos com base nas novas entradas de matérias-primas somadas aos saldos existentes.

Essa rotina pode ser executada com o Sistema em uso por todos os usuários. Nesse caso, as movimentações que estão acontecendo simultaneamente ao cálculo podem influir no resultado. Para que a rotina seja executada dessa forma, o parâmetro MV_CUSTEXC deve estar com o conteúdo igual a "N".
Outra forma de execução (mais segura) é com o Sistema em modo exclusivo, sem outros usuários utilizando os arquivos necessários ao cálculo. Para que a rotina seja executada dessa forma, o parâmetro MV_CUSTEXC deve estar com o conteúdo igual a "S".
Se o usuário quiser fazer os lançamentos automáticos somente no final do mês/período, deve definir o parâmetro MV_CUSMED com "M". Consulte o manual do módulo Configurador para mais detalhes, assim, o custo médio pode ser refeito através da rotina "Recálculo do Custo Médio" de três formas diferentes:

Sequencial: na ordem em que os movimentos aconteceram.
Diária: pelos movimentos de cada dia. Contempla todos os dias do período selecionado pelo usuário, sendo o início do período o conteúdo do parâmetro MV_ULMES+1 e o conteúdo da pergunta “Data inicial”.
Mensal: pelos movimentos do mês/período. Contempla todos os dias do período selecionado pelo usuário, sendo o início do período o conteúdo do parâmetro MV_ULMES+1 e o conteúdo da pergunta “Data inicial”.

No reprocessamento do custo médio são eliminados todos os lançamentos contábeis já realizados e gerados novamente.
No custo diário/mensal, o Sistema considera primeiro as entradas (compras) e depois as saídas, do período. Vale ressaltar que os movimentos internos respeitam seus níveis e processo e, por esta razão, essa regra não se aplica a esses movimentos.

03. SOLUÇÃO

Exemplo de uso da Rotina Automática para execução do Custo Médio(MATA330):

#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"


User Function JOBM330()
Local lCPParte := .F. //-- Define que não será processado o custo em partes
Local lBat := .T. //-- Define que a rotina será executada em Batch
Local aListaFil := {} //-- Carrega Lista com as Filiais a serem processadas
Local cCodFil := '' //-- Código da Filial a ser processada
Local cNomFil := '' //-- Nome da Filial a ser processada
Local cCGC := '' //-- CGC da filial a ser processada
Local aParAuto := {} //-- Carrega a lista com os 21 parâmetros

ConOut(Repl("-",80))
ConOut(PadC("Rotina Recalculo Custo Medio",80))
ConOut(PadC("Conectando Ambiente.....",80))

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "EST" TABLES "AF9","SB1","SB2","SB3","SB8","SB9","SBD","SBF","SBJ","SBK","SC2","SC5","SC6","SD1","SD2","SD3","SD4","SD5","SD8","SDB","SDC","SF1","SF2","SF4","SF5","SG1","SI1","SI2","SI3","SI5","SI6","SI7","SM2","ZAX","SAH","SM0","STL"

ConOut(PadC("Ambiente Conectado com Sucesso...",80))
ConOut(Repl("-",80))

Conout("Início da execução do JOBM330")

//-- Adiciona filial a ser processada
dbSelectArea("SM0")
dbSeek(cEmpAnt)

Do While ! Eof() .And. SM0->M0_CODIGO == cEmpAnt

cCodFil := SM0->M0_CODFIL
cNomFil := SM0->M0_FILIAL
cCGC := SM0->M0_CGC
//-- Somente adiciona a Filial 01
If cCodFil == "01"

//-- Adiciona a filial na lista de filiais a serem processadas
Aadd(aListaFil,{.T.,cCodFil,cNomFil,cCGC})

EndIf
dbSkip()

EndDo

//-- Executa a rotina de recálculo do custo médio
MATA330(lBat,aListaFil,lCPParte, aParAuto)
ConOut("Término da execução do JOBM330")

Return

04. DEMAIS INFORMAÇÕES

  • aListaFil,{PARAMIXB[1],PARAMIXB[2],PARAMIXB[3],PARAMIXB[4]})
NomeTipoDescriçãoDefaultObrigatório
PARAMIXB[1]LógicoExecução em Batch?: .T.(Sim) / .F.(Não).
X
PARAMIXB[2]Vetor

Lista com as filiais a serem consideradas (Batch).


X
PARAMIXB[3]LógicoUsa custo em partes?: .T.(Sim) / .F.(Não).

PARAMIXB[4]ArrayColeção de elementos contendo os parâmetros de execução da rotina

  • Parâmetros:

    aParAuto :
    MV_PAR01 = Data Limite Final
    MV_PAR02 = Mostra lanctos. Contábeis
    MV_PAR03 = Aglutina Lanctos Contábeis
    MV_PAR04 = Atualizar Arq. de Movimentos
    MV_PAR05 = % de aumento da MOD
    MV_PAR06 = Centro de Custo
    MV_PAR07 = Conta Contábil a inibir de
    MV_PAR08 = Conta Contábil a inibir até
    MV_PAR09 = Apagar estornos
    MV_PAR010 = Gerar Lancto. Contábil
    MV_PAR011 = Gerar estrutura pela Moviment
    MV_PAR012 = Contabilização On-Line Por
    MV_PAR013 = Calcula mão-de-Obra
    MV_PAR014 = Método de apropriação
    MV_PAR015 = Recalcula Nível de Estrut
    MV_PAR016 = Mostra sequência de Cálculo
    MV_PAR017 = Seq Processamento FIFO
    MV_PAR018 = Mov Internos Valorizados
    MV_PAR019 = Recálculo Custo transportes
    MV_PAR020 = Cálculo de custos por
    MV_PAR021 = Calcular Custo em Partes

05. ASSUNTOS RELACIONADOS

  • Não há.