Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
Descrição:
Retorna uma listagem do alias informado, podendo ser mais de um alias.
Essa API foi criada com base na classe FWAdapterBaseV2, logo ela permite filtros, seleção de campos, paginação e ordenação.
Informações | ||
---|---|---|
| ||
É necessário ligar a segurança do socket do rest para a utilização dessa api (chave SECURITY=1) |
Informações | ||
---|---|---|
| ||
A partir da LIB Label 20240115 a genericQuery suportará o formato padrão do lookup do SV, informações no final da documentação. |
Parâmetros
Nome | Tipo | Descrição | Obrigatório | Valor padrão |
---|---|---|---|---|
Tables | String | Indica o alias da tabela que terá seus dados listados, caso seja mais de uma tabela, os alias devem ser separados por vírgula | X | |
FilialFilter | Boolean | Indica se deve ser feito o filtro da filial ([ALIAS]_FILIAL) - Opcional, tendo seu valor como verdadeiro por padrão. | true | |
DeletedFilter | Boolean | Indica se deve ser feito o filtro de campos deletados de forma lógica (D_E_L_E_T_) | true | |
Where | String | Indica um filtro SQL que será incluso na query | ||
FromQry | String | Para querys mais complexas, que exigem um left join por exemplo, o FROM e JOIN podem ser informados aqui, sendo que por padrão, a tabela deve ter um alias conforme o SX2, exemplo: SED990 SED |
Painel | ||
---|---|---|
| ||
api/framework/v1/genericQuery?tables=SED,SE1&fields=ed_codigo,ed_descric,e1_prefixo,e1_num,e1_parcela,e1_tipo&where=SED.D_E_L_E_T_=' ' AND SE1.D_E_L_E_T_ = ' ' AND SE1.E1_NATUREZ = SED.ED_CODIGO AND SE1.E1_FILIAL = 'D MG 01' AND SED.ED_FILIAL = 'D MG 01'
|
Nota | ||
---|---|---|
| ||
Caso seja informado mais de um alias e não seja informado um FromQry, é necessário que os filtros enviados ou o Where faça a devida junção entre as tabelas, caso contrário podemos ter cenários de JOIN sem WHERE ou ON, gerando uma quantidade de registros muito gande além do processamento da mesma no banco de dados. Todas as tabelas tem um alias, como citado no parâmetro FromQry, logo a tabela SED990 é utilizada como SED, isso evita problemas em filtros de campos de mesmo nome, como o D_E_L_E_T_. |
Informações |
---|
O JSON retornado tem como chave o nome do campo na tabela, evitando assim problemas com localização. |
Informações | ||
---|---|---|
| ||
Caso o usuário que consuma a API não tenha acesso a algum campo, esses campos não são retornados e a propriedade protectedDataFields do JSON de retorno listará tais campos. |
Informações | ||
---|---|---|
| ||
Assim como nos dados protegidos, caso o usuário não tenha acesso a um campo, ele não será retornado, sendo listado na propriedade nivelFields do JSON de retorno. |
Aviso | ||
---|---|---|
| ||
Devido ao nome de algumas tabelas do Protheus terem três letras e serem palavras reservadas do SQL, algumas tabelas recebem o sufixo PFW para que a query funcione corretamente:
Isso afeta apenas o alias (apelido) da tabela na query, exemplo: SELECT * FROM SETT10 SETPFW WHERE SETPFW.D_E_L_E_T_ = ' ' Essa mudança de comportamento está presente na lib 20241125 ou superior. |
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "items": [ { "e5_tipo": "NF", "e5_vlmoed2": 4692.5, "e5_motbx": "NOR", "e5_tipodoc": "VL", "e5_dtdispo": "2015-3-3", "e5_numero": "000812", "e5_parcela": "", "e5_loja": "01", "e5_filorig": "M SP 01", "e5_naturez": "FIS0000031", "e5_filial": "M SP 01", "e5_histor": "Valor recebido s/ Titulo", "e5_valor": 4692.5 } ], "remainingRecords": 474, "protectedDataFields": [ "E5_BANCO", "E5_BENEF" ], "nivelFields": [ "E5_MSFIL" ], "hasNext": true } |
Templatedocumentos |
---|
HTML |
---|
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |
Formato padrão do Smart View
A partir da LIB Label 20240115 será possível utilizar a genericQuery no Smart View para as consultas do tipo Lookup.
Esse formato segue as mesmas regras documentadas acima, o que mudará será o formato de retorno da api.
Novos Parâmetros
Nome | Tipo | Descrição | Obrigatório | Valor padrão |
---|---|---|---|---|
Format | String | Indica se o formato de retorno é no padrão do Smart View | X | |
KeyProperty | String | Indica o campo que deverá ser retornado da consulta, o mesmo deve estar contido nos campos da consulta | x |
Além dos parâmetros padrões indicados no início da documentação, para utilizar o padrão esperado pro Smart View é necessário enviar os novos parâmetros Format e keyProperty KeyProperty.
Painel | ||
---|---|---|
| ||
api/framework/v1/genericQuery?tables=SED,SE1&fields=ed_codigo,ed_descric,e1_prefixo,e1_num,e1_parcela,e1_tipo&where=SED.D_E_L_E_T_=' ' AND SE1.D_E_L_E_T_ = ' ' AND SE1.E1_NATUREZ = SED.ED_CODIGO AND SE1.E1_FILIAL = 'D MG 01' AND SED.ED_FILIAL = 'D MG 01' AND SED.ED_CODIGO <> ''&Format=smartview&KeyProperty=ed_codigo
|
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
{ "data": [ { "ed_codigo": "0000000001", "ed_descric": "NATUREZA PROCESSE TMKA290", "e1_prefixo": "", "e1_num": "000000001", "e1_parcela": "", "e1_tipo": "NF" } ], "remainingRecords": 355, "protectedDataFields": [], "keyProperty": "ed_codigo", "nextPageUrl": "http://127.0.0.1:8050/rest/api/framework/v1/genericQuery?FromQry=SEDT10 SED JOIN SE1T10 SE1 ON SE1.E1_NATUREZ = SED.ED_CODIGO&tables=SED,SE1&fields=ed_codigo,ed_descric,e1_prefixo,e1_num,e1_parcela,e1_tipo&where=SED.D_E_L_E_T_=' ' AND SE1.D_E_L_E_T_ = ' ' AND SE1.E1_FILIAL = 'D MG 01' AND SED.ED_FILIAL = 'D MG 01 ' AND SED.ED_CODIGO <> ''&e1_parcela=''&e1_prefixo=''&Format=smartview&keyproperty=ed_codigo&page=2", "descriptor": { "ed_codigo": "Codigo", "ed_descric": "Descricao", "e1_prefixo": "Prefixo", "e1_num": "No. Titulo", "e1_parcela": "Parcela", "e1_tipo": "Tipo" } } |