Á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 é executado durante a geração de documentos do chamado para cada documento durante o processo de geração de documento do MRP. O ponto de entrada recebe as informações do documento que será gerado e seu retorno indica se o documento será criado ou não pelo MRP.
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:

Este ponto de entrada é chamado para cada documento durante a 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 pelo MRP ou nãoO documento gerado pelo MRP pode ser identificado pelo parâmetro 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 a dados 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 é 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]
        Local lGeraDoccFilAux  := oDados["branchId"]
        cProduto := .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
}