Árvore de páginas

LAPostMnt - Manipular informações no apontamento de perda 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 do apontamento de perda disponibilizados no formulário.

Obs.:

Este Json em formato String ainda contém o campo "LOSSFORMCODE", que contém o código do formulário de perda utilizado, e o campo "PRODUCTIONFORMCODE", que contém o código do formulário de produção ao qual este formulário de perda está vinculado.




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 LAPostMnt é executado na requisição de apontamento de perda da API ProductionAppointment.
Com este ponto de entrada, é possível modificar as informações que serão enviadas para o método de API que executa o programa MATA685 para persistir o apontamento da perda,
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 CTOD().

Campos Customizados

Os campos customizados são referenciados a partir de seus respectivos nomes na tabela de Apontamento de Perda (SBC).

Ex.:

oJson["BC_CSTDATA"] := CTOD("01/06/24")  //Data no formato "DD/MM/AA"

oJson["BC_CSTNUME"] := 100

oJson["BC_CSTLOGI"] := .T.

Localização:

API ProductionAppointment, método POST lossAppointment - Responsável por enviar os dados ao programa MATA685 para persistir o apontamento da perda.

Eventos:

Não se aplica.

Programa Fonte:ProductionAppointment.PRW

Sintaxe:

LAPostMnt( ) --> oJson

Retorno:
NomeTipoDescriçãoObrigatório
cJsonCaracter

Json que será retornado para envio ao programa MATA685 que persistirá o apontamento da perda. Neste json é possível manipular os campos que foram recebidos do formulário de apontamento da perda, além de adicionar outros campos da tabela SBC.
Mesmo que o conteúdo do Json não seja alterado, o mesmo deve retornar em formato string, para que possa gravar o apontamento da perda 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 LAPostMnt()
    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 AllTrim(oJson["BC_MOTIVO"]) == "FH"
        oJson["BC_OBSERVA"]   := "Lançamento de perda por falha humana."
    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