Árvore de páginas

PBData - Alterações da apresentação de dados do Gestão à Vista

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):
NomeTipoDescriçãoDefaultObrigatórioReferencia
PARAMIXBArray

PARAMIXB[1] - código da visão (numérico), pode ser consultado na tabela HZC, campo HZC_VISAO

PARAMIXB[2] - código do monitor (texto), pode ser consultado na tabela HZC, campo HZC_MONIT

PARAMIXB[3] - sequência do monitor na visão (numérico), pode ser consultado na tabela HZC, campo HZC_SEQUEN

PARAMIXB[4] - Objeto Json com a estrutura utilizada para renderização dos monitores.


X

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 PBData permite ao usuário alterar resultados, alterar cores e adicionar tags adicionais nos monitores da rotina Gestão à Vista. 
Localização:

Função BuscaDados da rotina PCPMONITORAPI.prw

Eventos:

A cada atualização de cada um dos monitores da rotina Gestão à Vista.

Programa Fonte:PCPMONITOR.prw

Sintaxe:

PBData() → oJsonRet

Retorno:

oJsonRet- Objeto com as informações à serem apresentadas no monitor, a alteração desse objeto é feito por referência, não sendo retornado explicitamente pelo ponto de entrada.

Observações:


Exemplo:

O exemplo abaixo realiza alterações em dois monitores de uma visão. A partir deste ponto de entrada é possível realizar alterações em n monitores de n visões diferentes, para isso são passados o código da visão, do monitor e a sequência do monitor na visão como parâmetros, permitindo identificar em qual monitor específico serão feitas as alterações desejadas.
No exemplo são adicionadas tags adicionais, alteradas cores e textos dos monitores, também é possível complementar os dados retornados.

Exemplo
#INCLUDE "Protheus.ch"
  
User Function PBData()
    Local nCodVisao := PARAMIXB[1] //Código da visão
    Local cCodMon   := PARAMIXB[2] //Código do monitor
    Local nSeqVisao := PARAMIXB[3] //Sequencia do monitor na visão
    Local oJson     := PARAMIXB[4] //Estrutura do monitor
     
    If nCodVisao == 5 //Verifica se está na visão correta
        If cCodMon == "000000000008" .And. nSeqVisao == 1 //Verifica se é o monitor correto
            //Altera uma categoria do monitor
            oJson["series"][1]["color"]   := "red"
             
            //Adiciona uma tag customizada
            aAdd(oJson["tags"], JsonObject():New())
            oJson["tags"][6]["icone"] := "po-icon-bar-code"
            oJson["tags"][6]["texto"] := "Tag customizada"
            oJson["tags"][6]["colorTexto"] := "green"
        EndIf
     
        If cCodMon == "000000000010" .And. nSeqVisao == 2 //Verifica se é o monitor correto 
            //Altera uma categoria do monitor
            oJson["series"][1]["label"]   := "Prevista"
            oJson["series"][1]["color"]   := "rgb(0,0,255)"
            oJson["series"][1]["tooltip"] := "Ordens Previstas"
             
            //Altera a cor das categorias
            oJson["series"][2]["color"] := "green"
            oJson["series"][3]["color"] := "yellow"
            oJson["series"][4]["color"] := "red"
            oJson["series"][5]["color"] := "black"
 
            //Adiciona uma tag customizada
            aAdd(oJson["tags"], JsonObject():New())
            oJson["tags"][4]["icone"] := "po-icon-bar-code"
            oJson["tags"][4]["texto"] := "Tag customizada"
            oJson["tags"][4]["colorTexto"] := "green"
        EndIf
    EndIf
     
Return Nil

Visão "Ordens" sem alterações.

Visão "Ordens" com as alterações realizadas no exemplo PBData.