Este documento tem como objetivo detalhar as possibilidades de personalização na tela HTML do programa (html.cq022).
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. |
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.
O programa customizado (UPC) deverá tratar os seguintes parâmetros:
• Endpoint: identifica o método que está sendo executado
• Evento: identifica o evento/ponto UPC dentro do método
• Programa: nome do programa que está sendo executado (API REST)
• Objeto JSON: handle do objeto que contém o JSON que está sendo recebido ou retornado pelo método
Parâmetros padrão de UPC:
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 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 | ||
|---|---|---|
| Endpoint | Evento | Objetivo |
| findById | findById | Get: retorna os dados de um único roteiro. Permite alterar os dados retornados antes de apresentá-los na tela. |
| FindAll | FindAll | Query: retorna os dados de vários roteiros, conforme filtro. Permite alterar os dados antes de apresentá-los na tela. |
getResults | FindResults | Permite alterar os dados dos exames e resultados do roteiro (tanto os pendentes quanto os já digitados) antes de apresentá-los na tela. |
| saveResults | beforeSaveResults | Permite alterar os resultados dos exames antes de salvar. |
| saveResults | afterSaveResults | Recebe os dados que foram salvos no banco de dados, permitindo que outras ações customizadas sejam executadas. |
| findSampling | getSamplingPlan | Recebe os dados de Amostragem antes de apresentá-los na tela. |
| saveSampling | beforeSaveSampling | Permite interferir nos dados de tela Unidades Não Conforme - Plano de Amostragem, incluindo a Quantidade de Não Conformes, antes de salvar no banco de dados. |
| saveSampling | afterSaveSampling | Permite ações customizadas após salvar a Quantidade de Não Conformes no banco de dados. |
| confirmInspection | beforeConfirmInspection | Executado antes de Encerrar a inspeção. |
| confirmInspection | afterConfirmInspection | Executado após de encerrar a inspeção. |
| findStockMovement | getDefaultsStock | Executa antes de apresentar os valores iniciais na tela de movimentação de estoque, como depósito e local. |
| saveStockMovement | beforeSaveStockMovement | Executado antes de salvar a movimentação do Estoque. |
| saveStockMovement | afterSaveStockMovement | Executado após salvar a movimentação do Estoque. |
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
| Endpoint | Evento | Objetivo |
|---|---|---|
| getMetaData | list | Permite alterar os metadados enviados para a tela inicial (método query). |
| detail | Permite alterar os metadados enviados para a tela principal (método get) | |
| detailResults | Permite alterar os metadados enviados para a interface na tela de Resultados. | |
| detailStockMovement | Permite alterar os metadados enviados para a interface 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”.
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
}
]
}
Neste exemplo foi adicionado o campo Origem (Estoque) para visualização e Detalhes Ficha para digitação:

Objetos não mencionados neste documento não podem ser customizados por padrão.
Caso seja necessário customizar outros componentes, deve-se abrir um ticket de solicitação, justificando a necessidade.