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 no padrão do PO-UI. 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, formulários abertos para preenchimento por parte 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
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.