Árvore de páginas

Ponto-de-Entrada: MA330TRF
Versões: Microsiga Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Nível de Acesso: Nível 1 (Acesso Clientes)
Idiomas: Espanhol , Inglês
Descrição:

LOCALIZAÇÃO: Rotina MATA330 (recálculo do custo médio).

EM QUE PONTO: Na função A330RecTrf() que faz o tratamento do vetor com os custos apurados (aRet). Essa função tem por objetivo encontrar no vetor aListaTrf a nota fiscal (ou remito) que dá origem a nota de transferência que está sendo processada.

O ponto de entrada será executado somente quando a função A330RecTrf() não encontrar a NF/Remito de origem no vetor aListaTrf.

Essa situação ocorre em ambiente localizado, pois no processo de transferência entre filiais a "saída" dos materiais da filial de origem pode ocorrer em período diferente da "entrada" dos mesmos na filial de destino. Isso acontece pois o processo todo pode levar meses para ser concluído e o encerramento mensal poderá ser executado entre a saída dos materiais da filial origem e chegada dos materiais na filial destino.

Os parâmetros enviados ao ponto de entrada estão no array PARAMIXB, sendo eles:

{aRet, cFilAtu, cFilTrf, cProduto, nRecno, lUsaFifo}, onde:

aRet : (PARAMIXB[1]) Vetor original com os custos apurados
cFilAtu : (PARAMIXB[2]) Filial que esta sendo processada
cFilTrf : (PARAMIXB[3]) Filial de transferencia
cProduto : (PARAMIXB[4]) Código do produto
nRecno : (PARAMIXB[5]) RECNO do alias
lUsaFifo : (PARAMIXB[6]) Indica se esta processando custo FIFO

Dimensoes do vetor aRet (PARAMIXB[1])
aRet { {aCM}, {aFifo}, {aParte} } onde:
aCM = vetor com os custos medios
aFifo = vetor com os custos FIFO (se parâmetro lUsaFifo == .T.)
aParte = vetor com os custos em partes

No momento da execução do ponto de entrada o arquivo de trabalho estará posicionado no alias "SD1".

Eventos

Programa Fonte
MATA330.PRX
Sintaxe

MA330TRF ( [ @PARAMIXB ] ) --> aRet

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
PARAMIXB Array of Record {aRet, cFilAtu, cFilialTrf, cProduto, nRecno, lUsaFifo} X
Retorno
    aRet(array_of_record)
  • aRet { {aCM}, {aFifo}, {aParte} }
Observações

Exemplos
User Function MA330TRF()Local aRet       := PARAMIXB[1] // Vetor original com os custos apuradosLocal cFilAtu    := PARAMIXB[2] // Filial que esta sendo processadaLocal cFilTrf    := PARAMIXB[3] // Filial de transferenciaLocal cProduto   := PARAMIXB[4] // Código do produtoLocal nRecno     := PARAMIXB[5] // RECNO do alias (SD1)Local lUsaFifo   := PARAMIXB[6] // Indica se esta processando custo FIFO// -- Dimensoes do vetor aRet (PARAMIXB[1])// -- aRet { {aCM}, {aFifo}, {aParte} } onde:// -- aCM    = vetor com os custos medios// -- aFifo  = vetor com os custos FIFO (se parâmetro lUsaFifo == .T.)// -- aParte = vetor com os custos em partes// Rotina criada pelo usuario para manipular o vetor contendo os custos// Exemplo: Localizar notas de saída (remito) de transferencias que ocorreram // em periodos já fechadosaRet := RemitoOri(aRet, cFilAtu, cFilTrf, cProduto, nRecno, lUsaFifo)Return (aRet)