Histórico da Página
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): |
| ||||||||||||||||||
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 chamado para cada documento durante o processo de geração de documentos 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.
|
| 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 | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#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 | ||
|---|---|---|
| ||
#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
} |