Versões: | Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10 |
Compatível Países: | Todos |
Sistemas Operacionais: | Todos |
Compatível às Bases de Dados: | Todos |
Idiomas: | Espanhol , Inglês |
LOCALIZAÇÃO : Function MATA330( ) - Localizado nas rotinas de processamento de custo em partes.
DESCRIÇÃO : O recálculo do custo médio possibilita dividir o custo de produtos fabricados em mais de uma parte, facilitando a visualização da composição de custos dos produtos acabados.
O sistema permite dividir o custo de produtos fabricados em até 99 partes diferentes, cada parte nas 5 moedas padrão do sistema.
O usuário deve através do ponto de entrada 'MA330CP' definir as regras que irão classificar cada matéria-prima em uma parte do custo. O número de partes é sempre acrescido de mais uma parte que contempla os materiais que não se encontram em nenhuma regra.
MATA330.PRX
MA330CP - Define regras para classificação de matéria-prima ( ) --> aRegrasCP
- (vetor)
- Exemplo:
AADD(aRegraCP,"SB1->B1_TIPO == 'MP'")
AADD(aRegraCP,"SB1->B1_TIPO == 'MC'")
Utilizando o exemplo abaixo mencionado, teríamos o custo divido em três partes:
A parte 1 composta dos valores de produtos que tenham o campo B1_TIPO = 'MP'
A parte 2 composta dos valores de produtos que tenham o campo B1_TIPO = 'MC'
A parte 3 composta dos valores de produtos que não se enquadram nas partes citadas anteriormente
Para utilizar o custo em partes devem ser criados alguns campos no sistema, seguindo as regras e nomes que seguem abaixo. Se o ponto de entrada que define as regras do custo existir e os campos não forem criados , a rotina de recálculo do custo processará o recálculo do custo desconsiderando o custo em partes.
Os campos são definidos com a seguinte regra
CC - Custo em Partes (até 2 posições)
MM - Moeda do Custo(até 2 posições)
Os campos devem ser definidos utilizando a seguinte regra:
Arquivo SB2 – Saldos em Estoque
Campos:
B2_CP + CC + MM
B2_CPF + CC + MM
Arquivo SB6 – Saldos em poder de terceiros
Campo:
B6_CP + CC + MM
Arquivo SB9 – Saldos Iniciais
Campo:
B9_CP + CC + MM
Arquivo SC2 – Ordens de Produção
Campos:
C2_CPF + CC + MM
C2_CPI + CC + MM
C2_API + CC + MM
C2_APF + CC + MM
Arquivo SD1 – Itens das NFs de Entrada
Campo:
D1_CP + CC + MM
Arquivo SD2 – Itens das NFs de Saída
Campo:
D2_CP + CC + MM
Arquivo SD3 – Movimentos Internos
Campo:
D3_CP + CC + MM
#include 'rwmake.ch'
User Function MA330CP()
LOCAL aRegraCP:={}
AADD(aRegraCP,'SB1->B1_TIPO == 'MP'')
AADD(aRegraCP,'SB1->B1_TIPO == 'MC'')
Return aRegraCP