Dúvida
É possível alterar a ordenação dos movimentos internos ao efetuar o recalculo do custo médio?
Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus) - Estoque/Custos - Todas as versões.
Solução
Sim, isso é possível ser efetuado, através do PE MA330TRB.
Sobre a sequência da Ordenação 300:
- 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 sequência em que os movimentos são gerados, as Transferências (RE4 / DE4) e Desmontagens (DE7 / RE7) por exemplo, 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 sequê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.
Abaixo segue um exemplo do PE para ser utilizado:
#include "rwmake.ch"
#include "topconn.ch"
#include "totvs.ch"
#include "protheus.ch"
User Function MA330TRB()
dbSelectArea('TRB')
RecLock('TRB',.T.)
If AllTrim(TRB->TRB_CF) $ 'DE6'
TRB->TRB_ORDEM := '101'
TRB->TRB_NIVSD3 := '1'
EndIf
Nesse exemplo, informo que meus movimentos com campo TRB_CF = DE6. vão passar a receber a ordem 101 e nível 1.
É importante informar, que esse é apenas um exemplo, você pode se adequar melhor ainda junto ao seu desenvolvedor, configurando o melhor cenário possível para seu tipo de negocio.
Saiba Mais
0 Comentários