OrdScope com Chaves Compostas

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

OrdScope com Chaves Compostas

Mensagem por fladimir »

Olá nobres colegas, tenho no sistema uma função q abre um DBedit para pesquisar conforme vai digitando letra a letra os produtos e a quantidade no estoque e seu respectivo valor algo tipo abaixo:

Código: Selecionar todos

Codigo  | Descricao do Produto      |  Saldo  |   Venda
========================================================
000001  | RACAO DOG NR 1           |       5   |   15,99
000002  | RACAO DOG NR 2           |       0   |   19,00
000003  | RACAO DOG NR 3           |       2   |   12,50
Bom recentemente alguns clientes devido o cadastro estar ficando "monstruoso" pediram uma forma de mostrar somente os produtos Ativos e/ou Ativos com Estoque.

No DBF existe um campo Chamado Ativo q recebe os valores "S" ou "N", meu indice CDX q mostra o Dbedit acima possui uma chave: Codigo e outra chave qdo o cliente altera para ordem Alfabética, ou seja, conforme abaixo:

Código: Selecionar todos

INDEX ON  Codigo    TAG Produto1 to Produto 
INDEX ON  Descricao TAG Produto2 to Produto
Pesquisando aki no fórum parece q a melhor solução seria através do OrdSetScope(), mas como fazer com chaves compostas, pois preciso q fique nas Ordens originais, ou seja, Codigo ou se o cliente mudar a ordem para Alfabética, mas com a possibilidade de filtrar somente os Ativos e se ainda assim for possível uma outra filtragem q seria Ativos com ESTOQUE.

Pensei em modificar as chaves e colocar Codigo+Ativo para Produto1 e Descricao + Ativo para Produto2 e utilizar o OrdSetScope(). Lembrando q o campo Codigo é Caracter.

Mas como seria a forma correta para utilizá-lo, pois em alguns testes q fiz não obtive sucesso...
... ou alguém tem alguma outra sugestão ?

Obrigado e Sucesso a Todos!!!
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: OrdScope com Chaves Compostas

Mensagem por Maligno »

O ideal seria mudar as chaves para contemplar o "status" do produto. Algo do tipo:

ATIVO + CODIGO
ATIVO + DESCRICAO
etc

Assim, na necessidade de filtragem, basta executar a função usando a chave mais apropriada. Funciona perfeitamente. Já utilizei isso várias vezes.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: OrdScope com Chaves Compostas

Mensagem por fladimir »

Obrigado Maligno vou testar...

Mas só uma dúvida, como em todo o sistema qdo se refere a OrdSetFocus(1) se refere a CODIGO, alterando para o Status + Codigo eu teria q modificar algo nos outros prg´s q não vão utilizar o OrdScope() ?

Acredito q sim né devido a Dbseeks ? ou estou me confundindo ?

Grato e Sucesso a Tds!!!
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: OrdScope com Chaves Compostas

Mensagem por Maligno »

O ideal, se o programa já está em uso há algum tempo, é adicionar essas novas chaves ao conjunto de chaves já existente, para que você não tenha que modificar o programa todo apenas para "acertar" esse recurso adicional. Se apenas alterar o que já existe, já viu o trabalhão que terá para corrigir tudo aquilo que antes funcionava bem.

A chave 1 será mantida inalterada. Assim, nada será "estragado". E as novas terão outros valores, naturalmente. Uma dica: use nomes ao invés de números. E com um prefixo único, tipo "_ixCODIGO". O motivo é simples. Se um dia precisar apenas saber onde este ou aquele índice é utilizado num programa com dezenas de fontes, basta fazer uma busca múltipla pelo seu editor de texto favorito, se ele contar com esse recurso, claro. Mesmo que pense que nunca vai precisar disso, previna-se. O futuro é incerto. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Re: OrdScope com Chaves Compostas

Mensagem por rochinha »

Amiguinhos,

Como o Maligno falow, novas chaves... novos indices, portanto se voce usa CDX não precisa se preocupar em não criar mais algumas.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

Re: OrdScope com Chaves Compostas

Mensagem por fladimir »

Ok, deu certo, grato a todos...

Sucesso!!!
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Responder