01.
...
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
VISÃO GERAL
Esta implementação tem como finalidade disponibilizar de forma nativa o processamento da rotina saldo Atual para Final por execução automática.
Aviso |
---|
|
- Esse recurso só esta disponível para versões superiores a Release 12.1.27 do Protheus.
|
02. EXEMPLO DE UTILIZAÇÃO
Deck of Cards |
---|
id | Parâmetros |
---|
effectType | fade |
---|
|
Card |
---|
id | 1 |
---|
label | Configuração do ExecAuto |
---|
effectType | fade |
---|
|
|
...
| #INCLUDE "RWMAKE.CH" #INCLUDE "TBICONN.CH" User Function
|
|
...
...
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 |
|
...
ConOut(Repl("-",80)) ConOut(PadC(" |
|
...
Saldo Atual para Final",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 |
|
...
JOBM350") //-- 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
|
|
...
...
...
...
cUserNameJ) ConOut("Término da execução do |
|
...
...
04. DEMAIS INFORMAÇÕES
...
Nome | Tipo | Descrição | Default | Obrigatório | 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 |
|
|
...
Se esta utilizando Board de Custo : .T.(Sim) / .F.(Não). |
|
| PARAMIXB[4] |
|
|
...
Objeto | Se esta utilizando Board de Custo o preenchimento será automático |
|
| PARAMIXB[5] | Caractere | Caso acione por stard Job Sem usuário pode ser informado. |
|
|
|
|
04. TABELAS UTILIZADAS
05. PARÂMETROS UTILIZADOS
HTML |
---|
<!-- esconder o menu -->
<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>
|
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
...