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. | |
É possível retornar os metadados das telas para analisar a estrutura do JSON, executando as requests abaixo (após realizar o login no produto Datasul):
| Tipo | Endpoint | Observações |
|---|---|---|
| Edição de Parâmetros | https://<servidor>:<porta>/api/ofp/v1/itemsParametersOF/metadata?type=edit | Utiliza o código do item como Query Param |
| Visualização de Parâmetros | https://<servidor>:<porta>/api/ofp/v1/itemsParametersOF/metadata?type=view | Utiliza o código do item como Query Param |
A tela não utiliza o componente dinâmico completo (po-page-dynamic-edit), mas sim po-page com componentes como po-input, po-decimal, entre outros. Portanto, alguns elementos não podem ser customizados.
| Propriedade | Descrição | |
|---|---|---|
| scancFuelDistributorForm | Formulário dinâmico
| |
| scancRefineryForm | Formulário dinâmico da aba SCANC Refinaria dos parâmetros dos itens de obrigações fiscais, deve vir um array de objetos que implementam a interface PoDynamicFormField.
| |
| espedForm | Formulário dinâmico da aba Campos SPED dos parâmetros dos itens de obrigações fiscais, deve vir um array de objetos que implementam a interface PoDynamicFormField.
|
Objetos não mencionados neste documento não podem ser customizados por padrão.
Caso seja necessário customizar outros componentes, além dos descritos aqui e na documentação padrão de customização do PO-UI, deve-se abrir um ticket de solicitação, justificando a necessidade.