CONTEÚDO

01. Visão Geral
No módulo de Jurídico Departamentos (SIGAJURI), foi criado uma interface personalizável para as telas de consultas padrão, a fim de permitir pesquisa sem diferenciação por acentuação ou caixa alta/baixa. Estas consultas utilizam uma chamada da função JURSXB(). Este documento tem o objetivo de apresentar que é possível personalizar o comportamento das consultas que usam esta função, caso necessário. Veja a seguir os parâmetros da função.
02. Parâmetros da função JURSXB()
Para utilizar esta função, é necessário configurar alguns parâmetros, como vemos na tabela a seguir:
JURSXB( A, B, C, D, E, F, G , H , I , J )
Parâmetro | Tipo | Descrição | Obrigatório | Exemplo |
|---|
| A | String | Nome da tabela. | x | "SA2" |
|---|
| B | String | Nome da consulta específica | x | "JURSA2" |
|---|
| C | Array | Campos que devem ser exibidos na tela da consulta. |
| {"A2_COD","A2_LOJA","A2_NOME"} |
|---|
| D | Lógico | Define se o botão Visualizar será apresentado. |
| .T. |
|---|
| E | Lógico | Define se o botão Incluir será apresentado. |
| .T. |
|---|
| F | String | Filtro (where) que será concatenado na query |
| "" |
|---|
| G | String | Nome da rotina/fonte que será usado para visualização ou inclusão de registros a partir da consulta padrão. |
| "MATA020" |
|---|
| H | Lógico | Indica se a consulta apresentará dados na sua abertura. Caso configure .F. os valores serão retornados somente ao realizar uma busca no campo de pesquisa. |
| .T. |
|---|
| I | Numérico | Percentual de redução da view quando é informado o fonte. |
| 0 |
|---|
| J | Lógico | Define se o botão Alterar será apresentado. |
| .T. |
|---|
03. Como configurar?
Para realizar as configurações é necessário acessar o configurador (SIGACFG), conforme apresentado a seguir:
1 - Acesse o módulo do Configurador
No menu acesse Base de Dados > Dicionário > Base de Dados. Em seguida, no menu lateral, selecione o item Consultas Padrão:

2 - Utilize o botão de lupa para buscar a consulta que deseja configurar.

Digite o nome do Alias da consulta padrão e clique no botão Buscar:

3 - Acesse a consulta em modo de Alteração.
Clique no botão Alterar:

Ao acessar a tela da consulta no modo de alteração, clique em Avançar

4 - Configure os parâmetros para a função JURSXB()
No campo Expressão configure os parâmetros de acordo com a necessidade para o campo que utiliza a consulta.

Após realizar as alterações necessárias, clique no botão Finalizar.

04. Exemplo de utilização
A seguir vemos o exemplo de configuração para consulta específica do campo de Comarca (NUQ_CCOMAR), utilizado na rotina de Assuntos Jurídicos.
Expressão: JURSXB( "NQ6", "NQ6" ,{ "NQ6_COD", "NQ6_DESC" } , .T., .T., "@#JU183F3NQ6()", "JURA005", .T., 0, .T.)

Utilizando a Consulta:

05. Utilização de filtros - Totvs Departamentos Jurídicos
A seguir veremos como será a utilização dos filtros nas consultas a partir da JURSXB. A regra a seguir vale para a utilização no portal Totvs Departamentos Jurídico. Para os filtros podemos utilizar as seguintes formas:
- Filtro por posição do registro na memória
- Expressão: JURSXB("NT9","JURCST",{"NT9_NOME","NT9_CODENT"},.T.,.T.,"NT9->NT9_CAJURI==NSZ->NSZ_COD")
- Explicação: O Filtro por posição será convertido para uma condição que irá comparar ao menos dois campos na consulta, realizando o filtro desejado. Importante ressaltar que apenas filtros complementares com a NSZ estão disponíveis.
- Filtro por função
- Expressão: JURSXB("CT1","JURFNC",{"CT1_CONTA","CT1_DESC01"},.T.,.T.,"@#U_CT1JUR_NW()")
- Explicação: O filtro por função executará a função inserida, tal função deverá retornar uma condição que por sua vez será utilizada para complementar a busca pelo registro. Importante ressaltar que é necessário a indicação do @# antes da função.
Exemplo de retorno de uma função: " CT1_CLASSE == '2' And CT1_BLOQ <> '1' ".
- Filtro por campo do formulário
- Expressão: JURSXB("SB1","SB1T10",{"B1_DESC","B1_COD"},.T.,.T.,"@#U_JQRYF301(oJson)")
- Explicação: O filtro por campo do formulário executará a função inserida, passando os valores do formulário no Totvs Departamentos Jurídico via parâmetro, tal função deverá retornar uma condição que por sua vez será utilizada para complementar a busca pelo registro. Importante ressaltar que é necessário a indicação do @# antes da função e seu parâmetro oJson.
Exemplo de retorno de uma função: " B1_DESC like '%PRODUTO%' ". - Para mais informações, olhar a seção abaixo.
06. Utilização de filtros pelos campos do formulário - Totvs Departamentos Jurídicos

- Consulta da JURSXB - Consulta padrão
- Nessa etapa estaremos criando a consulta que o campo customizado executará.
- Esse filtro está disponível apenas para funções compiladas, incluindo customizações.
- Para isso é necessário passar como parâmetro da função o oJson, esse será o parâmetro que armazenará os dados do formulário no Totvs Jurídico Departamentos. Importante: Sem a passagem do parâmetro, a função não terá acesso aos dados do formulário.
- Exemplo de consulta JURSXB considerando o filtro de campos:

- Observações:
- Esse filtro está disponível apenas para campos customizados.
- Após criar / editar a consulta padrão, é necessário vincular ao campo que executará a consulta.
- Função com filtro de campos
- Nessa etapa estaremos tratando do filtro que será executado ao consultar o campo customizado.
- Seguindo a mesma regra da etapa anterior, precisamos criar a função com um parâmetro oJson, o mesmo que receberá os campos e seus valores.
- A partir disso o usuário pode criar a condição SQL desejada, utilizando ou não os campos do formulário.
- Importante: O retorno dessa função deve ser uma condição SQL, sem a necessidade do AND no início
Exemplo de função e retorno, considerando o filtro de campos:
USER FUNCTION JQRYF301(oJson)
Local cQuery := ""
Default oJson := Nil
If !Empty(oJson["NT3_XCARAC"])
cQuery := "B1_DESC like '%" + UPPER(oJson["NT3_XCARAC"]) + "%'"
EndIf
Return cQuery |
Observações:
- A função deve ser a mesma que foi inserida na consulta, na etapa anterior.
- A função deve retornar uma condição SQL sem o AND no início.
- Essa função deve estar compilada no ambiente.
- Para filtrar pelos valores do formulário, utilizamos o parâmetro oJson[<nome_do_campo>], como no exemplo onde está sendo filtrado pelo campo customizado NT3_XCARAC.
- Importante: Apenas campos caractere estão disponíveis para serem usados como filtro. Campos com X3_TIPO = 'C'.
- Exemplo de uso:
- Ao acessar a tela de despesa, nenhum dado foi preenchido, assim o campo de consulta retorna todos os valores. Importante: Por padrão é filtrado os registros não deletados e que estejam na filial correspondente ao do usuário.

- Ao digitar no campo de caractere (NT3_XCARAC), onde foi digitado a palavra "requeijao" e ao consultar novamente é retornado os produtos que contenham "REQUEIJAO" em sua descrição

07. Assuntos relacionados
<!-- esconder o menu -->
<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>
|