Nessa aula vou mostrar Diversos Filtros e Ordem
vou Fazer filtros por Letras
Filtros maior,menor,etc..
Ordem diversas na mesma query
-- Select
SELECT
cliente.id_cliente AS cli_id_cliente,
cliente.foto AS cli_foto,
cliente.id_empresa_cliente AS cli_id_empresa_cliente
FROM
cliente
ORDER BY {parametro_ordem}
-- Segredo = no lado do order by , fiz um parametro
//----------------------------------------
//codigo da windows
gn_classificacao is int=1
mostra_cli(gn_classificacao)
//Selection a row of combo_ordem
gn_classificacao=COMBO_Ordem // Razao social =1 // Codigo =2
EDT_PROCURA=""
//Control Alt Espaco
SWITCH gn_classificacao
CASE 1 // Razão Social
TableEnableFilter(TABLE_cliente.COL_razao_social_nome,filterStartsWith,EDT_PROCURA)
CASE 2 // codigo
TableEnableFilter(TABLE_cliente.COL_Id_empresa_cliente,filterGreaterOrEqual,0)
CASE 3 // nome fantasia
TableEnableFilter(TABLE_cliente.COL_nome_fantasia,filterStartsWith,EDT_PROCURA)
CASE 4 // cnpjf/cpf
TableEnableFilter(TABLE_cliente.COL_cnpj_cpf,filterStartsWith,EDT_PROCURA)
CASE 5 // inscricao estadual
TableEnableFilter(TABLE_cliente.COL_InsEst,filterStartsWith,EDT_PROCURA)
CASE 6 // Telefone
TableEnableFilter(TABLE_cliente.COL_Telefone,filterStartsWith,EDT_PROCURA)
OTHER CASE
END
mostra_cli(gn_classificacao)
ReturnToCapture(EDT_PROCURA)
//-----------------------------
//Whenever modifying edt_procura
SWITCH gn_classificacao
CASE 1 // Razão Social
TableEnableFilter(TABLE_cliente.COL_razao_social_nome,filterContains,EDT_PROCURA)// IF CBOX_Procurarazao=True
CASE 2 // codigo
TableEnableFilter(TABLE_cliente.COL_Id_empresa_cliente,filterEqual,EDT_PROCURA)
CASE 3 // nome fantasia
TableEnableFilter(TABLE_cliente.COL_nome_fantasia,filterContains,EDT_PROCURA)// IF CBOX_Procurarazao=True
CASE 4 // cnpjf/cpf
TableEnableFilter(TABLE_cliente.COL_cnpj_cpf,filterContains,EDT_PROCURA)
CASE 5 // inscricao estadual
TableEnableFilter(TABLE_cliente.COL_InsEst,filterContains,EDT_PROCURA)
CASE 6 // Telefone
TableEnableFilter(TABLE_cliente.COL_Telefone,filterContains,EDT_PROCURA)
OTHER CASE
END
// Filtro Letras
PROCEDURE filtro_letra(s_recebe_letra is string="") // a ou b ou c , etc..
//Inicio
TableEnableFilter(TABLE_cliente.COL_razao_social_nome,filterStartsWith,s_recebe_letra)
//Para cada letra coloque abaixo
filtro_letra("A")
//---------------------------------------
//Igual
SWITCH gn_classificacao
CASE 1 // Razão Social
TableEnableFilter(TABLE_cliente.COL_razao_social_nome,filterEqual,EDT_PROCURA)// IF CBOX_Procurarazao=True
CASE 2 // codigo
TableEnableFilter(TABLE_cliente.COL_Id_empresa_cliente,filterEqual,EDT_PROCURA)
CASE 3 // nome fantasia
TableEnableFilter(TABLE_cliente.COL_nome_fantasia,filterEqual,EDT_PROCURA)// IF CBOX_Procurarazao=True
CASE 4 // cnpjf/cpf
TableEnableFilter(TABLE_cliente.COL_cnpj_cpf,filterEqual,EDT_PROCURA)
CASE 5 // inscricao estadual
TableEnableFilter(TABLE_cliente.COL_InsEst,filterEqual,EDT_PROCURA)
CASE 6 // Telefone
TableEnableFilter(TABLE_cliente.COL_Telefone,filterEqual,EDT_PROCURA)
OTHER CASE
END
//Menor ou Igual
// filterLessOrEqual
//Menor
// filterLess
//Maior ou igual
// filterGreaterOrEqual
//Maior
//filterGreater
//Contem
//filterContains
//Inicio
// filterStartsWith
//Final
//filterEndsWith
PROCEDURE mostra_cli(n_tipo_ordem is int=1)
SWITCH n_tipo_ordem
CASE 1 // Nome
QRY_cliente_ler.parametro_ordem="cliente.razao_social_nome"
CASE 2 // Codigo
QRY_cliente_ler.parametro_ordem="cliente.id_empresa_cliente"
CASE 3 // Fantasia
QRY_cliente_ler.parametro_ordem="cliente.nome_fantasia"
CASE 4 // cnpjf/cpf
QRY_cliente_ler.parametro_ordem="cliente.cnpj_cpf"
CASE 5 // inscricao estadual
QRY_cliente_ler.parametro_ordem="cliente.inscricao_estadual"
CASE 6 // Telefone
QRY_cliente_ler.parametro_ordem="cliente.telefone"
OTHER CASE
QRY_cliente_ler.parametro_ordem="cliente.razao_social_nome"
END
IF filtro_somente_cliente_fornecedor=1 THEN
QRY_cliente_ler.param_somente_cliente=Null
QRY_cliente_ler.param_somente_fornecedor=Null
ELSE
IF filtro_somente_cliente_fornecedor=2 THEN
QRY_cliente_ler.param_somente_cliente=1
QRY_cliente_ler.param_somente_fornecedor=Null
ELSE
QRY_cliente_ler.param_somente_cliente=Null
QRY_cliente_ler.param_somente_fornecedor=1
END
END
// gn_somente_cliente_fornecedor=1 // 1=todos 2=Somente Cliente 3=Somente Fornecedore
//1-Normal
//2-Inativo
//3-Bloqueado
//4-Sem Contrato
//5-Todos
IF filtro_situacao=5 THEN // 5=Todos
ELSE
IF filtro_somente_cliente_fornecedor=1 // todos THEN
QRY_cliente_ler.param_situacao_cliente=filtro_situacao
QRY_cliente_ler.param_situacao_fornecedor=filtro_situacao
ELSE
IF filtro_somente_cliente_fornecedor=2 THEN //somente clientes
QRY_cliente_ler.param_situacao_cliente=filtro_situacao
QRY_cliente_ler.param_situacao_fornecedor=Null
ELSE // somente fornecedore
QRY_cliente_ler.param_situacao_cliente=Null
QRY_cliente_ler.param_situacao_fornecedor=filtro_situacao
END
END
END
IF filtro_id_representante=0 THEN
ELSE
QRY_cliente_ler.Param_representante_inicial=filtro_id_representante // caso nao informar nao executara esse filtro
QRY_cliente_ler.Param_representante_final=filtro_id_representante
END