Á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 POSTcódigo do formulário acessado no APP Minha Produção para realizar a chamada POST e, consequentemente, do Ponto de Entrada. Este formulário deve ser previamente cadastrado através do Formulário do Apontamento de Produção - PCPA125.

Através deste parâmetro, podem ser realizadas diferentes implementações no Ponto de Entrada, de acordo com cada formulário que esteja sendo utilizado no momento.




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 informando a inconsistência identificada, impedindo a criação da ordem caso as informações sejam inválidas.
Este ponto de entrada é executado depois do ponto de entrada POPostMnt, responsável pela manipulação dos dados para criação da Ordem de Produção.

Dica
titleFormato dos Campos

Os campos devem respeitar seus respectivos formatos, conforme são utilizados no Protheus.

Ex.: Campos do tipo Numérico são referenciados sem as aspas (9999) e campos do tipo Lógico são atualizados no formato .T. ou .F.
      Para os campos do tipo Data, o formato esperado "DD/MM/AA" ou "DD/MM/AAAA" e, caso seja utilizada alguma função para retornar a data, ela deve ser convertida para este formato através da função DTOC().

Dica
titleCampos Customizados

Os campos customizados são referenciados a partir de seus respectivos nomes na tabela de Ordens de Produção (SC2).

Ex.: oJson["C2_PREVEMB"] := DTOC(Date())   //Data atual no formato "DD/MM/AA"

      oJson["C2_VALINI"] := 100

      oJson["C2_EMERG"] := .T.

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 tipo Caracter onde será possível inserir uma mensagem de erro pro caso da primeira posição do array ser falsa, 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 POPostVld()
    Local cJson     := PARAMIXB[1]
    Local oJson     := JsonObject():New()
    Local aRet      := {}

    //Converte a string JSON para objeto JSON, para que seja possível manipular os dados.
    oJson:FromJson(cJson)

    If oJson["FORMCODE"] == "FORMOP"
        If oJson["C2_TPPR"] == "I"
            aRet := {.T., ""}
        Else
            aRet := {.F., "Formulário habilitado somente para ordens de produção internas."}
        EndIf
    EndIf

    //Limpa da memória o objeto Json utilizado.
    FREEOBJ( oJson )

Return aRet