- Smart View - Criação de Objetos de Negócios
- Smart View - Configuração do produto Protheus integrado ao Smart View
- Novo Smart View implantado.
- A partir da LIB Label 20231121
Foi implementado na integração com o Smart View a possibilidade dos parâmetros nativos terem lookup (consulta) e combo.
Como funcionará para os parâmetros nativos do SX1
Lookup
As consultas de lookup cadastradas no SX1 que se encaixam como simples (DB) e não possuem filtros/funções, irão ser retornadas automaticamente ao aplicarem a lib com a nova implementação.
Mais informações sobre quais consultas serão contempladas, ler a documentação completa da api criada: GenericLookupService
Também é possível utilizar a GenericQuery para criar as consultas.
Combo
Os parâmetros do SX1 que possuem combo, receberão seus valores automaticamente ao aplicar a lib com a implementação.
Criamos uma api para retornar os combos da SX1, mais informações na documentação: OptionsService (Smart View)
Para manter o mesmo comportamento do pergunte do Protheus, o retorno da api de combo (propriedade key) será numérico.
Possibilidade de adicionar uma consulta personalizada para os parâmetros
Método setCustomURL()
Seta a URL da consulta personalizada.
Este método deverá ser utilizado no getSchema() do objeto de negócio, após ser criado todos os parâmetros nativos, para o mesmo ter a referência do ID enviado.
Parâmetros:
Nome | Tipo | Obrigatório | Default | Descrição |
---|---|---|---|---|
cId | Caractere | X | Id do parâmetro | |
cCustomUrl | Caractere | X | URl personalizada (path) | |
nType | Numérico | X | Indica o tipo de consulta. 1 - Combo 2 - Lookup |
Exemplo de uso para o combo:
|
Exemplo de uso para o lookup:
|
Sintaxe: self:setCustomURL
() → nil
- As api's criadas pelo desenvolvedor devem seguir os padrões de retorno documentados abaixo
- As api's de lookup devem ter paginação de acordo com o volume de dados retornados
- As api's de lookup devem estar preparadas para receber o filtro "q" onde deverá ser feita a pesquisa em todos campos inseridos na consulta
- As api's de lookup devem estar preparadas para tratar o page e o pageSize
Novas funcionalidades
A partir da LIB Label 20240115 será possível utilizar a api GenericQuery para criar lookups customizados a partir de uma query, verificar a documentação completa.
Exemplo de uso:
|
Exemplo de retorno esperado pelo Smart View para valores do Combo
{ "data": [ { "key": 1, "label": "Todos" }, { "key": 2, "label": "Em aberto" }, { "key": 3, "label": "Atendidos" } ] }
- key = Valor que será retornado (chave)
- label = Label de exibição
Valores exibidos no Smart View
Exemplo de retorno esperado pelo Smart View para valores do Lookup
{ "data": [ { "b1_cod": "COM00000000000000000000000011", "b1_desc": "PRODUTO PADRAO ALT _" }, { "b1_cod": "COM000000000006", "b1_desc": "REQUEIJAO CREMOSO LIGHT 175 G" }, { "b1_cod": "COM0000MAT103CT030", "b1_desc": "PROD COM0000MAT103CT030" } ], "keyProperty": "b1_cod", "descriptor": { "b1_cod": "Codigo", "b1_desc": "Descricao" }, "nextPageUrl": "http://127.0.0.1:8050/rest/api/framework/v1/genericLookupService/smartview/SB1?page=2&pageSize=10" }
- keyProperty = Valor que será retornado (chave)
- descriptor = Descrição das colunas de cada campo presente na consulta
- nextPageUrl = Rota para próxima página de dados
Valores exibidos no Smart View
Uso do Lookup no Smart View
A regra para os Lookups no Smart View é o usuário primeiramente realizar uma pesquisa, de no mínimo 3 caracteres para aparecer os resultados da consulta.