Árvore de páginas

Versões comparadas

Chave

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

CONTEÚDO

  1. Visão Geral
  2. API x Pontos UPC Relacionados
  3. JSON de metadata
  4. Especificidades de customização
  5. Customizar a imagem do Item
  6. Observações Gerais

01. Visão Geral 
Âncora
1
1

Este documento tem como objetivo detalhar as possibilidades de personalização na tela HTML do programa  (html.cq022)

Aviso
titleImportante

O método de customização para o html.cq0222 está baseado em código Progress, portanto não requer conhecimento específico de Angular, apenas conhecimento básico de JSON.

02. API x Pontos UPC Relacionados
Âncora
2
2

Cadastrar no menu do Datasul a API REST - cqp/api/v1/fichaCQInspecao.p.   Para mais detalhes, consulte o tópico 5 da documentação Customização PO-UI.

...

USING PROGRESS.json.*.
USING PROGRESS.json.ObjectModel.*.
USING Progress.Lang.Error.
USING com.totvs.framework.api.*.
USING com.totvs.framework.api.JsonApiResponseBuilder.

DEF INPUT                 PARAM PARAM pEndpoint   AS CHAR         NO-UNDO.
DEF INPUT                PARAM pEvent          AS CHAR         NO-UNDO.
DEF INPUT                PARAM pProgram     AS CHAR         NO-UNDO.
DEF INPUT-OUTPUT PARAM pJsonObject AS JsonObject   NO-UNDO.


Manipulação de Dados
EndpointEventoObjetivo
findByIdfindById
Get:

Na pesquisa pelo número, retorna os dados de um único roteiro (Get).   Permite

alterar

complementar os dados retornados

antes de apresentá-los na

para apresentar em tela.

FindAllFindAll

Query: retorna os dados de vários roteiros, conforme filtro.   Permite

alterar

complementar os dados

antes de apresentá-los na

retornados para apresentar em tela.

getResults

FindResults

Permite

alterar os

complementar ou ocultar dados dos exames e resultados

do roteiro

(tanto os pendentes quanto os já digitados) antes de apresentá-los na tela.

saveResultsbeforeSaveResultsPermite
alterar os
validar ou complementar dados e resultados dos exames antes de salvar.
saveResultsafterSaveResults Recebe os dados que foram salvos no banco de dados, permitindo que outras ações customizadas sejam executadas.
findSamplinggetSamplingPlan

Recebe os dados de Amostragem antes de apresentá-los na tela Unidades Não Conforme - Plano de Amostragem.

saveSampling
saveQtyNonConform
beforeSaveSampling
beforeSaveQtyNonConformNa
Permite interferir nos dados de
tela Unidades Não Conforme - Plano de Amostragem,
incluindo
permite validar a Quantidade de Não Conformes, antes de salvar no banco de dados.
saveSampling
saveQtyNonConform
afterSaveSampling
afterSaveQtyNonConformNa tela Unidades Não Conforme - Plano de Amostragem, permite customização após salvar no banco de dados
Permite ações customizadas após salvar
a Quantidade de Não Conformes
no banco de dados
.
confirmInspectionbeforeConfirmInspection
Executado
Executa antes de Encerrar a inspeção e recebe os dados que estão na tela inicial, inclusive campos customizados.
confirmInspectionafterConfirmInspectionExecutado após de encerrar a inspeção.
findStockMovementgetDefaultsStock

Executa antes de apresentar os valores iniciais na tela de movimentação de estoque (depósito,

como depósito e

local, etc).

saveStockMovementbeforeSaveStockMovement Executado antes de salvar a movimentação do Estoque.
saveStockMovementafterSaveStockMovementExecutado após salvar a movimentação do Estoque.


03. Especificidades de Customização
Âncora

...

3

...

3

...

Nesta tela foi adicionado áreas que permitirão receber campos customizados através da edição dos metadados retornados pela API REST do Datasul.   Assim é possível criar campos customizados nas seguintes telas:
•    Tela principal
•    Tela de Resultados
•    Tela de Estoque

EndpointEventoObjetivo
getMetaDatalistPermite
alterar os metadados enviados para a
criar campos ou ocultar conteúdo na tela inicial (método query).

detailPermite
alterar os metadados enviados para a tela principal
criar campos ou ocultar conteúdo na tela inicial (método get)

detailResults Permite
alterar os metadados enviados para a
criar campos ou ocultar conteúdo  na interface na tela de Resultados.

detailStockMovement 

Permite

alterar os metadados enviados para a interface

criar campos ou ocultar conteúdo na tela de movimentação de estoque.


Os metadados específicos devem ser retornados como JSON no padrão do PO-UI e pode ser usada a ferramenta abaixo para montar exemplos:
https://po-ui.io/tools/dynamic-view

Os metadados dos campos customizados devem ser retornados para a interface através do objeto “formConfigs”, que deverá conter os objetos “dynamicViewConfigs” e “dynamicFormConfigs”. 

  • No objeto “dynamicViewConfigs” deverão ser enviados os campos que serão views, ou seja, apenas de visualização.
  • No objeto “dynamicFormConfigs” deverão ser enviados os campos que serão forms, ou seja,

...

  • campos para preenchimento

...

  • do usuário.


Abaixo exemplo de JSON de metadados com objeto customizado:
    "formConfigs": {
        "dynamicViewConfigs": [
            {
                "gridLgColumns": 3,
                "visible": true,
                "gridColumns": 3,
                "property": "descOrigem",
                "gridSmColumns": 6,
                "gridXlColumns": 3,
                "label": "Origem",
                "tag": true,
                "type": "string",
                "gridMdColumns": 4,
                "order": 6
            }
        ],
        "dynamicFormConfigs": [
            {
                "columns": 10,
                "property": "detalhesFicha",
                "label": "Detalhes Ficha",
                "type": "String",
                "rows": 10
            }
        ]
    }

Para montar exemplos de JSON do PO-UI pode ser usada a ferramenta abaixo: 
https://po-ui.io/tools/dynamic-view

...

Neste exemplo foi adicionado o campo Origem (Estoque) para visualização e Detalhes Ficha para digitação:

Image Added

Obs:  neste exemplo, o valor digitado na tela inicial é enviado ao back end apenas pelo botão Encerrar, que executa o endpoint "confirmInspection", possibilitando interceptar o JSON object no Evento "beforeConfirmInspection" para pegar o valor e gravar numa tabela customizada.

04. Customizar a imagem do Item   
Âncora
4
4

Para customizar a busca pela imagem do item deve-se cadastrar a UPC para a "apiProduct" e tratar o evento "before-product-image" que permite passar o arquivo imagem e diretório onde está a imagem.

Esta customização segue o formato tradicional de customização de API/DBO, recebendo o evento e a tt-epc, pois a chamada é feita dentro da API de regras e não na API REST.

Parâmetros padrão de UPC:

  {include/i-epc200.i} /* Definição tt-epc */

  DEF INPUT PARAM p-ind-event  AS CHAR NO-UNDO.

  DEF INPUT-OUTPUT PARAM TABLE FOR tt-epc.


Endpoint

Evento

Parâmetro

Tipo

Descrição

image

before-product-image

tableKey

Envio

Código do item



arqImage

Envio/Retorno

Arquivo da imagem



dirImage

Envio/Retorno

Diretório da Imagem



RowErrors

Handle

Temp-table de erros

05. Observações Gerais 
Âncora
5
5


  • O cliente deve cadastrar os grupos de usuário que terão permissão para executar este programa, mesmo ele não sendo uma tela.
  • Objetos não mencionados neste documento não podem ser customizados por padrão.

  • Não é possível excluir campos desta tela, mas é possível interferir no conteúdo JSON retornado, para ocultar os dados.
  • Caso seja necessário customizar outros componentes, deve-se abrir um ticket de solicitação, justificando a necessidade.