Histórico da Página
...
- 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:
Bloco de código language java theme RDark USER FUNCTION JQRYF301(oJson) Local cQuery := "" Local oModel := FWModelActive() Default oJson := Nil If oJson == Nil .Or. Empty(oJson:toJson()) If isBlind() // Caso seja TJD + Grid, usar o posicione via NUQ cQuery := retWhere(AllTrim(NUQ->NUQ_XCARAC), AllTrim(NUQ->NUQ_XNATUR)) Else // Caso seja protheus, use o modelo para pegar o campo atualizado cQuery := retWhere(AllTrim(oModel:GetValue("NUQDETAIL", "NUQ_XCARAC"))) EndIf Else // Caso seja TJD, usar campos do formulário If !Empty(oJson["NUQ_XCARAC"]) cQuery := retWhere(UPPER(oJson["NUQ_XCARAC"]), AllTrim(oJson["NUQ_XNATUR"])) EndIf EndIf Return cQuery Static Function retWhere(cNUQXCarac, cNatut) Local cReturn := "" Default cNUQXCarac := "" Default cNatut := "" If cNatut == "0001" .or. cNatut == "0002" cReturn := "O0N_CSLDOC like '%" + cNUQXCarac + "%' and O0N_TIPO = '1'" ElseIf cNatut == "0003" .or. cNatut == "0004" cReturn := "O0N_CSLDOC like '%" + cNUQXCarac + "%' and O0N_TIPO = '2'" Else cReturn := "O0N_CSLDOC like '%" + cNUQXCarac + "%' EndIf Return cReturnObservaçõ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'.
- A função "retWhere" filtra por diferentes tipos conforme a natureza informada.
- Observações:
- Se o oJson estiver vazio e isBlind() = verdadeiro: Indica ambiente Web App e Grid, utilizando posicionamento via tabela NUQ para obter os valores dos campos.
- Se o oJson estiver vazio e isBlind() = falso: Indica ambiente Protheus, utilizando o modelo ativo (FWModelActive) para obter os campos atualizados.
- Se o oJson estiver preenchido: Indica ambiente Web App, utilizando os campos do formulário através do parâmetro oJson.
3. 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
- 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.
3.1 Exemplo de uso:
a. Ao acessar a tela de instâncias, sem nenhum dado preenchido, o campo de consulta retorna com todos os valores disponíveis:
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas


