Árvore de páginas

Versões comparadas

Chave

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

POGetPdInf - Manipular informações da ordem de produção para o 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 as informações padrões do produto informado para a criação da ordem de produção, além da informações para inicialização padrão de alguns campos, que será retornado pela API. Para manipular as informações do Json, é sugerido que seja realizada a conversão da String para um JsonObject, e após manipular os dados converta o objeto de formato JsonObject para string novamente. O exemplo deste ponto de entrada já possui este processo.

O Json conterá as seguintes informações:

"C2_PRODUTO" - Código do Produto
"C2_PRODESC" - Descrição do Produto
"C2_LOCAL" - Armazém
"C2_UM" - Unidade de Medida
"C2_ROTEIRO" - Roteiro
"C2_REVISAO" - Revisão da Estrutura
"C2_SEGUM" - Segunda Unidade de Medida
"C2_CC" - Centro de Custo
"C2_PRIOR" - Prioridade
"C2_EMISSAO" - Data de Emissão
"C2_TPPR" - Tipo da Produção
"C2_STATUS" - Status da Ordem
"C2_TPOP" - Tipo da OP
"C2_OPTERCE" - OP de Terceiros




PARAMIXB[2]Caracter

Código do formulário acessado no APP Minha Produção para realizar a chamada 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 POGetPdInf é executado nas requisições de consulta de Produto da API ProdOrderApp. Com este ponto de entrada, é possível modificar as informações que serão retornadas para o APP Minha Produção.
Localização:

API ProdOrderApp, método GET productInfo - Responsável por buscar as informações de um produto para utilização no APP Minha Produção.

Eventos:

Não se aplica.

Programa Fonte:ProductionOrderAppAPI.PRW

Sintaxe:

POGetPdInf( ) --> oJsonRet

Retorno:
NomeTipoDescriçãoObrigatório
cJsonRetCaracter

JSON que deverá ser retornado pela API, com todas as informações da ordem de produçãoque foram recebidas, e podendo adicionar outros campos que estão presentes no formulário do programa pcpa125. Mesmo que não seja realizada a alteração de nenhuma informação no ponto de entrada, o JSON deverá ser retornado com base no parâmetro PARAMIXB[21] que foi recebido pelo ponto de entrada.
Além das informações inerentes a cada tipo de apontamentocom campos padrões do sistema, é possível retornar conteúdo para os campos customizados (caso o cliente utilize algum destes campos no seu formulário), incluindo as seguintes chaves:'

'

CustomFieldCharacter01

CustomFieldCharacter01' - Campo customizável tipo texto 01
'

CustomFieldCharacter02

CustomFieldCharacter02' - Campo customizável tipo texto 02
'

CustomFieldCharacter03

CustomFieldCharacter03' - Campo customizável tipo texto 03
'

CustomFieldCharacter04

CustomFieldCharacter04' - Campo customizável tipo texto 04
'

CustomFieldCharacter05

CustomFieldCharacter05' - Campo customizável tipo texto 05
'

CustomFieldDecimal01

CustomFieldDecimal01' - Campo customizável

tipo numérico

tipo numérico 01
'

CustomFieldDecimal02

CustomFieldDecimal02' - Campo customizável

tipo numérico

tipo numérico 02
'

CustomFieldDecimal03

CustomFieldDecimal03' - Campo customizável

tipo numérico

tipo numérico 03
'

CustomFieldDecimal04

CustomFieldDecimal04' - Campo customizável

tipo numérico

tipo numérico 04
'

CustomFieldDecimal05

CustomFieldDecimal05' - Campo customizável tipo numérico 05
'

CustomFieldDate01

CustomFieldDate01' - Campo customizável tipo data 01
'

CustomFieldDate02

CustomFieldDate02' - Campo customizável tipo data 02
'

CustomFieldDate03

CustomFieldDate03' - Campo customizável tipo data 03
'

CustomFieldDate04

CustomFieldDate04' - Campo customizável tipo data 04
'

CustomFieldDate05

CustomFieldDate05' - Campo customizável tipo data 05

'CustomFieldLogical01

'CustomFieldLogical01' - Campo customizável tipo lógico 01
'CustomFieldLogical02' - Campo customizável tipo lógico 02
'CustomFieldLogical03' - Campo customizável tipo lógico 03
'CustomFieldLogical04' - Campo customizável tipo lógico 04
'CustomFieldLogical05' - Campo customizável tipo lógico 05
'CustomFieldList01' - Campo customizável tipo lista 01
'

CustomFieldLogical02

CustomFieldList02' - Campo customizável

tipo lógico

tipo lista 02
'

CustomFieldLogical03

CustomFieldList03' - Campo customizável

tipo lógico

tipo lista 03
'

CustomFieldLogical04

CustomFieldList04' - Campo customizável

tipo lógico

tipo lista 04
'

CustomFieldLogical05

CustomFieldList05' - Campo customizável

tipo lógico

tipo lista 05


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 PApGetOPPOGetPdInf()
	    Local cTipocJson     := PARAMIXB[1]
	Local  cJsRet  Local cFormCode := PARAMIXB[2]
	Local  cFormCode := PARAMIXB[3]
	Local oJsRetLocal oJson     := JsonObject():New()
	
	    //Converte a string JSON para objeto JSON, para que seja possível manipular os dados.
	oJsRet    oJson:FromJson(cJsRetcJson)

	Conout("PE antes alteracao. Tipo: "If + cTipo +cFormCode == " JSON: FORMOP"
 + cJsRet)

	Do Case
		Case cTipo == "1" // Apontamento MATA250
			oJsRet oJson["CostCenterC2_PRIOR"]  := "01"
			oJsRet["CustomFieldCharacter01"] := "Produto:" + oJsRet["ItemCode"]
		Case cTipo == "3" // Apontamento MATA681
			If cFormCode := "USINAGEM"
				oJsRet["MachineCode"] := "REC" // Máquina padrão para o formulário "USINAGEM"
			Else
				oJsRet["MachineCode"] := "IMP" // Máquina padrão para o restante dos formulários
            EndIf
		Case cTipo == "4" // Apontamento SFCA314
			oJsRet["EndReportTime"] := Time()
	EndCase
	 999               //campo padrão disponível no formulário do programa pcpa125
        oJson["CustomFieldCharacter02"] := "JOAO CRIOU A OP" //campo customizado
    EndIf

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

	    //Limpa da memória o objeto Json utilizado.
	FreeObj(oJsRet)

	Conout("PE Apos alteracao. Tipo: " + cTipo + " JSON: " + cJsRet)FREEOBJ( oJson )

Return cJsRet



cJson