Histórico da Página
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
Para os cenários descritos é possível utilizar o parâmetro "MV_PERDINF" que foi implementado para atender aos casos de perda nos apontamentos de produção. Seu objetivo é identificar qual o conceito deve ser aplicado ao processo de apontamento de produção, quando for informada a quantidade de perda.
#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 := 'D MG 01' //-- Código da Filial a ser processada
Local cNomFil := 'Filial BELO HOR' //-- Nome da Filial a ser processada
Local cCGC := '01' //-- 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"
Conout("COMECOU A ADD FILIAL NA LISTA DE FILIAL")
//-- 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]})
Nome | Tipo | Descrição | Default | Obrigatório | Referência |
PARAMIXB[1] | Lógico | Execução em Batch?: .T.(Sim) / .F.(Não). | X | ||
PARAMIXB[2] | Vetor | Lista com as filiais a serem consideradas (Batch). | X | ||
PARAMIXB[3] | Lógico | Usa custo em partes?: .T.(Sim) / .F.(Não). | |||
PARAMIXB[4] | Array | Coleçã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á.
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |