Árvore de páginas

Versões comparadas

Chave

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

POGetProd - Manipular informações na pesquisa de produtos para a ordem de produção no 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]Array Objects

Array  de objetos com os produtos que serão retornados na pesquisa de produtos dos formulários de criação de ordem de produção.

Cada posição do array contém um json object com o código e descrição do produto, além de campos reservados para mostrar contéudo customizado no card do produto na pesquisa.




PARAMIXB[2]StringCódigo do formulário.


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 POGetProd é executado na requisição de consulta dos produtos após informar os parâmetros de pesquisa.
Com este ponto de entrada, é possível adicionar e remover produtos da pesquisa, além de adicionar até duas informações por produto para mostrar no card da pesquisa.

Localização:

API prodOrderApp, método Get queryProducts- Responsável por devolver os produtos que se encaixam nos parâmetros da pesquisa.

Eventos:

Não se aplica.

Programa Fonte:ProductionOrderAppAPI.PRW

Sintaxe:

POGetProd( ) --> aItemsObj

Retorno:
NomeTipoDescriçãoObrigatório
aItemsObjArray Objects

Array de objetos que será retornado pela api para apresentar a consulta de produtos no aplicativo Minha Produção. Neste array é possível adicionar e remover produtos da pesquisa, além de adicionar até duas informações por produto para mostrar no card da pesquisa.
Mesmo que o array não seja alterado, ele deve ser retornado no mesmo formato para que possa apresentar a consulta 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.

Bloco de código
languagec#
firstline1
titleExemplo
linenumberstrue
#INCLUDE "TOTVS.CH"
 
User Function POGetProd()
    Local cForm    aItemsRet := PARAMIXB[21]
    Local cForm    aItemsObj := PARAMIXB[12]    
    Local nLenArr   := Len(aItemsObjaItemsRet)
    Local nX        := 0
    Local 
oJson    If AllTrim(cForm) = := "OPFORM"
Nil
         
    For nX:=1 To nLenArr
        //Adicionando informações customizadas ao card de um produto na pesquisa
        If AllTrim(aItemsObjaItemsRet[nX]["Code"]) == "PRODUTO"
                aItemsObjaItemsRet[nX]["CustomLabel1"] := ""
                aItemsObjaItemsRet[nX]["CustomValue1"] := "Injetora 01"
                aItemsObjaItemsRet[nX]["CustomLink1"]  := ""
                aItemsObjaItemsRet[nX]["CustomLabel2"] := "Processo Prod."
                aItemsObjaItemsRet[nX]["CustomValue2"] := "Link Processo"
                aItemsObjaItemsRet[nX]["CustomLink2"]  := "http://www.google.com.br/search?q=PRODUTO"
        EndIf
    Next nX

    //Adicionando novo card de produto no retorno da pesquisa
    If AllTrim(cForm) == "OPFORM"
        oJson := JsonObject():New()
        oJson["Code"]         := "PRODUTO3"
        oJson["Description"]  := "DESCRICAO PRODUTO 3"
        oJson["CustomLabel1"] := ""
        oJson["CustomValue1"] := ""
        oJson["CustomLink1"]  := ""
        oJson["CustomLabel2"] := ""
        oJson["CustomValue2"] := ""
        oJson["CustomLink2"]  := ""
        aAdd(aItemsRet, oJson)
    EndIf

    //excluindo card de produto do retorno da pesquisa
    nX := Ascan(aItemsRet,{|x|  Next nXAllTrim(x["Code"]) == "PRODUTO"})
    If nX > 0
        aDel(aItemsRet, nX)
        aSize(aItemsRet, Len(aItemsRet)-1)
    EndIf

    FreeObj(oJson)    

Return aItemsObj aItemsRet