Árvore de páginas

Versões comparadas

Chave

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

LAPostVld - Validar 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 que foram informados disponibilizados no formulário.

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.

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 LAPostVld é executado na requisição de apontamento da perda da API ProductionAppointment.
Com este ponto de entrada, é possível validar as informações que estão sendo enviadas para gravar o apontamento de perda e retornar uma mensagem personalizada informando a inconsistência identificada, impedindo a persistência do apontamento de perda caso as informações sejam inválidas.
Este ponto de entrada é executado depois do ponto de entrada LAPostMnt, responsável pela manipulação dos dados para o apontamento de perda.


Dica
title
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().

Dica
titleCampos Customizados

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

Ex.:

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

      oJson["BC_QUANTCSTNUME"] := 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:

LAPostVld( ) --> 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 LAPostVld()
    Local aRetVld    := {.T.,""}
    Local cBodyParam := PARAMIXB[1]
    Local oJsRet     := JsonObject():New()
      
    //Converte a string JSON para objeto JSON, para que seja possível manipular os dados.
    oJsRet:FromJson(cBodyParam)
    If oJsRet["BC_OPERAC"] == "10"
        aRetVld := {.F.,"Não é permitido apontar perda na operação 10!"}
    EndIf
    conout("arrtokstr: " + arrtokstr(aRetVld))
    //Limpa da memória o objeto Json utilizado.
    FreeObj(oJsRet)
Return aRetVld