Árvore de páginas

Versões comparadas

Chave

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

POPostVld - Validar informações para criação da ordem de produção pelo APP Minha Produção

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):

NomeTipoDescriçãoDefaultObrigatórioReferência
PARAMIXB[1]Caracter

Json em formato String com os campos da ordem de produção que foram informados no formulário.

Além disso, também foi incluída a tag "FORMCODE" no Json, que identificará o código do formulário que está enviando o POST.




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 POPostVld é executado nas requisições de criação da ordem de produção da API ProdOrderApp. Com este ponto de entrada, é possível validar as informações que estão sendo enviadas para gravar a ordem de produção, e retornar uma mensagem personalizada impedindo a criação da ordem caso as informações sejam inválidas.
Localização:

API ProdOrderApp, método POST prodOrders - Responsável por enviar os dados à classe de gravação da ordem de produção.

Eventos:

Não se aplica.

Programa Fonte:ProductionOrderAppAPI.PRW

Sintaxe:

POPostVld( ) --> oJson

Retorno:
NomeTipoDescriçãoObrigatório
aRetArray

Deverá retornar um array com duas posições, onde a primeira posição é do tipo lógica ( .F. / .T.) determinando se as informações são válidas, e a segunda posição é do caracter onde será possível inserir uma mensagem de erro pro caso da primeira posição do array ser falsa.

Ex.: 

aRet := {.F., "Prioridade da Ordem de produção inválida"}

aRet := {.T., ""}, conforme pode ser visto no exemplo abaixo documentado.

Sim
Observações:

Não é permitida a utilização de qualquer componente de interface gráfica nesse ponto de entrada, visto que a função será executada durante uma requisição REST.

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

User Function POPostMntPOPostVld()
    Local cJson     := PARAMIXB[1]
    Local oJson     := JsonObject():New()

    //ConverteLocal aaRet string JSON para objeto JSON, para que seja possível manipular os dados.:= {}

    oJson:FromJson(cJson)

    If oJson["FORMCODE"] == "FORMOP"
        If oJson["C2_PRIORTPPR"]   :== "500I"
         oJson["C2_CHRCSTM"]   aRet := {.T., "AJUSTE CAMPO CUSTOMIZADO"
"}
        Else
      EndIf

     //Converte oaRet objeto Json com as informações manipuladas em uma String Json.:= {.F., "Formulário habilitado somente para ordens de produção internas."}
    cJson := oJson:ToJson()

   EndIf
 Conout("cJson: " + cJson)EndIf

    FREEOBJ( oJson )


Return cJson  aRet