Autor Tópico: Filtro  (Lida 2917 vezes)

Jocimar

  • Expert
  • *****
  • Mensagens: 621
Filtro
« Online: Setembro 17, 2013, 03:03:24 pm »
Olá pessoal,

Seguinte, tenho uma consulta iniciada pelo filtro.
Ativando o modo debug vi que os campos do filtro constam na cláusula WHERE do SELECT, porém, deixei um campo para pesquisa no Quick Search, e utilizando desta opção os demais campos são ignorados ao clicar na "lupa" do Quick Search, acabando por mostrar informações que não deveriam ser mostradas.
Filtro:
    Campo: Banco (que é adicoinado na cláusula WHERE Automaticamente)
NO SQL:
    WHERE
        loccod = '[cEMPCOD]' AND lcxchq BETWEEN '000001' AND '999999'

Modo Debug
    WHERE
        loccod = '[cEMPCOD]' AND lcxchq BETWEEN '000001' AND '999999' AND (bcmcod = '01' )

Quick Search: Número do Cheque
    Após clicar na Lupa é mostrado cheques de outros bancos junto, desconsiderando o campo do filtro.

Entendo que seja Bug, pois após clicar na lupa estou querendo apenas filtrar o cheque da consulta já existente, ou tenho que fazer algo a mais para que a cláusula where considere o campo do filtro inicial ( No Exemplo: bcmcod = '01')

Att,

Jocimar
Jocimar de Oliveira

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Filtro
« Responder #1 Online: Setembro 17, 2013, 03:20:48 pm »
Não vejo como Bug, Bug é todo processo que apresenta um erro explicito.

E entendo que o conceito do Quick é desprezar as condições do Filtro, opção interessante ao configurar o Quick qu eseria considerar ou não as condições do filtro.


Jocimar

  • Expert
  • *****
  • Mensagens: 621
Re:Filtro
« Responder #2 Online: Setembro 17, 2013, 03:42:43 pm »
Haroldo,

Iniciei a consulta pelo filtro, a ferramenta (SC) dá a opção do Quick Search, que entendo ser baseado no resultado do SELECT do SQL que considera os campos do filtro!
Então, é BUG, caso contrário no Quick Search haveria opção para montar o novo SELECT, seria sem sentido o Quick Search desconsiderar o resultado inicial, têm que ir filtrando o resultado existente.
Quick Search é filtro do Select inicial, caso contrário que não houvesse esta opção na tela da GRID, imagina, você têm opção de filtro, pode utilizar a clásula WHERE no SQL e quando o usuário usa o Quick Search mostra aquilo que não deveria ?, está errado, então é BUG

A princípio vou deixar assim, errado com BUG, pois só vou disponibilizar o sistema em 2014, enquanto isto vou acompanhando a NetMake resolver isto..., assim como já vi outras situações que mencionei sendo corrigidas e não divulgadas por eles,  ...

Att,

Jocimar

Jocimar de Oliveira

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Filtro
« Responder #3 Online: Setembro 17, 2013, 06:59:26 pm »
Não vejo como Bug, Bug é todo processo que apresenta um erro explicito.

E entendo que o conceito do Quick é desprezar as condições do Filtro, opção interessante ao configurar o Quick qu eseria considerar ou não as condições do filtro.

Concordo com Haroldo, também não vejo como BUG.
Meu conceito de BUG é, quando um recurso passa a dar erro e não faz oque foi proposto. O quicksearch está fazendo a busca, apena está
usando o sql principal como alvo, talvez uma escolha da NM.
Tipo um Insert, se o mesmo der erro e não inserir é um bug.

Também acho que deveria ter a opção para escolher se usa ou não o filtro existente.

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Filtro
« Responder #4 Online: Setembro 17, 2013, 11:51:56 pm »
Espera sentado...!!!

Também não vejo como bug, se eu estou iniciando a grid como filtro não vejo porque ainda ter um quicksearch habilitado..?
O quicksearch é um filtro, você quer filtrar o resultado do filtro?

Jocimar

  • Expert
  • *****
  • Mensagens: 621
Re:Filtro
« Responder #5 Online: Setembro 18, 2013, 10:45:10 am »
Pessoal,

Infelizmente é BUG sim, pois o quick search têm que filtrar o conteúdo do select inicial, ou então que dentro do quick search tenha parâmetros adicionais para considerar a cláusula WHERE da aplicação, pois caso fosse para filtrar apenas um campo então faria outra aplicação, mas seria para outro propósito!

Então, tenho um resultado da consulta mostrada ao usuário, aí o usuário quer melhorar este filtro, então ele informa o que filtrar neste resultado, aí vêm resultado de coisas que não está para o usuário, então é BUG, pronto!

QUICK SEARCH, têm que adicionar no final da cláusula WHERE o campo que estou filtrando, caso contrário não seria necessário ter este recurso!, vejam que após abrir a consulta têm o botão de PESQUISA, onde o usuário aponta o que quer diferente do apresentado, aí sim concordo em mostrar ao diferente, mas mesmo assim entendo que têm que ser baseado no primeiro select da app, caso contrário esta falho também. Tenho um campo em todas as tabelas que é o código da empresa, agora imagina o usuário ter permissão para ver informações de outras empresas / filiais, apenas mudando o Quick Search / Pesquisa ?, isto é um BUG "gigantesco", ou será que ninguém têm uma tabela para filtrar as informações para usuário?

Se não fosse BUG, então teria que tirar todos os quick search / Pesquisas das app, pois caso contrário teríamos "vazamento" de informação por conta do software!, inexplicável a colocações de vocês.

Quer dizer que agora os usuário do sistema poderão acessar informações que não são de sua competência, criando vulnerabilidade de informações!

Totalmente errado, BUG!

Att,

Jocimar
Jocimar de Oliveira

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Filtro
« Responder #6 Online: Setembro 18, 2013, 10:58:50 am »
Pessoal,

Infelizmente é BUG sim, pois o quick search têm que filtrar o conteúdo do select inicial, ou então que dentro do quick search tenha parâmetros adicionais para considerar a cláusula WHERE da aplicação, pois caso fosse para filtrar apenas um campo então faria outra aplicação, mas seria para outro propósito!

Então, tenho um resultado da consulta mostrada ao usuário, aí o usuário quer melhorar este filtro, então ele informa o que filtrar neste resultado, aí vêm resultado de coisas que não está para o usuário, então é BUG, pronto!

QUICK SEARCH, têm que adicionar no final da cláusula WHERE o campo que estou filtrando, caso contrário não seria necessário ter este recurso!, vejam que após abrir a consulta têm o botão de PESQUISA, onde o usuário aponta o que quer diferente do apresentado, aí sim concordo em mostrar ao diferente, mas mesmo assim entendo que têm que ser baseado no primeiro select da app, caso contrário esta falho também. Tenho um campo em todas as tabelas que é o código da empresa, agora imagina o usuário ter permissão para ver informações de outras empresas / filiais, apenas mudando o Quick Search / Pesquisa ?, isto é um BUG "gigantesco", ou será que ninguém têm uma tabela para filtrar as informações para usuário?

Se não fosse BUG, então teria que tirar todos os quick search / Pesquisas das app, pois caso contrário teríamos "vazamento" de informação por conta do software!, inexplicável a colocações de vocês.

Quer dizer que agora os usuário do sistema poderão acessar informações que não são de sua competência, criando vulnerabilidade de informações!

Totalmente errado, BUG!

Att,

Jocimar

Faz assim, vem aqui no fórum e use a pesquisa avançada. Depois utilize o quicksearch no topo do fórum.
O quicksearch apenas não está funcionando do jeito que você precisa, mais talvez funcione do jeito que outra pessoa precise.

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:Filtro
« Responder #7 Online: Setembro 18, 2013, 11:04:25 am »
Jocimar entenda o seguinte, se no sql da grid você define uma regra no where o filtro e o quicksearch respeitam essa regra. O que não dá pra entender é você iniciar a aplicação pelo filtro e querer melhorar o filtro com quicksearch, busca rápida como o próprio nome diz é um meio rápido de chegar a um resultado, no meu modo de ver é justificado o seu uso em grid iniciadas como grid e não como filtro que é o seu caso.

Entenda, o quicksearch apaga o filtro que você fez inicialmente e filtra tudo novamente, respeitando o que esta no SQL original.

Bug seria se o quicksearch não estivesse respeitando o que você definiu no SQl original da aplicação.

Mas estamos em um país democrático, e acima de tudo somos parceiros no fórum, se você entende como bug abra um chamado no [b]bugs@netmake.com.br[/b] e seja feliz.

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:Filtro
« Responder #8 Online: Setembro 18, 2013, 11:28:04 am »
Acho que teria como resolver seu problema jocimar.

No onValidade do filtro defina uma variavel global como seu filtro.
No onScriptIni adicione sempre esse filtro utilizando a macro sc_select_where(add).

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

Jocimar

  • Expert
  • *****
  • Mensagens: 621
Re:Filtro
« Responder #9 Online: Setembro 18, 2013, 11:32:26 am »
Pessoal,

Seguinte, vocês não estão entendendo a gravidade do problema!
Não podemos misturar: INSERT, UPDATE, DELETE com SELECT.

No banco de dados não tenho apenas conteúdo de texto a ser pesquisado, como aqui no fórum, pois sistemas são diferentes e com propósitos diferentes.
No caso do fórum, você faz uma pesquisa e não aparece conteúdo de outros fórum, pois o Banco de Dados não é o mesmo e a aplicação não é a mesma.

No banco de dados tenho:
Código da Filial
Código do Banco
Número do Cheque
Valor do Cheque,

Preciso de uma aplicação para baixar os cheques compensados, e ter a possibilidade de eliminar esta data de depósito (compensação), para controle de saldos de disponibilidade dos bancos.

Então crio uma app de Grid, onde ao mostrar para o usuário é solicitado o código do banco (extrato) que está nas mãos do usuários, e também, opcionalmente posso informar a data de compensação (não é obrigatório).
Depois abro a Grid considerando o filtro.
Porém, como qualquer conta bancária há vários cheques e neste momento preciso pesquisar um em específico, mas do resultado da Grid, e depois continuar o trabalho de informar os cheques compensados. Nesta situação preciso pesquisar o número do cheque em específico e depois excluir o filtro do Quick Search.

Não há como entender que, utilizando o Quick Search seja mostrado tudo apenas pelo conteúdo de um campo, desprezando o filtro da cláusula WHERE do SELECT Inicial, não pode, têm que ser concatenado no SELECT Principal e mostrado o resultado, e ao excluir a pesquisa do filtro então sim voltar ao WHERE inicial, caso contrário ficará vulnerável e errado/BUG.

Fiz outro teste aqui, fiz uma app que filtra o resumo do cálculo de folha de pagamento, mostrando os nomes dos funcionários, função, ... e no quick search fiz o filtro pela data do cálculo, então tive acesso a folha de pagamento de outras empresas, com todas as informações mencionadas, então, isto é BUG, deveria apenas concatenar na cláusula WHERE Inicial.

Vejam bem, estou convertendo um sistema de FlagShip com poucas tabelas, apenas 434, que agora com BD está com mais de 500 tabelas, que inclui desde o chão de fábrica até a contabilidade, e tenho clientes que têm matriz / filial, mas o usuário não pode ver informações das outras filiais, e no quick search está escancarado para ver o que quiser!

NetMake fica a vocês o encargo desta solução!

Att,

Jocimar
Jocimar de Oliveira

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Filtro
« Responder #10 Online: Setembro 18, 2013, 11:45:34 am »
Para mim não é um Bug,    se tiver uma opção de escolher tudo bem, caso contrário que continue assim, do jeito que está atualmente.

Bug é um erro no funcionamento comum de um software, também chamado de falha na lógica programacional de um programa de computador, e pode causar discrepâncias no objetivo, ou impossibilidade de realização, de uma ação na utilização de um programa de computador.
Bug é quando acontece algo inesperado pela programação proposta, não por você usuário, se a lógica foi programada para fazer "isso" e "isso" não acontece, aí sim é um Bug. Alguns bugs são detectados por usuários, mas só quem pode afirmar se realmente é um Bug ou não é o programador,  pois se ele programou para que tal lógica ocorra dessa maneira e mesmo que o conceito diverge da do usuário, isso não é um Bug, e sim um desacordo de funcionalidade, um desacordo de conceito.

Não 'ha parada interrupta da aplicação, não apresenta comportamento de erro, de falha, de lógica errada de programação, isso foi programado assim dessa forma, e faz o que exatamente o que foi programado.

Um loop sem fim é um Bug, uma leitura de um registro inexistente em uma tabela sem prever o erro pode ser um Bug, alterar o limite de sessão na área administrativa do SC para 9999 ao salvar ir direto para login e não conseguir logar mais é um Bug.
Não conseguir excluir um projeto sem aplicações é um Bug, gerar um comando de include em uma biblioteca externa incluindo "?" no nome do arquivo,  sendo que o SO não aceita "?" em nome de arquivos e diretórios é um Bug. Posso relatar inúmeros Bugs do SC aqui, mas este que se refere este tópico não é um Bug e a meu ver nem uma falha de conceito, mas sim pode ser sugerido uma melhoria para atender a uma necessidade, eu apoio a sugestão de melhoria.






Pessoal,

Infelizmente é BUG sim, pois o quick search têm que filtrar o conteúdo do select inicial, ou então que dentro do quick search tenha parâmetros adicionais para considerar a cláusula WHERE da aplicação, pois caso fosse para filtrar apenas um campo então faria outra aplicação, mas seria para outro propósito!

Então, tenho um resultado da consulta mostrada ao usuário, aí o usuário quer melhorar este filtro, então ele informa o que filtrar neste resultado, aí vêm resultado de coisas que não está para o usuário, então é BUG, pronto!

QUICK SEARCH, têm que adicionar no final da cláusula WHERE o campo que estou filtrando, caso contrário não seria necessário ter este recurso!, vejam que após abrir a consulta têm o botão de PESQUISA, onde o usuário aponta o que quer diferente do apresentado, aí sim concordo em mostrar ao diferente, mas mesmo assim entendo que têm que ser baseado no primeiro select da app, caso contrário esta falho também. Tenho um campo em todas as tabelas que é o código da empresa, agora imagina o usuário ter permissão para ver informações de outras empresas / filiais, apenas mudando o Quick Search / Pesquisa ?, isto é um BUG "gigantesco", ou será que ninguém têm uma tabela para filtrar as informações para usuário?

Se não fosse BUG, então teria que tirar todos os quick search / Pesquisas das app, pois caso contrário teríamos "vazamento" de informação por conta do software!, inexplicável a colocações de vocês.

Quer dizer que agora os usuário do sistema poderão acessar informações que não são de sua competência, criando vulnerabilidade de informações!

Totalmente errado, BUG!

Att,

Jocimar
« Última modificação: Setembro 18, 2013, 12:32:59 pm por Haroldo »

Jocimar

  • Expert
  • *****
  • Mensagens: 621
[BUG] Filtro - Aguardando correção da NETMAKE
« Responder #11 Online: Setembro 18, 2013, 01:41:52 pm »
Haroldo,

Não estou discutindo o seu conceito de BUG, estou falando que o SC está desconsiderando a clásula WHERE da aplicação para fazer novo WHERE na cláusula e isto faz com que o resultado fique errado, trazendo aquilo que não proposto pela aplicação e pelo SC, então é BUG.
Relatei este BUG para a NetMake e vou ficar no aguardo desta correção, caso contrário vou ter que contornar este "grande" BUG!

Att,

Jocimar
Jocimar de Oliveira

Almeida

  • Expert
  • *****
  • Mensagens: 610
    • Email
Re:[BUG] Filtro - Aguardando correção da NETMAKE
« Responder #12 Online: Setembro 18, 2013, 01:54:32 pm »
Haroldo,

Não estou discutindo o seu conceito de BUG, estou falando que o SC está desconsiderando a clásula WHERE da aplicação para fazer novo WHERE na cláusula e isto faz com que o resultado fique errado, trazendo aquilo que não proposto pela aplicação e pelo SC, então é BUG.
Relatei este BUG para a NetMake e vou ficar no aguardo desta correção, caso contrário vou ter que contornar este "grande" BUG!

Att,

Jocimar

Deixando o conceito de lado de cada um. Te afirmo, isso não é BUG!
:)

Att.
Eliezer Almeida
eliezeralmeidago@hotmail.com
www.infotecsoft.com.br - Modernidade e Eficiência

Haroldo

  • Expert
  • *****
  • Mensagens: 6293
  • Conhecimento diminui limitações.△TFA△
    • Infinitus Web Gestão Empresarial/Gestão ITIL/Consultoria Scriptcase
Re:Filtro
« Responder #13 Online: Setembro 18, 2013, 01:56:48 pm »
Não estou discutindo a sua necessidade de melhoria a ser implementada.

Estou discutindo é a taxação da sua necessidade como sendo um Bug, não vejo como um conceito meu de Bug, fiz uma pesquisa antes de postar aqui o que encontrei coincide no que eu acredito ser um Bug.


Jocimar

  • Expert
  • *****
  • Mensagens: 621
Re:Filtro
« Responder #14 Online: Setembro 18, 2013, 02:13:17 pm »
Pessoal,

É BUG sim, pois dentro de uma app o SQL, onde está o SELECT Principal da aplicação têm a cláusula WHERE, onde nem sequer coloquei para filtrar o campo BCMCOD, e o SC implementou automaticamente após passar pelo filtro, então o SC como ferramenta implementa algo a mais na cláusula WHERE, e enquanto estiver dentro desta aplicação em específico, o SC terá que manter o que está na cláusula WHERE, e fazendo a implementação do Quick Search, pois o mesmo é da aplicação (consulta) e não de um sistema num todo, então é BUG, caso contrário teria que deixar de usar o Quick Search e o botão pesquisa, pois isto mostra informações que não são o foco do SQL principal da aplicação!

Não estou fazendo taxação de minhas necessidades mais algo óbvio que deveria estar considerando!
Pesquisa de conteúdo na internet traz grande número de informações, e você usou a que melhor lhe convém, então desta forma as coisas vão ficando mais teóricas do que prática!, também poderia fazer uma pesquisa e colocar a que me convém, mas não tenho isto como objetivo!

Caso eu colocasse um campo do tipo HTML e lá chamasse outra aplicação, então lá teria outro tratamento, porém dentro de uma aplicação o WHERE da SQL principal da aplicação não pode ser modificado, têm que ser considerado.
Na opção Quick Search não têm nada sobre isto, então vejo como um recurso "burro", que atende necessidades básicas e não algo mais sofisticado.

Att,

Jocimar
Jocimar de Oliveira