Árvore de páginas

P712VLD - Validação dos passos para execução do MRP

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):
NomeTipoDescriçãoDefaultObrigatórioReferencia
PARAMIXB[1]CaractereEtapa de configuração que está chamando o ponto de entrada

TELA_1 - Tela de setup

TELA_2 - Tela de períodos

TELA_3 - Tela de estoque

TELA_4 - Tela de documentos

TELA_5 - Tela de seleção



PARAMIXB[2]

Caractere

Json com os parâmetros do MRP




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 P712VLD permite o usuário validar os parâmetros de execução impedir o avanço nas configurações do MRP.
Localização:

Funções de validação de página do fonte PCPA712.prw

Eventos:

Ao clicar para avançar no wizzard de configuração do MRP.

Programa Fonte:PCPA712.prw

Sintaxe:

P712LDTL ( ) → lRet

Retorno:

lRet - Indica se pode avançar para a próxima página do wizzard de configuração.

Observações:

Realizar a validação de parâmetros apenas da página atual ou anteriores, caso contrario não será possível alterar o parâmetro pela tela pois o avanço estará bloqueado.

O ponto de entrada também é chamado na validação das páginas, caso selecionado para pular para o processamento.

Exemplo
#INCLUDE "PROTHEUS.CH"   

User Function P712VLD()
    Local cTela	 := ParamIxb[1]
    Local cJson	 := ParamIxb[2]
    Local oJson  := JsonObject():New()
    Local lRet   := .T.
    
    oJson:FromJson(cJson)

    If cTela == "TELA_1"
        If oJson["lGeraDoc"] == .F.
            Help(' ',1,"P712VLD",, "Deve gerar documentos no final do cálculo",2,0)
            lRet := .F. 
        EndIF
    ElseIf cTela == "TELA_2"
        If Val(oJson["numberOfPeriods"]) > 30
            Help(' ',1,"P712VLD",, "Só pode executar com 30 periodos ou menos",2,0)
            lRet := .F.
        EndIf
    ElseIf cTela == "TELA_3"
        If oJson["safetyStock"] == "1" 
            Help(' ',1,"P712VLD",, "Estoque de segurança deve estar configurado como não",2,0)
            lRet := .F.
        EndIf

        If oJson["orderPoint"] == "1"
            Help(' ',1,"P712VLD",, "Ponto de pedido deve estar configurado como não",2,0)
            lRet := .F.
        EndIf
    ElseIf cTela == "TELA_4"
        If oJson["consolidatePurchaseRequest"] != "2"
            Help(' ',1,"P712VLD",, "Não pode aglutinar solicitações de compra",2,0)
            lRet := .F.
        EndIf
        
        If oJson["consolidateProductionOrder"] != "2"
            Help(' ',1,"P712VLD",, "Não pode aglutinar ordens de produção",2,0)
            lRet := .F.
        EndIf
    ElseIf cTela == "TELA_5"
        If oJson["documentType"]["PREVISTOS"] != "1"
            Help(' ',1,"P712VLD",, "Documentos previstos devem ser excluidos",2,0)
            lRet := .F.
        EndIf
    EndIf

Return lRet