Árvore de páginas

Versões comparadas

Chave

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

P145GDOC - Indicar a geração do documento pelo MRP

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):

NomeTipoDescriçãoDefaultObrigatórioReferência
cTableCaracterTabela que esta gerando documento (HWC ou SMA).


aDados/oJsonArray/JsonInformações de rastreio do documento que será gerado.


Idiomas:

Todos

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:
O ponto de entrada P145GDOC é chamado para cada documento durante a o processo de geração de documento do MRP. O ponto de entrada recebe o array aDados, com as informações do documento que será gerado e seu retorno indica se o documento será gerado criado ou não pelo MRP ou não.
Localização:

Function PCPA145JOB - Geração de documentos do MRP.

Eventos:

Durante a criação dos documentos do MRP.

Programa Fonte:

PCPA145JOB.PRW

PCPA145PC.PRW

PCPA145TRF.PRW

Sintaxe:

P145GDOC( [ cTable ], [ aDados ] ) --> lRet

Retorno:

lRet - Indica se o documento será gerado ou não.

  • .T. → Documento será gerado pela rotina.
  • .F. → Documento não será gerado pela rotina.
Observações:As posições do array aDados seguem os defines com prefixo RASTREIO_ no arquivo PCPA145DEF.ch.

O documento gerado pelo MRP pode ser identificado pelo parâmetro nível do cTable e aDados. Caso cTable possua o valor "SMA", indica a geração de uma transferência. Caso cTable possua o valor "HWC", deverá ser verificado o nível no array aDados (posição 19). Se for nível 99, será gerado documento de compra, caso contrario, será gerado ordem de produção.

As posições do array aDados seguem os defines com prefixo RASTREIO_ no arquivo PCPA145DEF.ch.

A interface do json com as informações da transferências pode ser encontrado no arquivo PCPA145DEF.ch.

Documentos não gerados devido ao retorno .F. do ponto de entrada, terão seu status setado com o valor "4" na tabela HWC.

O ponto de entrada é valida valido para geração de documentos iniciadas diretamente pelo MRP (pcpa712), Tela de Resultado (resultadom) e Geração de Documentos (pcpa144).

Bloco de código
languagec#
firstline1
titleExemplo
linenumberstrue
#INCLUDE "TOTVS.CH"

#DEFINE RASTREIO_POS_PRODUTO  1 // HWC_PRODUT - Produto
#DEFINE RASTREIO_POS_FILIAL  25 // HWC_FILIAL - Filial

User Function P145GDOC()
    Local aDados   := {}
    Local cTable   := PARAMIXB[1]
    Local cFilAux  := ""
    Local cProduto := ""
    Local oDados   := {}
    Local lGeraDoc := .T.

    If cTable == "HWC"
        aDados   := PARAMIXB[2]
        cFilAux  := aDados[RASTREIO_POS_FILIAL ]
    Local    cProduto := aDados[RASTREIO_POS_PRODUTO]

    ElseIf cTable == "SMA"
        oDados   := PARAMIXB[2]
        cFilAux  := oDados["branchId"]
    Local    lGeraDoccProduto := .T.oDados["product" ]

    EndIf

    // Gera documentos apenas de produtos do tipo PA. 
    If SB1->(dbSeek(xFilial("SB1", cFilAux) + cProduto))
        lGeraDoc := SB1->B1_TIPO == "PA"
    EndIf

Return lGeraDoc
Bloco de código
titlePCPA145DEF.ch
#DEFINE RASTREIO_POS_PRODUTO                  1 // HWC_PRODUT - Produto
#DEFINE RASTREIO_POS_TRT                      2 // HWC_TRT    - TRT
#DEFINE RASTREIO_POS_DATA_ENTREGA             3 // HWC_DATA   - Data de Entrega
#DEFINE RASTREIO_POS_DATA_INICIO              4 // HWB_DTINIC - Data de Início
#DEFINE RASTREIO_POS_TIPODOC                  5 // HWC_TPDCPA - Tipo do Documento Pai
#DEFINE RASTREIO_POS_DOCPAI                   6 // HWC_DOCPAI - Documento Pai (MRP)
#DEFINE RASTREIO_POS_DOCFILHO                 7 // HWC_DOCFIL - Documento (MRP)
#DEFINE RASTREIO_POS_NECES_ORIG               8 // HWC_QTNEOR - Necessidade Original
#DEFINE RASTREIO_POS_SALDO_EST                9 // HWC_QTSLES - Saldo Estoque
#DEFINE RASTREIO_POS_BAIXA_EST               10 // HWC_QTBXES - Baixa Estoque
#DEFINE RASTREIO_POS_QTD_SUBST               11 // HWC_QTSUBS - Quantidade Substituição
#DEFINE RASTREIO_POS_EMPENHO                 12 // HWC_QTEMPE - Empenho
#DEFINE RASTREIO_POS_NECESSIDADE             13 // HWC_QTNECE - Necessidade (Quantidade que será gerado o documento)
#DEFINE RASTREIO_POS_REVISAO                 14 // HWC_REV    - Revisão
#DEFINE RASTREIO_POS_ROTEIRO                 15 // HWC_ROTEIR - Roteiro do Documento Pai
#DEFINE RASTREIO_POS_OPERACAO                16 // HWC_OPERAC - Operação
#DEFINE RASTREIO_POS_ROTEIRO_DOCUMENTO_FILHO 17 // HWC_ROTF   - Roteiro do Documento
#DEFINE RASTREIO_POS_SEQUEN                  18 // HWC_SEQUEN - Sequência
#DEFINE RASTREIO_POS_NIVEL                   19 // HWB_NIVEL  - Nível
#DEFINE RASTREIO_POS_LOCAL                   20 // HWC_LOCAL  - Armazém
#DEFINE RASTREIO_POS_CHAVE                   21 // HWC_CHAVE  - Chave
#DEFINE RASTREIO_POS_CHAVE_SUBST             22 // HWC_CHVSUB - Chave Substituição
#DEFINE RASTREIO_POS_OPC_ID                  23 // HWC_IDOPC  - Opcional Id
#DEFINE RASTREIO_POS_CONTRATO                24 // HWA_CONTRA - Contrato
#DEFINE RASTREIO_POS_FILIAL                  25 // HWC_FILIAL - Filial
#DEFINE RASTREIO_POS_QTD_TRANSF_ENT          27 // HWC_QTRENT - Transferência de Entrada
#DEFINE RASTREIO_POS_RECNO                   26 // R_E_C_N_O_ - Recno HWC

{
	branchId: string,              // MA_FILIAL  - Filial
	originBranchId: string,        // MA_FILORIG - Filial origem
	destinyBranchId: string,       // MA_FILDEST - Filial destino
	product: string,               // MA_PROD    - Produto
	transferenceDate: Date         // MA_DTTRANS - Data da transferência
	receiptDate: Date,             // MA_DTRECEB - Data de recebimento
	transferenceQuantity: number,  // MA_QTDTRAN - Quantidade
	originWarehouse: string,       // MA_ARMORIG - Armazém origem
	destinyWarehouse: string,      // MA_ARMDEST - Armazém destino
	document: string,              // MA_DOCUM   - Documento
	status: number,                // MA_STATUS  - Status
	message: string,               // MA_MSG     - Mensagem
	ticket: string,                // MA_TICKET  - Ticket
	recordNumber: number,          // R_E_C_N_O_ - Recno SMA
	level: string                  // HWB_NIVEL  - Nível
}