Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Table Filter
id1555950536794_280687455

Produto:

Protheus 12

Versões

P12

Ambiente

 SIGAEST - Estoque e Custos.

Descrição

Este documento tem como objetivo apoiar na analise e solução de incidentes na valorização, performance, stored procedures, mensagens e erros no recalculo do Custo Médio.

Consultoria de CustosCaso o incidente ainda persista mesmo após todas as analises e verificações deste documento, será necessário realizarmos uma consultoria de Custos / Performance.
AtençãoNo painel abaixo você irá encontrar todas as informações necessárias para atualização completa da rotina, procedimentos para analise de resultados, configurações e parametrizações, além de diversos documentos e informações sobre custos.


PAINEL - Selecione a informação que deseja Visualizar.

Deck of Cards
startHiddenfalse
effectDuration0.5
idCusto Médio
effectTypehorizontal
loopCardstrue
Card
defaulttrue
idCusto Médio
labelPacote Atualização

PACOTES DE ATUALIZAÇÃO

Como Atualizar a rotina de Custo Médio (MATA330) e suas Stored Procedures

Todos os pacotes estão disponíveis em nossa central de downloads (suporte.totvs.com.br), abaixo segue o link direto para atualização:

Solução:

      Aplicar os pacotes de correção disponíveis nos links abaixo aceitando os programas mais atualizados:

Pacote de Fontes ADVPL da Rotina:  

12.1.17: Pacote de Fontes ADVPL25: https://suporte.totvs.com/portal/p/10098/download?e=765075 

Rotina:  12.1.23: https://suporte.totvs.com/portal/p/10098/download?e=740820765074 

12.1.17https://suporte.totvs.com/portal/p/10098/download?e=765073


- Pacote de Stored Procedures

12.1.23:https://suporte.totvs.com/portal/p/10098/download?e=758576 

12.1.17Procedure:https://suporte.totvs.com/portal/p/10098/download?e=734145758575 

Importante: Copiar o pacote P12_19.SPS na pasta SYSTEM e reinstale as Stored Procedures através do modulo Configurador (SIGACFG)


AVISO: Obrigatória a aplicação dos pacotes contidos nos Link 1 (Pacote PTM) e Link 2 (Stored Procedures)

    • Para a correta atualização da rotina aplique no ambiente o pacote de rotinas (*.ptm) e na sequencia reinstalar as stored procedures (pacote P12_19.SPS), porem não se esqueça de copiar o arquivo P12_19.SPS na pasta "System" de seu ambiente.

      (ideia) COMO INSTALAR AS STORED PROCEDURES ?
      No link abaixo voce irá encontrar o passo-a-passo de como como instalar as stored procedures da rotina de Custo Médio
      http://tdn.totvs.com/display/PROT/PEST06018+-+MATA330+-+Stored+Procedures+utilizadas+no+produto+Estoque+e+Custos+-+Como+Instalar+Procedures

    • Este conjunto de atualização da rotina de Custo Médio (MATA330) e o pacote estabilizado e validado pelo nossa equipe de desenvolvimento, porem pontualmente podem existir pacotes mais recentes em processo de validação.

(aviso) Foram disponibilizados novos Binários e DbAccess no Portal do cliente que possuem melhorias significativas de performance, acesse www.suporte.totvs.com.br baixe os arquivos e atualize seu ambiente.


Ultimas Atualizações:

MENSAGEM

Data Liberação

Criado parâmetro para sequenciar do retorno do beneficiamento (quando beneficiador) de acordo com as preferências do cliente.

Adicionado tratamento para produto MOD no controle de threads da procedure.

Adicionado tratamento que força a execução de apenas uma thread na gravação do arquivo de trabalho quando o custo é unificado por empresa (MV_CUSFIL = E).
18/01/2019
Retirado o tratamento de arredondamento em ciclo acumulativo e não gerar resticios de valores que geram divergência.16/11/2018
Ao reprocessar a rotina de custo médio utilizando custo em partes é exibida mensagem de Error.Log referente a estouro de campo "Data With Error".04/10/2018

Ao reprocessar a rotina de custo médio utilizando o custo unificado por empresa ou filial verificou-se uma diferença de valores entre os saldos
de fechamento e movimento, para equalizar os saldos recomendo a aplicação do pacote contido no Link 2.

25/09/2018
A Contabilização do Custo Médio não estava sendo gravada na tabela CT2 quando utilizado o processo com threads (MV_M330THR > 1 )17/09/2018
Correção do Custo em Partes para movimentos de transferência entre Filiais.19/07/2018

Correção do Help CT2_TPSALD para não reprocessar os movimentos contábeis tipo 9 (Issue DMANMAT01-10616).

06/07/2018

Correção no calculo dos movimentos internos de transferências entre armazéns (D4/RE4), onde a rotina não estava calculando o custo quando a tabela
SD3 é utilizada de forma compartilhada por filial.

06/07/2018

Correção no calculo dos movimento de vendas (SD2) que estavam sendo valorizados com custo a maior que o custo médio do armazém, 
quando o movimento zera o saldo em estoque.

27/06/2018

Correção do error.log apresentado no momento da execução da rotina de Custo Médio.
Ocorrência: Alias already in use: TRB on A330CRIATRB(MATA330.PRX)

22/06/2018

Correção dos custos de produção (movimentos de estoque DE0/RE0, DE1/RE1, PR0/PR1) que devido a problemas na ordenação de 
processamento estava gerando custo negativos, zerados e divergentes no Kardex.

21/06/2018

Correção dos custos unificado por Filial - MV_CUSFIL = F ou MV_CUSFIL = E
Recomendamos a aplicação para clientes que possuem divergência de custos (negativos, zerados e quantidade)

13/06/2018



Card
defaulttrue
idCusto Médio
labelComo Melhorar Performance

COMO MELHORAR A PERFORMANCE


(concordo) Documentos explicativos para ajudar na configuração da rotina para otimizar seu processamento:

Como Melhorar a performance da rotina de Custo Médio (MATA330)
http://tdn.totvs.com/pages/viewpage.action?pageId=336404235

Documento com dicas sobre como melhorar a performance de seu ambiente
http://tdn.totvs.com/pages/viewpage.action?pageId=274854325

WorkShop sobre como melhorar a performance das rotinas de processamento
http://tdn.totvs.com/download/attachments/336404235/Performance%20Rotinas%20Fechamento%20de%20Estoque%20-%202014%20v01.pdf?api=v2

Card
defaulttrue
idCusto Médio
labelComo Analisar Seus Custos

COMO ANALISAR SEUS CUSTOS


Abaixo segue o passo-a-passo para analisar e solucionar incidentes na rotina de Custo Médio.


1) Primeiramente verifique se sua rotina de Custo Médio (MATA330) esta atualizada, abaixo segue nossa página de atualização.

(ideia)http://tdn.totvs.com/pages/viewpage.action?pageId=384583702


2) Certifique que o tamanho e decimais dos campos de custo médio estão configurados de forma correta para seu ambiente produtivo, para ajudar nesta avaliação desenvolvemos a documentação abaixo:

http://tdn.totvs.com/display/PROT/PEST06012+-+MATA330+-+Como+aumentar+a+quantidade+de+Casas+Decimais+para+os+campos+de+CUSTOS

(aviso) Importante: A configuração incorreta dos campos de custo médio pode gerar diferenças de valores no resultado de relatórios (ex. Kardex, Posição de Estoque, Registro de inventario e outros)


3) Coletar o conteúdo dos parâmetros:

Certifique que os parâmetros SX6 envolvidos no processo de apuração e calculo do custo médio estão configurados da melhor forma possível para seu ambiente produtivo, para conhecer os parâmetros envolvidos no processo de calculo do custo médio acesse a documentação disponibilizada no link abaixo:

http://tdn.totvs.com/pages/viewpage.action?pageId=340362132

(aviso) Importante: A configuração incorreta dos parâmetros SX6 envolvidos no processo de valorização do custo médio irá afetar diretamente seu resultado.


4)  Verificar se utiliza o seu ambiente possui o pacotes de Stored Procedures instalados

Para saber se o seu ambiente possui stored procedures da rotina de custo médio acesse o link abaixo com o explicativo de como consulta-losseus pacotes de stored proceddures.

http://tdn.totvs.com/display/PROT/PEST06018+-+MATA330+-+Stored+Procedures+utilizadas+no+produto+Estoque+e+Custos+-+Como+Instalar+Procedures


5) Enviar data da rotina MATA330, Build, DbAccess, Lib e Versão utilizados, após acessar a rotina e pressionar Shift+F6 no teclado e clicar em avançar.


Versão do Binario/Appserver: 
Build:

Release do RPO: 
Versão da Lib:

Importante: Para esta ação você pode printar a tela abaixo que contem as informações


Data dos Fontes:

MATA330.PRX
CFGX051.PRW:
SIGACUS.PRW:
M330JCTB.PRX:
MATXFUNA.PRX:
MATXFUNB.PRX:
MATXFUNC.PRX:
SIGACUSA.PRX:
SIGACUSB.PRX:

Importante: Para esta ação você utilizar o botão "Exportar Dados" e salvar todas as datas de fontes para encaminhar para o time de suporte técnico.

6) Enviar as respostas dos parâmetros SX1 antes da execução da rotina MATA330.


Perguntas SX1 da rotina de Custo Médio (MATA330)

Data Limite Final ? 
Mostra Lanctos. Contabeis ?  
Aglutina Lanctos. Contabeis ?
Atualizar Arq. de Movimentos ?
% de Aumento da MOD ?      
Centro de Custo ?            
Conta Contabil a Inibir de ? 
Conta Contabil a Inibir Ate ?
Apagar Estornos ?    
Gerar Lancto. Contabil ?     
Gerar Estrut.pela Moviment. ?
Contabilizacao On-Line Por ?
Calcula Mao-de-Obra ?        
Metodo de Apropriacao ?      
Recalcula Niveis da Estrut. ?
Mostra Sequencia do Calculo ?
Seq Processamento FIFO ?     
Mov Internos Valorizados ?   
Recalcula custos Transportes ?
Calculo de custos por ?      
Calcular Custo em Partes ?   

        
7) Ao executar a rotina de Recalculo do Custo (MATA330) ocorre recursividade na base de dados?

Caso afirmativo deverá executar o relatório MATR331 (“Analise de Recursividade”) e somente após acertar a recursividade dever á executar novamente a rotina de custo médio (MATA330).


8)  Emissão do relatório Kardex (MATR900) do produto para análise dos custos, impresso da seguinte forma:

O melhor relatório para avaliar resultado do custo médio de um determinado produto em seu estoque e o "KARDEX (MATR900)" devido sua construção voltada para apuração de calculo, por esse motivo recomendamos sua utilização.

 

Quanto utilizar Custo por Filial (Parâmetro MV_CUSFIL = F ) - Configure as perguntas conforme abaixo:


Quando utilizar Custo por Armazém (Parâmetro MV_CUSFIL = A) - Configure as perguntas conforme abaixo:


Data inicial: Data do último fechamento de estoque + 1 dia. Exemplo: último fechamento de estoque em 31/03, data inicial do relatório 01/04.

Data final: Data limite utilizada no processamento do recálculo do custo médio.

- Sequência de impressão: Cálculo

- Verificação do parâmetro MV_CUSFIL. Caso esse esteja configurado como A, imprimir o Kardex apenas do armazém analisado. Caso esteja configurado como F, imprimir o Kardex com a informação ** no campo armazém. Caso esteja como E, imprimir o relatório de todas as filiais, considerando ## no campo armazém.

- Imprimir o relatório dos três últimos períodos em formato PDF com a página dos parâmetros informados.

Somente para um único item que será analisado.

Importante: O parâmetro MV_DBLQMOV deve estar configurado com a data do último dia do período em validação, neste exemplo 30/04 (Último dia do mês que esta sendo processado)


9) Em caso de custos incorretos verificar os seguintes detalhes:

- Custo médio unitário do Armazém = B2_CM1 (Observar valores elevados para este campo, pois esta ocorrência pode distorcer o custo e ate ocasionar estouro de campo no processamento da rotina de custo médio)

- Observar sempre o Saldo inicial (SB9) oriundo do ultimo fechamento de estoque, pois a causa do problema pode estar no período anterior (Fechamento passado).

- Verificar na tabela SB9 possui registros deletados, caso afirmativo verificar se o custo incorreto é referente à Ordem de Produção se for verificar se o ocorreu reabertura de estoque. Se isso aconteceu o cliente devera solicitar auxilio de analista in loco pois não é procedimento padrão a reabertura de estoque para clientes que possuem ordem de produção.


10) Ordenação dos movimentos após execução do recalculo do custo médio.

Ao executar o recálculo com a opção Mostra Sequencia de Cálculo como SIM, irá verificar em tela o arquivo de trabalho gerado pelo recálculo do custo médio para ordenação das movimentações, seguindo a ordenação abaixo:

Data Base / Seq. De Processamento / Ordem de Processamento / Nível do Produto / Nível do Movimento Interno / Chave para Ordenação / Número Sequencial.       -> Imprimir Print desta tela

Caso a ordenação dos movimentos não atenda o processo da empresa, sugerimos a utilização do parâmetro MV_SEQ300, porém persistindo a ocorrência quanto a ordenação, poderá utilizar o ponto de entrada MA330TRB para alterar a ordenação conforme necessidade.   -> Caso contrário descrever a ordenação dos movimentos desejados.


11)  Se produto acabado favor do tipo “PA” ou “PI” enviar o relatório MATR860 para a OP (Ordem de Produção) que deu origem ao movimento divergente.

O p c i o n a l p a r a a c e r t o :

Para realizar o acerto do custo dos produtos em estoque devemos executar os passos abaixo:

a) Antes de começar qualquer acerto, executar Acerto de Saldo Atual e Refaz Acumulados

b) Incluir dois tipos de movimentação via MATA230:

• Tipo TM = Devolução / Valorizado (F5_VAL) = SIM / Qtd. Zero (F5_QTDZERO) = SIM

• Tipo TM = Requisição / Valorizado (F5_VAL) = SIM / Qtd. Zero (F5_QTDZERO) = SIM

c) Verificar via SB2, no campo B2_VATU o valor dos produtos em estoque. Estes campos armazena o valor total do produto em estoque da quantidade informada no campo

B2_QATU1. Sendo assim o valor unitário do produto seria B2_VATU1 / B2_QATU. Exemplo:

B2_QATU = 100,00, B2_VATU = 200,00, o custo unitário é 2,00.

d) Após verificar o valor que consta na SB2, e ter definido o valor correto, incluir uma movimentação interna com o tipo de movimentação criada anteriormente, informando o valor a requisitar ou devolver no campo D3_CUSTO1. Na rotina MATA240


Exemplo:

1- O valor correto em estoque deveria ser 100,00. Neste caso devemos requisitar o valor do estoque, então utilizar o movimento de requisição cadastrado anteriormente. No D3_CUSTO1 informar o valor a requisitar: 100,00
Após a movimentação o saldo no campo B2_VATU1 será de 100,00.


2- O valor correto em estoque deveria ser 400,00. Neste caso devemos devolver valor ao estoque, então utilizar o movimento de devolução cadastrado anteriormente. No D3_CUSTO1 informar o valor a devolver 200,00 Após a movimentação o saldo no campo B2_VATU1 será de 400,00.
Após estes acertos o custo do produto em estoques estará correto.


Card
defaulttrue
idCusto Médio
labelParâmetros Configuração

PARÂMETROS DE CONFIGURAÇÃO


Abaixo segue os principais parâmetros utilizados no calculo e apuração do custo médio do produto.

Parametros utilizados no Calculo do Custo do ProdutoParâmetros utilizados no processo de Fechamento de EstoqueParâmetros para ganho de Performance

Outros

MV_CUSFIL
Parâmetro utilizado para verificar se o sistema utiliza custo unificado por:

F = Custo Unificado por Filial|
E = Custo Unificado por Empresa
A = Custo Unificado por Armazém

MV_M330THR (Limite de 30 threads)
Quantidade Threads para execução da rotina.
Define o numero de threads que serão utilizadas na rotina de recalculo do custo médio (informar os números de 1 a 30 threads).
IMPORTANTE: Ao aumentar o numero de threads o administrador de infraestrutura devera verificar durante a execução da rotina se a quantidade de threads esta de acordo com a capacidade de seu ambiente.

MV_ALMTERC - Veja também (boletim)

Indica se armazém é um armazém de terceiros          

MV_CUSZERO

Se a quantidade final do Periodo for igual a Zero, devera Zerar Custo do Movimento. Sim ("S") ou Não ("N")

MV_ULMES

Indica a data ultimo fechamento do estoque.

MV_MUDATRT

Indica se devera alterar o nome físico das tabelas temporárias utilizadas nas SP's T=Alterar F=Não alterar

MV_CONTERC - Veja também (boletim)

Indica se devera controlar o armazém de terceiros ( T = Controla / F = Nao Controla )

MV_CUSREP

Indica se deve calcular o custo de reposição (T=Calcular / F=Nao Calcular )

MV_CUSTEXC

Determina o modo de recalculo do custo médio, se exclusivo (S), só uma estação utilizando o sistema ou compartilhado (N).

MV_A330GRV boletim desse relatório (MV_A330GRV)

Somente os produtos e armazéns que possuem movimentação de estoque dentro do período de processamento e que, também, não possuem quantidades e custos zerados, terão seus saldos iniciais recalculados. Os produtos que não se enquadram nesta regra (obsoletos) não são recalculados pela rotina.Sim ("S") ou Não ("N")

MV_ESTNEG

Identifica se o sistema permitira que os saldos em estoque dos produtos fique negativo através de movimentação. Conteúdo deve ser (S)Sim ou (N) Não.

MV_SEQ300 - Veja também (boletim)

Indica se deve sequenciar a ordem 300 do arquivo de trabalho da rotina de recalculo do custo médio (T=Seqüenciar / F=Não Seqüenciar )

MV_DBLQMOV

Data para bloqueio de movimentos. Não podem ser alterados / criados / excluídos movimentos com data menor ou igual a data informada no parâmetro.

MV_A330190

Ativa ou desativa o processamento contábil de saldos executados nas rotinas Recálculo de Custo Médio e Contabilização do Custo Médio. S (Sim): Ativa o reprocessamento contábil dos saldos. N (Não): Não executa o reprocessamento contábil dos saldos.

MV_LOCALIZA

Indica se produtos poderão usar controle de localização física ou não. (S)Sim ou (N)Não.

MV_SEQ500

Indica se deve sequenciar a ordem 500 do arquivo de trabalho da rotina de recalculo do custo médio (T=Seqüenciar / F=Não Seqüenciar )

MV_CUSMED

Utilizado para selecionar o método contabilização de custos dos movimentos de estoque. Sendo: (O -> On Line / M -> Mensal )

MV_PROCCV3

Habilita a gravação da tabela CV3 quando realizada contabilização de estoque através da rotina de recalculo do custo médio .T. Grava / .F. Não Grava

MV_RASTRO

Determina a utilização ou não  da  Rastreabilidade dos Lotes de Produção (Informar S = Sim  / N = Não).

MV_CUSLIFO

Informe se no calculo do custo médio também sera efetuado o calculo do custo LIFO. (T=Sim/F=Nao).

MV_AJUSNFC

Deseja gerar RE6 de ajuste sempre que for incluída uma nota complementar com custo fifo/lifo ativado, onde a nota de origem se encontra em outro período

MV_A330DRV - Veja também (boletim)

Define o driver a ser utilizado na geração dos arquivos temporários de trabalho das stored procedures.

MV_LOCPROC

Local padrão a ser enviado os materiais indiretos em processo.

MV_CUSFIFO

Informe se no calculo do custo médio também sera efetuado o calculo do custo FIFO. (T = Sim e F = Nao).

MV_NGMNTPC

Integração Manutenção (MNT) com Planej. e Contr. da Producao (PCP). Informar S=Sim ou N=Não

MV_THRSEQ

Informar se nas rotinas MATA280, MATA300 e MATA330 sera utilizado o controle de Threads por:  .T. - Sequencial ou .F. - MultThread

MV_NIVALT

Define se a estrutura teve ou não alterações. Informar: S -> Sim ou N -> Nao.

MV_PROCQE6

Deseja utilizar "RE6/DE6" nas  liberações do CQ para movimentos de liberação de Produção ? ( D7_ORIGLAN = 'PR' )

MV_NEGESTR

Permite incluir itens negativos na estrutura, sendo que estes itens gerarão devoluções no arquivo de movimentos nos módulos de Estoque/PCP.

MV_M330JCM

Define se utiliza threads no processamento dos movimentos de ordem 100/300/500 na rotina de custo médio (MATA330).

MV_CQ

Local(Almoxarifado) Controle de Qualidade

MV_M330CON
Habilita o log de monitoramento da rotina de custo medio, este parametro só deve ser utilizado para acompanhar os registros processados.

Observação: O resultado e impresso no arquivo console.log


MV_I330FSM Veja também (boletim)

Define se filtra produtos sem movimentação no período do recálculo do custo médio. T=Filtra F=Não filtra

MV_PCOINTE

Indica se a integração dos processos do Planejamento e Controle Orçamentário com os processos de Lançamentos / Bloqueios esta ativa (1=Sim/ 2=Não).

MV_GERIMPV

Determina se a Empresa vai utilizar roteiro para calculo de Impostos Variáveis (Internacionalização)

MV_MOEDACM

Parâmetro utilizado para melhorar a performance da rotina de recalculo do custo médio. Moedas a serem consideradas no processo de recalculo do custo médio (a moeda 1 sempre é considerada).

MV_PRODMNT

Item de estoque para ordem de produção do SIGAMNT

MV_NGMNTES

Integração Manutenção (MNT) com Estoque (EST) Informar S=Sim ou N=Não


MV_DEPTRAN

Depósito de Transferência

MV_M330TCF

Para controlar a ordem correta do sequenciamento. Quem estiver no parâmetro, não fará parte do sequenciamento.


MV_NGMNTCM

Integração Manutenção (MNT) com Compras (COM) Informar S=Sim ou N=Nao
MV_AGCUSTO
Parâmetro utilizado para verificar se devera aglutinar o custo sem a utilização do MV_CUSMED


MV_A310FIL

Permite a transferência de produtos da mesma filial para depósitos diferentes com emissão de documentos fiscais de entrada (destino) e saída (origem) de materiais.

S (Sim) - Habilitado: permite a transferência de produtos entre depósitos da mesma filial e de filiais diferentes.

N (Não) - Desabilitado: não permite a transferência de produtos apenas entre filiais diferentes.

MV_M330TRF

Valoriza transferência entre filiais, onde entrada e saída estão em períodos diferentes de fechamento de estoque (.T.-Sim/.F.-Não).


MV_FILTRF

Quando ativado o parâmetro os campos “A1_FILTRF” e “A2_FILTRF”, respectivamente nas tabelas “SA1 – Clientes” e “SA2 – Fornecedores”serão utilizados no processo de transferência entre filiais para identificar a filial associada aos clientes e fornecedores envolvidos no processo.Estes novos campos deverão conter o código da filial que será associada ao cliente/fornecedor em questão. Com isso não será mais utilizado o CNPJ/CGC da filial para associá-la ao cliente ou fornecedor, simplificando o processo de transferência entre filiais.

MV_PRODPR0 - Veja também (boletim)

Indica o tipo de proporcionalização do custeio dos apontamentos de produção durante o recalculo do custo médio.


MV_SEQREBE

Criado o parâmetro MV_SEQREBE, que indica qual será a sequência de processamento das saídas referentes ao retorno do beneficiamento. O valor padrão do parâmetro é a sequência 290, que ocorre antes dos movimentos internos. Para realizar o processamento após os movimentos internos, é necessário configurar o conteúdo do parâmetro para 302 (sequência recomendada).

Detalhes no link abaixo:

PEST047 - MV_SEQREBE Define qual sequência de cálculo será utilizada para o retorno de beneficiamento

MV_CUSTDEV

Define se no recalculo do custo médio devera considerar o custo atual (T) ou o custo Origem (F) para as notas de devolução de vendas.



MV_DOCSEQ - Veja também (boletim)

Último numero sequencial utilizado para movimentos do SIGA ADVANCED. Este valor não deve ser alterado pelos usuários.




 MV_M330PR1 - Implementado parâmetro MV_M330PR1 tipo Lógico permite descarregar o custeio da produção no próximo apontamento de produção na rotina de recalculo do custo médio em conjunto com os parâmetros de sistema MV_SEQ300 = .T., MV_PRODPR0=1 e MV_REQAUT=A.

Detalhes no link abaixo:

PEST045 - MV_M330PR1 Custeio da produção descarregado no próximo apontamento




Card
defaulttrue
idCusto Médio
labelPrecisão Calculo

PRECISÃO DE CÁLCULO


O aumento de casas decimais no Protheus é uma questão delicada. Quando realizado sem os devidos critérios ou não recebe a devida manutenção, pode causar diversas inconsistências como por exemplo:

Observação: Qualquer tratamento relacionado a casas decimais é considerado um desvio do Nativo do Protheus (no qual é padrão o uso de dois dígitos, apenas, para o ambiente Faturamento). Portanto, é indicado que qualquer alteração neste sentido seja realizado e documentado por um analista in loco (Consultar diretamente seu GAR Gerente de Atendimento e Relacionamentos com a TOTVS) para análise pontual de sua base/ seu cenário, inclusive para as manutenções dessas alterações nas Tabelas (já que com as atualizações podem ser criados novos campos e novas tabelas na base).

A TOTVS não possui um Documento específico para definição de todas as tabelas/campos que são utilizados em sua rotina, e consequentemente, precisam ser alterados para manter a integridade entre suas Tabelas; pois é relativo à cada Cliente, pontualmente, de acordo com os módulos que estão implantados, as rotinas que são utilizadas, as tabelas que são alimentadas e os campos que são de uso.

Sendo assim, caso realize a implementação/ manutenção internamente com sua equipe de TI, ressaltamos a importância de alterar todas as tabelas/ campos utilizados na integração de suas rotinas; a fim de não gerar inconsistência em sua base de dados.

Podemos citar os mais usuais PARA O MÓDULO ESTOQUE E CUSTOS, e algumas das integrações mais usuais (para demais módulos, consultar as respectivas Equipes de Suporte). Abaixo os campos de Custo Unitário, Custo Total e Custo Apropriado para o Estoque mais usuais de alteração (orientamos que estejam com o mesmo tamanho do campo e com mesma quantidade de casas decimais de um campo para outro respectivamente):

(aviso) Caso utilize STORED PROCEDURES é essencial sua reinstalação, após as modificações dos campos abaixo. Para realizar esse procedimento acesse o modulo "Configurador (SIGACFG)" e execute a rotina "\Base de Dados\Dicionários\Stored Procedures (CFGX051)"

Acesse nossa documentação que exemplifica num contexto prático a escolha da precisão de decimais no cálculo do custo médio
Esclarecimentos sobre o número de decimais configurados no custo médio.


SB9 - Tabela de Saldos Iniciais de Estoque


Custo Médio - Campos de Custos TOTAIS
B9_VINI1
B9_VINI2
B9_VINI3
B9_VINI4
B9_VINI5
Custo FIFO - Campos de Custos TOTAIS
B9_VINIFF1
B9_VINIFF2
B9_VINIFF3
B9_VINIFF4
B9_VINIFF5
Custo Reposição - Campos de Custos TOTAIS
B9_VINIRP1
B9_VINIRP2
B9_VINIRP3
B9_VINIRP4
B9_VINIRP5



Custo Médio - Campos de Custos UNITÁRIOS
B9_CM1

B9_CM2
B9_CM3
B9_CM4
B9_CM5
** Importante: Não existem campos de custos UNITÁRIOS
para calculo do FIFO (UEPS) na tabela de saldos iniciais.
Custo Reposição - Campos de Custos UNITÁRIOS
B9_CMRP1

B9_CMRP2
B9_CMRP3
B9_CMRP4
B9_CMRP5

SB2 - Tabela de Saldo Físico e Financeiro

Custo Médio - Campos de Custos TOTAIS
(Valor ATUAL utilizado no calculo do custo On-Line)
B2_VATU1
B2_VATU2
B2_VATU3
B2_VATU4
B2_VATU5
Custo Médio - Campos de Custos TOTAIS
(Valor FINAL a ser processado na rotina de Virada de Saldos)
B2_VFIM1
B2_VFIM2
B2_VFIM3
B2_VFIM4
B2_VFIM5
Custo FIFO - Campos de Custos TOTAIS
(Valor FINAL a ser processado na rotina de Virada de Saldos)
B2_VFIMFF1
B2_VFIMFF2
B2_VFIMFF3
B2_VFIMFF4
B2_VFIMFF5
Custo Reposição - Campos de Custos TOTAIS
(Valor FINAL a ser processado na rotina de Virada de Saldos)
B2_VFRP1
B2_VFRP2
B2_VFRP3
B2_VFRP4
B2_VFRP5




Custo Médio - Campos de Custos UNITÁRIOS
(CM Unitário ATUAL utilizado no calculo do custo On-Line)
B2_CM1

B2_CM2
B2_CM3
B2_CM4

B2_CM5
Custo Médio - Campos de Custos UNITÁRIOS
(CM Unitário a ser processado na rotina de Virada de Saldos)
B2_CMFIM1
B2_CMFIM2
B2_CMFIM3
B2_CMFIM4

B2_CMFIM5
Custo FIFO - Campos de Custos UNITÁRIOS
(CM Unitário a ser processado na rotina de Virada de Saldos)
B2_CMFF1
B2_CMFF2
B2_CMFF3
B2_CMFF4

B2_CMFF5
Custo Reposição - Campos de Custos UNITÁRIOS
(CM Unitário a ser processado na rotina de Virada de Saldos)
B2_CMRP1
B2_CMRP2
B2_CMRP3
B2_CMRP4

B2_CMRP5


SD1 - Tabela de Itens das NF de Entrada

Custo Médio - Campos de Custos TOTAIS
D1_CUSTO
D1_CUSTO2
D1_CUSTO3
D1_CUSTO4
D1_CUSTO5
** O campo D1_CUSTO não possui o numeral 1 na composição de seu nome.
Custo FIFO - Campos de Custos TOTAIS
D1_CUSFF1
D1_CUSFF2
D1_CUSFF3
D1_CUSFF4
D1_CUSFF5
Custo Reposição - Campos de Custos TOTAIS
D1_CUSRP1
D1_CUSRP2
D1_CUSRP3
D1_CUSRP4
D1_CUSRP5


SD2 - Tabela de Itens de Venda da NF

Custo Médio - Campos de Custos TOTAIS
D2_CUSTO1
D2_CUSTO2
D2_CUSTO3
D2_CUSTO4
D2_CUSTO5
Custo FIFO - Campos de Custos TOTAIS
D2_CUSFF1
D2_CUSFF2
D2_CUSFF3
D2_CUSFF4
D2_CUSFF5
Custo Reposição - Campos de Custos TOTAIS
D2_CUSRP1
D2_CUSRP2
D2_CUSRP3
D2_CUSRP4
D2_CUSRP5


SD3 - Tabela de Movimentações Internas

Custo Médio - Campos de Custos TOTAIS
D3_CUSTO1
D3_CUSTO2
D3_CUSTO3
D3_CUSTO4
D3_CUSTO5
Custo FIFO - Campos de Custos TOTAIS
D3_CUSFF1
D3_CUSFF2
D3_CUSFF3
D3_CUSFF4
D3_CUSFF5
Custo Reposição - Campos de Custos TOTAIS
D3_CUSRP1
D3_CUSRP2
D3_CUSRP3
D3_CUSRP4
D3_CUSRP5


SC2 - Tabela de Ordens de Produção

Custo Médio - Campos de Custos TOTAIS
(Saldo INICIAL das Ordens de Produção)

C2_VINI1
C2_VINI2
C2_VINI3
C2_VINI4
C2_VINI5
Custo Médio - Campos de Custos TOTAIS
(Saldo ATUAL das Ordens de Produção)

C2_VATU1
C2_VATU2
C2_VATU3
C2_VATU4
C2_VATU5
Custo Médio - Campos de Custos TOTAIS
(Saldo FINAL das Ordens de Produção a ser utilizado na proxima Virada de Saldos)

C2_VFIM1
C2_VFIM2
C2_VFIM3
C2_VFIM4
C2_VFIM5
Custo FIFO - Campos de Custos TOTAIS
(Saldo INICIAL das Ordens de Produção)

C2_VINIFF1
C2_VINIFF2
C2_VINIFF3
C2_VINIFF4
C2_VINIFF5
Importante: Não existem campos de
custos Totais (Valor Atual)
para
calculo do FIFO (UEPS).
Custo FIFO - Campos de Custos TOTAIS
(Saldo FINAL das Ordens de Produção a ser utilizado na proxima Virada de Saldos)

C2_VFIMFF1
C2_VFIMFF2
C2_VFIMFF3
C2_VFIMFF4
C2_VFIMFF5
Custo Reposição - Campos de Custos TOTAIS
(Saldo INICIAL das Ordens de Produção)

C2_VINIRP1
C2_VINIRP2
C2_VINIRP3
C2_VINIRP4
C2_VINIRP5
Importante: Não existem campos de
custos Totais (Valor Atual) para
calculo de REPOSIÇÃO.
Custo Reposição- Campos de Custos TOTAIS
(Saldo FINAL das Ordens de Produção a ser utilizado na proxima Virada de Saldos)

C2_VFIMRP1
C2_VFIMRP2
C2_VFIMRP3
C2_VFIMRP4
C2_VFIMRP5

Custo Médio - Campos de Custos TOTAIS
(Saldo INICIAL do Custo Apropriado ao Estoque)

C2_APRINI1
C2_APRINI2
C2_APRINI3
C2_APRINI4
C2_APRINI5

Custo Médio - Campos de Custos TOTAIS
(Saldo ATUAL do Custo Apropriado
ao Estoque)

C2_APRATU1
C2_APRATU2
C2_APRATU3
C2_APRATU4
C2_APRATU5

Custo Médio - Campos de Custos TOTAIS
(Saldo FINAL do Custo Apropriado
ao Estoque)

C2_APRFIM1
C2_APRFIM2
C2_APRFIM3
C2_APRFIM4
C2_APRFIM5


Custo FIFO - Campos de Custos TOTAIS
(Saldo INICIAL do Custo Apropriado ao Estoque)

C2_APINFF1
C2_APINFF2
C2_APINFF3
C2_APINFF4
C2_APINFF5

Importante: Não existem campos de custos
Totais (Custo Apropriado Atual) para
calculo do FIFO (UEPS).

Custo FIFO - Campos de Custos TOTAIS
(Saldo FINAL do Custo Apropriado
ao Estoque)

C2_APFIFF1
C2_APFIFF2
C2_APFIFF3
C2_APFIFF4
C2_APFIFF5


Custo Reposição - Campos de Custos TOTAIS
(Saldo INICIAL do Custo Apropriado ao Estoque)

C2_APRIRP1
C2_APRIRP2
C2_APRIRP3
C2_APRIRP4
C2_APRIRP5

Importante: Não existem campos de custos
Totais (Custo Apropriado Atual) para
calculo de REPOSIÇÃO.

Custo Reposição- Campos de Custos TOTAIS
(Saldo FINAL do Custo Apropriado
ao Estoque)

C2_APRFRP1
C2_APRFRP2
C2_APRFRP3
C2_APRFRP4
C2_APRFRP5


SB6 - Tabela de Saldo em Poder de Terceiros

Custo Médio - Campos de Custos TOTAIS
B6_CUSTO1
B6_CUSTO2
B6_CUSTO3
B6_CUSTO4
B6_CUSTO5
Custo FIFO - Campos de Custos TOTAIS
B6_CUSFF1
B6_CUSFF2
B6_CUSFF3
B6_CUSFF4
B6_CUSFF5
Custo Reposição - Campos de Custos TOTAIS
B6_CUSRP1
B6_CUSRP2
B6_CUSRP3
B6_CUSRP4
B6_CUSRP5


(ideia) Meu Ambiente utiliza Custo Em Partes quais campos preciso aumentar as decimais?

Clientes que utilizam custo em partes possuem uma sequencias de campos que normalmente não temos em ambientes com dicionario de dados padrão, para conhecer os campos utilizados neste processo recomendo a leitura do Artigo/FAQ abaixo:
http://tdn.totvs.com/pages/viewpage.action?pageId=244711704


(ideia) Conheça o Facilitador para Aumentar os Campos Numericos

A nossa equipe de engenharia de Serviços desenvolveu uma ferramenta apartada do produto padrão que facilita a manutenção dos campos numericos, abaixo segue a documentação para utilização da ferramenta.
http://tdn.totvs.com/pages/viewpage.action?pageId=267805831


Observação:

Aqui foram registradas as considerações importantes na análise de ambiente/ base, em relação às casas decimais, para que efetue a validação.

Caso realize as validações e ainda ocorra o problema, será necessário solicitar auxilio da Consultoria Totvs (O Suporte Padrão não valida mais de duas decimais, realiza o teste no Padrão nativo) ou Suporte Investigativo para que acesse remotamente a sua base, visando avaliação/ debug da rotina para investigá-la e identificar a origem do problema.

Há a Consultoria In loco (solicitar diretamente à seu Gerente de atendimento TOTVS) e a Consultoria Telefônica (Ligar diretamente no 4003-0015 Opções 2-3-2-4) na qual o atendimento é imediato.

Card
defaulttrue
idCusto Médio
labelCusto Em Partes

CUSTO EM PARTES


Documentos explicativos para apoiar na utilização do Custo em Partes:

Wizard para criação dos campos de Custo em Partes (Automático)

Link: http://tdn.totvs.com/pages/viewpage.action?pageId=372540775

Guia Completo de Configuração do Custo em Partes

Link: http://tdn.totvs.com/pages/viewpage.action?pageId=344459401

Card
defaulttrue
idCusto Médio
labelDocumentações Gerais

DOCUMENTAÇÕES GERAIS


Abaixo segue nossas documentações sobre os processos de Custo Médio, FIFO e Custo em Partes

Exibir filhos
depth1
pageCusto Médio, FIFO e Recalculo do Custo - Estoque
excerpttrue


Card
defaulttrue
idCusto Médio
labelConsultoria Segmentos

CONSULTORIA SEGMENTOS


Orientações Consultoria de Segmentos - TRSKRW - Métrica do Cálculo do Registro do Custo Médio Ponderado

Link: http://tdn.totvs.com/pages/releaseview.action?pageId=185739844





Card
defaulttrue
idCusto Médio
labelInstalação Procedures

INSTALAÇÃO DE PROCEDURES


Esta documentação contem informações sobre como realizar a instalação e consulta das Stored Procedures do modulo de Estoque e Custos

O que são Stored Procedures?

Stored Procedure, que traduzido significa Procedimento Armazenado, é uma conjunto de comandos em SQL que podem ser executados de uma só vez, como em uma função.
Ele armazena tarefas repetitivas e aceita parâmetros de entrada para que a tarefa seja efetuada de acordo com a necessidade individual.

Um Stored Procedure pode reduzir o tráfego na rede, melhorar a performance de um banco de dados, criar tarefas agendadas, diminuir riscos, criar rotinas de processamento, etc.


Stored Procedures utilizadas nas rotinas de Materiais

Pacote
Procedure
Rotina
Protheus
Nome
Procedure

Processo
Configurador

Descrição
P12_14.SPSMATXFUNBMAT00614Calculo de Estoque
P12_15.SPSMATA216MAT04115Refaz poder de terceiros
P12_16.SPSMATA225MAT04316Verifica se pode alterar o custo médio do produto
P12_17.SPSMATA280MAT03817Virada de saldos
P12_18.SPSMATA300MAT04018Saldo atual
P12_19.SPSMATA330MAT00419Recálculo do custo médio
P12_20.SPSMATA320MAT00520Acerto níveis de estrutura
P12_21.SPSMATA350MAT02621Saldo atual para final
P12_22.SPSMATR320MAT05621MATR320  - Relatório de entradas e saídas


Nomenclatura do pacote de Stored Procedures:

      P10_14.SPS (Pacote de Procedure do Processo 14 – Calculo de Estoque)

      • P12 – Versão
      • 14 – Código do Processo

Nomenclatura das Stored Procedures

¨      Exemplo: MAT006_14_01

      • MAT006 – Nome da stored procedure
      • 14 – Código do Processo
      • 01 – Código da Empresa

    Nome da Procedure – Tamanho (10 Posições)

       Nome do Processo – Tamanho (3 Posições – Contempla o caractere “_”  )

       Código da Empresa – Tamanho (5 Posições – Contempla o caractere “_”  )

* O tamanho do nome das Stored Procedures é limitado a 18 posições


COMO INSTALAR OS PACOTES DE STORED PROCEDURES?

(ideia) Importante: Antes de realizar a instalação do novo pacote de stored procedures aplique o pacote *.ptm no ambiente através da ferramenta DEVSTUDIO ou TDS.

a) Acesse o modulo "Configurador (SIGACFG)"

b) Acesse a opção de menu "\Base de Dados\Dicionario\Stored Procedure (CFGX051)"


c) Escolha a opção "Instalação" e clique no botão Ok.

d) Escolha o pacote a ser instalado em seu ambiente e confirme.

e) Escolha a Empresa ou Grupo e confirme.

Ao confirmar a instalação as stored procedures serão compiladas em seu banco de dados.

Ao concluir o processo será exibida a mensagem abaixo:


COMO VERIFICAR AS ASSINATURAS E INSTALAÇÃO DAS STORED PROCEDURES?

a) Acesse o modulo "Configurador (SIGACFG)"

b) Acesse a opção de menu "\Base de Dados\Dicionario\Stored Procedure (CFGX051)"

c) Escolha a opção "Consulta" e clique no botão Ok.



Card
defaulttrue
idCusto Médio
labelOrdenação de Movimentos

ORDENAÇÃO DE MOVIMENTOS DE ESTOQUE


Esta documentação contem informações sobre ordenação padrão dos registros durante o processamento do Recalculo do Custo Médio


A função primordial da rotina de recálculo do custo médio é reordenar as movimentações de forma que todas as entradas sejam processadas antes das saídas em um mesmo período. As informações disponíveis para realizar esta ordenação são: data da movimentação (i.e.: movimentações que ocorreram no início do período influenciarão o custo das demais, e não o inverso) e a natureza da movimentação (i.e.: normalmente uma produção utiliza a matéria prima já existente no estoque, por isso consideramos que movimentações de entrada de matéria prima terão influência no custo do produto a ser produzido, e não o contrário). Para casos em que ocorrem várias movimentações em um mesmo período, como  por exemplo, no método de apropriação mensal, com todas as movimentações que ocorreram dentro do mês devem ser ordenadas independentemente da data em que tenha ocorrido, utilizamos apenas a natureza da movimentação como critério de desempate nesta reordenação.

   Para atender a maioria dos casos encontrados em nossos clientes definimos que nossa rotina de recálculo de custo médio deve ordenar as naturezas das movimentações ocorridas dentro de um mesmo período (dia, semana, mês etc.) da seguinte forma:


Chart from Table
id1537806262145_-486442964

 Ordem de Cálculo

Tipo de Movimentação

Observação

080

Movimento de Ajuste Cambial (para a localização da Bolívia)

Tabela SD3

095

Entrada por Remito de Compra (apenas para algumas localizações)

Tabela SCM

100

Entrada por Compra

Tabela SD1

110

Entrada por Liberação ou Rejeição de CQ

Tabela SD3

120

Entrada direcionada a OP (i.e.: gera RE5) de Produto de terceiros a ser Beneficiado por mim - Período Anterior

Tabelas SD1/SD3

120

Entrada direcionada a OP (i.e.: gera RE5) - Período Anterior

Tabelas SD1/SD3

145

Entrada por Devolução de Compra (apenas para algumas localizações)

Tabela SCM

150

Entrada por Devolução Compra

Tabela SD2

195

Entrada por Devolução de Vendas (apenas para algumas localizações) - Período Anterior

Tabela SCN

200

Entrada por Devolução de Vendas - Período Anterior

Tabela SD1

250

Entrada por Recebimento de Produto de terceiros a ser Beneficiado por mim - Período Atual

Tabela SD1

280

Entrada por Recebimento de Produto de terceiros a ser Beneficiado por mim - Período Anterior

Tabela SD1

290

Saída para Envio de Beneficiamento feito por mim

Tabela SD2

300

Movimentações Internas (menos req. p/ consumo e transferência)

Tabela SD3

       300        Movimentações Internas de transferência w      Tabela SD3

300

Saída para transferência entre filiais w

Tabela SD2

300

Entrada de transferência entre filiais w

Tabela SD1

300

Saída - Envio de Produto sem estrutura para Beneficiamento a ser feito por terceiros

Tabela SD2

300

Entrada por Recebimento de Produtos com estrutura que foi Beneficiado por terceiros

Tabela SD1

300

Entrada por Recebimento de Produtos sem estrutura que foi Beneficiado por terceiros y

Tabela SD1

300

Saída - Envio de Produto com estrutura para Beneficiamento a ser feito por terceiros y

Tabela SD2

300

Entrada direcionada a OP (i.e.: gera RE5) de Produto de terceiros a ser Beneficiado por mim - Período Atual

Tabelas SD1/SD3

300

Entrada direcionada a OP (i.e.: gera RE5) - Período Atual

Tabelas SD1/SD3

301

Saída para Requisição de Consumo

Tabela SD3

480

Saída para Apontamento de Projetos (SIGAPMS)

SIGAPMS

495

Saída para Remito de Venda (apenas para algumas localizações)

Tabela SCN

500

Saída para Vendas

Tabela SD2

500

Entrada por Devolução de Venda - Período Atual

Tabela SD1

545

Entrada por Devolução de Venda (apenas para algumas localizações) - Período Atual

Tabela SCN

600

Reavaliação de Custo (REA/DEA)

Tabela SD3

610

Movimento de acerto do custo de reposição

Tabela SD3


Com esta seqüencia atendemos grande parte da operação de nossos clientes, mas há casos particulares ou situações pontuais que exigem que as movimentações sejam ordenadas de forma diferente desta mostrada acima. Veja: normalmente as operações de transferência devem ser consideradas em uma seqüência posterior a operações de movimentos internos para que o custo das devoluções ao estoque seja agregado ao custo do produto antes que este seja transferido. Observe que esta situação está coberta pela seqüência padrão de calculo acima, onde movimentações internas recebem a seqüência de cálculo 300 e movimentações de transferência recebem a seqüência de cálculo 300w. Se por qualquer motivo uma empresa precise que seja feita uma transferência entre diferentes produtos, fazendo com que o estoque de produto A seja transferido para (i.e.: se “transforme” em) produto B para que a seguir o estoque deste produto B seja requisitado para determinada OP... Neste caso a seqüência padrão já não seria mais válida; A transferência de produtos receberia a seqüência de cálculo 300w e a requisição para OP, feita logo a seguir, receba a seqüência de cálculo 300...

   Neste exemplo a ordenação proposta pelo sistema padrão inverteria a ordem natural da movimentação, fazendo com que o custo da devolução da transferência não fosse considerado na requisição para OP. Mais um ponto: se estas fossem as primeiras movimentações no período e se o produto não tivesse custo histórico o custo do mesmo ficaria negativo!

   A ferramenta disponibilizada para adequar casos como o exemplificado acima é o ponto de entrada MA330TRB ( neste link ), que possibilita a alteração da seqüência de cálculo que é atribuída pelo sistema à determinada movimentação durante o recálculo do custo; No exemplo acima o tratamento deveria abranger apenas as transferência de produtos que tivessem códigos diferentes na entrada e saída de uma mesma movimentação de transferência – para estes casos a seqüência de cálculo pode ser alterada, por exemplo, de 300w para 290w, incluindo esta movimentação antes dos movimentos internos, que possuem seqüência de cálculo 300.

   Este ponto de entrada interfere no desempenho da rotina e  não fere a integridade dos dados, sendo considerado como um dispositivo padrão de parametrização do recálculo do custo médio nos casos, onde a ordenação padrão sugerida não atende as necessidades específicas encontradas em determinadas empresas.



O Recalculo do Custo Médio (MATA330), quando processado por apropriação Mensal ou Diária, utiliza uma chave (TRB_DTBASE+TRB_SEQPRO+TRB_ORDEM+TRB_NIVEL+TRB_NIVSD3+TRB_CHAVE+TRB_SEQ) para ordenação dos movimentos no arquivo de trabalho (TRB). Esta chave utilizada para ordenação atende o processo produtivo da grande maioria das empresas, porém em alguns processos, devido a seqüência em que os movimentos são gerados, as Transferências (RE4 / DE4) e Desmontagens (DE7 / RE7) podem não ser ordenados conforme o esperado.

Para estas situações existe o parâmetro MV_SEQ300, que tem como objetivo ordenar os movimentos de Ordem 300 (Movimentos Internos) por seqüência de inclusão (D3_NUMSEQ) ignorando a chave padrão. Com a ativação do parâmetro a grande maioria das exceções são tratadas e solucionadas.
No entanto existem processos muito específicos que mesmo a ativação do parâmetro não realiza a ordenação esperada dos movimentos. Para estes casos será necessário utilizar o ponto de entrada MA330TRB para manipular o arquivo de trabalho (TRB) e definir uma regra especifica de ordenação com base nos movimentos do cliente. Quando há a necessidade de utilização do ponto de entrada, o processo do cliente deve ser estudado para identificar um padrão para as movimentações e consequentemente uma regra para ordenação delas.







...