Árvore de páginas

Versões comparadas

Chave

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

CONTEÚDO

  1. Cadastrando um novo Monitor exclusivo
  2. Criando uma nova Api de negócio2.1. 
    1. Implementando procedure de modo Gráfico
    2.2.
    1. Implementando procedure de modo Detalhe


01. CADASTRANDO UM NOVO MONITOR EXCLUSIVO

Primeiro O primeiro passo para criar o seu Monitor Exclusivo é acessar no menu do ERP Datasul o programa Gestão à Vista - Monitores ÚnicosExclusivos (ou pelo código html.supply.Monitor.Custom).

Acessando o programa Nesta rotina é possível visualizar os monitores Exclusivos já cadastrado cadastrados e /ou realizar o cadastro de um novo monitor:

...

Informações
titleInformação

Pode-se notar que indicamos como nossa Api de Negócio o programa cpp/exclusivo/statusOrdem.pEsse programa ainda não existe (iremos construí-lo em breve), porém precisamos informar seu futuro caminho no momento da criação do monitor. Se porventura o nome da API for alterado ou ela seja movida para um novo diretório, não se preocupe com isso agora, iremos construir esse .p nos passos adianteesqueça de atualizar esse cadastro com o novo caminho/nome.



No nosso exemplo, iremos cadastrar apenas dois filtros, Estabelecimento e Desde quando (que irá representar o número de dias no passado que iremos buscar as ordens de produção de acordo com a sua data de criação).

...

Nota
titleLembre-se disso

Note que os filtros possuem como código de propriedade os valores cod-estabel e qtd-dias-atras respectivamente, isso será importante para o momento em que criaremos a Api de negócio.


02. CRIANDO UMA NOVA API DE NEGÓCIO

Para criar a Api de negócio o primeiro passo é realizar a importação de classes do Progress que permitem a utilização de objetos do tipo JSON, além disso também é importante definir as includes disponibilizadas pelo Gestão à Vista.

Além da importação dos objetos Progress e definição de includes, também sugerimos criar uma função para verificar se existem RowErrors, essa função será útil para reaproveitamento de código posteriormente.


Bloco de código
titleExemplo de código
linenumberstrue
collapsetrue
BLOCK-LEVEL ON ERROR UNDO, THROW.
 
USING PROGRESS.json.*.
USING PROGRESS.json.ObjectModel.*.
USING cdp.services.gestaoavista.*.   //A classe ChartBuilder está definida aqui.
 
{method/dbotterr.i}
{cdp/services/gestaoavista/builder-utils.i}
{cdp/services/gestaoavista/monitor-utils.i}

FUNCTION fn-has-row-errors RETURNS LOGICAL ():
    FOR EACH RowErrors 
        WHERE UPPER(RowErrors.ErrorType) = 'INTERNAL':U:
        DELETE RowErrors. 
    END.

    RETURN CAN-FIND(FIRST RowErrors 
        WHERE UPPER(RowErrors.ErrorSubType) = 'ERROR':U).
    
END FUNCTION.

...

 FUNCTION.


Após essa etapa, será necessário definir as procedures de acordo com a forma que o seu monitor exclusivo foi cadastrado, por exemplo:

Monitores do tipo gráfico, devem implementar a procedure pi-get-monitor-data-chart.

Monitores do tipo texto, devem implementar a procedurepi-get-monitor-data-info.

Ambos os tipos de monitores suportam o modo de detalhe das informações O modo detalhe (tanto para gráfico ou texto) deve ser implementado através da procedure pi-get-monitor-detail.


Informações
titleInformação

Neste guia vamos considerar dar continuidade com a construção de um monitor do tipo Gráfico com modo Detalhe.


02.

...

a. IMPLEMENTANDO A PROCEDURE DE MODO GRÁFICO

No bloco de código abaixo, iremos criar a procedure pi-get-monitor-data-chart (maiores detalhes sobre ela podem ser consultados aqui), para o nosso exemplo neste guia, iremos realizar uma query dinâmica na tabela ord-prod para realizar a contagem de Ordens x Situação aplicando os filtros de estabelecimento e desde quando que é calculado em número de dias retroativos a hoje.

...

Após a inclusão dessa procedure na api, já é possível adicionar esse monitor exclusivo em uma Visão e observar o resultado espero conforme abaixo:

Exemplos de outros tipos de gráficos podem ser consultados em: Exemplos adicionais de monitores.


02.

...

b. IMPLEMENTANDO A PROCEDURE DE MODO DETALHE

No bloco de código abaixo, iremos criar a procedure pi-get-monitor-data-detail (maiores detalhes sobre ela podem ser consultados aqui), através da definição dessa procedure é possível fazer o retorno do schema e dados da modal de detalhe para detalhar as informações que estão sendo mostradas no monitor (por exemplo, lista de registros que foram considerados para montar o gráfico do monitor).

...

Em anexo também estamos disponibilizando o código completo utilizado neste exemplo:passo a passo:

View file
nameExemplo Monitor Exclusivo.zip
height250

Para mais exemplos, consulte a página Exemplos adicionais de monitores.Download