Árvore de páginas

POPostMnt - Manipular 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 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 POPostMnt é executado nas requisições de criação da ordem de produção da API ProdOrderApp.
Com este ponto de entrada, é possível modificar as informações que serão enviadas para a classe que gravará a ordem de produção durante a utilização do APP Minha Produção, permitindo acesso a qualquer campo da tabela, mesmo aqueles não exibidos no formulário e/ou customizados.

Formato 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().

Campos 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:

POPostMnt( ) --> oJson

Retorno:
NomeTipoDescriçãoObrigatório
cJsonCaracter

Json que será retornado para envio à classe de gravação da ordem de produção. Neste json é possível manipular os campos que foram recebidos do formulário de criação da ordem de produção, além de adicionar outros campos da tabela SC2.
Mesmo que o conteúdo do Json não seja alterado, o mesmo deve retornar em formato string, para que possa gravar a ordem de produção corretamente.

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.

Exemplo
#INCLUDE "TOTVS.CH"

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

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

    If oJson["FORMCODE"] == "FORMOP"
        oJson["C2_PRIOR"]   := "500"
        oJson["C2_CHRCSTM"] := "AJUSTE CAMPO CUSTOMIZADO"

        If oJson["C2_QUANT"] == 0
            oJson["C2_QUANT"] := 1
        EndIf
    EndIf

    //Converte o objeto Json com as informações manipuladas em uma String Json.
    cJson := oJson:ToJson()

    Conout("cJson: " + cJson)

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

Return cJson