terça-feira, 7 de março de 2017

Aula 1085 - WinDev Tabela 051/... - TableDisableFilter









Video no Youtube Se Gostou clique aqui para dar joinha





//Nessa dica de hoje,
//Vou mostrar como resolvi um problema
//nos filtros
//depois de usar o tableenablefilter e mudar
//o tipo de ordem dava problema
//ai usei o tableenablefilter






https://doc.windev.com/en-US/?1000017150&name=TableDisableFilter




WinDev - Tabela - 001/... Ancorar Tabela e coluna
WinDev - Tabela - 002/... Esconder ou Mostrar Coluna Tabela 
WinDev - Tabela - 003/... Mudar Cor e Fundo da Coluna da Tabela 
WinDev - Tabela - 004/... Mudar Largura e Fonte da Coluna da Tabela 
WinDev - Tabela - 005/... Coluna de valor Deixar em Branco 
WinDev - Tabela - 006/... Alterar Nome,Cor,Cor de Fundo da Coluna da Tabela 
WinDev - Tabela - 007/... Alterar ordem das Colunas por Programacao
WinDev - Tabela - 008/... TableSeek Pesquizar se Existe
WinDev - Tabela - 009/... TableSelectPlus - Seleciona Iten tabela
WinDev - Tabela - 010/... TableSort - Classifica Coluna
WinDev - Tabela - 011/... Zoom
WinDev - Tabela - 012/... for Each Row Of - Percorrer
WinDev - Tabela - 013/... Selecionar Varias Linhas
WinDev - Tabela - 014/... Balao - Tabela ToolTip
WinDev - Tabela - 015/... Coluna Contrainer
WinDev - Tabela - 016/... Sum - Como Mudar Nome
WinDev - Tabela - 017/... TableInfoXY - Saber Nome,Posição e Linha da Coluna 
WinDev - Tabela - 018/... Guardar e Recuperar Posição Tabela
WinDev - Tabela - 019/... TableInputsearch
WinDev - Tabela - 020/... Descobrir Posição cliente Novo
WinDev - Tabela - 021/... Saber quantos e nome das Colunas
WinDev - Tabela - 022/... Tableselect - Selecionar varias linhas tabela e Ler
WinDev - Tabela - 023/... BuildBrowsingTable - Cria Tabela Manual
WinDev - Tabela - 024/... Somar Valor Tabela Automatico ou Manual - rowtotal
WinDev - Tabela - 025/... Eventos no cabecalho da Tabela
WinDev - Tabela - 026/... Tabela - Break - Totalizadores
WinDev - Tabela - 027/... Tabela - Colorir Linha
WinDev - Tabela - 028/... Double click Na seleção Item
WinDev - Tabela - 029/... Tabela - Descrição, Em Varias Linhas Coluna Tabela
WinDev - Tabela - 030/... Tabela - Fazer titulos com colunas
WinDev - Tabela - 031/... Tabela - Sql - Query - Agrupar Datas Nas Notas
WinDev - Tabela - 032/... Pintando Tabela
WinDev - Tabela - 033/... FOR EACH / WHERE / on / Ordem
WinDev - Tabela - 034/... Filter 
WinDev - Tabela - 035/... HFilter
WinDev - Tabela - 036/... Ultimo Registro - TableSelectPlus
WinDev - Tabela - 037/... Desabilitar Edição Tabela
WinDev - Tabela - 038/... Pesquisa - TableEnableFilter
Blog - WinDev - Relatorio - 039/... Copias - IParameter - Icopies
WinDev - Tabela - 040/... Cor Negativo Coluna Saldo
WinDev - Tabela - 041/... - Criar Tabela via programação
Borda - TAbela - 042/... - Novidade Windev22
..VisibleInExportAndPrint - Colunas Nao Levar Exportar e Imprimir - WinDev - Tabela - 043
BuildBrowsingTable - Monta Tabelas Automaticamente - WinDev - Tabelas - 044
FileToMemoryTable - Monta Tabela Query - WinDev - Tabela - 045
Titulos e SubTitulos - Tabela - 046/...
Titulos e SubTitulos - Manualmente - Tabela - 047/...
Bloquear ou Liberar Lupa/mover Coluna Tabela - Windev Tabela - 048/...
TableEnableFilter - Tabela Diversos Filtros e ordem - WinDev Tabela - 049/...
Ordem Crescente/Decrescente - WinDev Tabela - 050/...
TableDisableFilter - WinDev Tabela 051/...
Conversão - Trocar Codigo Empresa das Duplicatas - WinDev Tabela 052/...




//------------------------
//Dentro da Ordem

TableDisableFilter(TABLE_cliente)// Desabilitar Filtros

gn_classificacao=COMBO_Ordem  // Razao social =1 // Codigo =2
EDT_PROCURA=""
//Control Alt Espaco
SWITCH gn_classificacao
    CASE 1 // Razão Social
        //EDT_PROCURA..Caption="Nome:"
    TableEnableFilter(TABLE_cliente.COL_razao_social_nome,filterStartsWith,EDT_PROCURA)
    CASE 2 // codigo
        //EDT_PROCURA..Caption="Código:"
        TableEnableFilter(TABLE_cliente.COL_Id_empresa_cliente,filterGreaterOrEqual,0)
    CASE 3 // nome fantasia
        //EDT_PROCURA..Caption="Fantasia:"
        TableEnableFilter(TABLE_cliente.COL_nome_fantasia,filterStartsWith,EDT_PROCURA)
    CASE 4 // cnpjf/cpf
        //EDT_PROCURA..Caption="Cnpj/Cpf:"
        TableEnableFilter(TABLE_cliente.COL_cnpj_cpf,filterStartsWith,EDT_PROCURA)
    CASE 5 // inscricao estadual
        //EDT_PROCURA..Caption="Inscrição:"
        TableEnableFilter(TABLE_cliente.COL_InsEst,filterStartsWith,EDT_PROCURA)
    CASE 6 // Telefone    
        //EDT_PROCURA..Caption="Fone:"
        TableEnableFilter(TABLE_cliente.COL_Telefone,filterStartsWith,EDT_PROCURA)
    OTHER CASE
END
mostra_cli(gn_classificacao)
ReturnToCapture(EDT_PROCURA)




//--------------------

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 "+gs_ordem_consulta // "cliente.razao_social_nome asc"
    CASE 2 // Codigo
        QRY_cliente_ler.parametro_ordem="cliente.id_empresa_cliente "+gs_ordem_consulta
    CASE 3 // Fantasia
        QRY_cliente_ler.parametro_ordem="cliente.nome_fantasia "+gs_ordem_consulta
    CASE 4 // cnpjf/cpf
        QRY_cliente_ler.parametro_ordem="cliente.cnpj_cpf "+gs_ordem_consulta
    CASE 5 // inscricao estadual
        QRY_cliente_ler.parametro_ordem="cliente.inscricao_estadual "+gs_ordem_consulta
    CASE 6 // Telefone
        QRY_cliente_ler.parametro_ordem="cliente.telefone "+gs_ordem_consulta
    OTHER CASE
        QRY_cliente_ler.parametro_ordem="cliente.razao_social_nome "+gs_ordem_consulta
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

HExecuteQuery(QRY_cliente_ler,hQueryDefault)
TableDisplay(TABLE_cliente)

cy_valor_receber is currency=0
cy_valor_pagar is currency=0
cy_valor_diferenca is currency=0




//QRY_cliente_ler

SELECT
    cliente.id_cliente AS cli_id_cliente,
    cliente.foto AS cli_foto,
    cliente.id_empresa_cliente AS cli_id_empresa_cliente,
    cliente.juridica_fisica AS cli_juridica_fisica,
    cliente.cnpj_cpf AS cli_cnpj_cpf,
    cliente.inscricao_estadual AS cli_inscricao_est,
    cliente.razao_social_nome AS cli_razao_social,
    cliente.nome_fantasia AS cli_fantasia,
    cliente.data_cadastro AS cli_data_cadastro,
    cliente.telefone AS cli_telefone,
    cliente.id_empresa_representante AS cli_id_empresa_representante,
    representante.nome AS rep_nome,
    cliente.endereco_cidade AS cli_cidade,
    cliente.endereco_uf AS cli_uf,
    cliente.tabela_cliente AS tab_cli,   
    cliente.valor_contrato AS cli_valor_contrato,
    cliente.valor_receber AS cli_valor_receber,
    cliente.valor_pagar AS cli_valor_pagar,
    cliente.tabela_fornecedor AS tab_for,
    cliente.id_centro_custo AS cli_centro_custo,
    cliente.endereco_cmun AS cli_cmun,
    CASE cliente.situacao_cliente
        WHEN 1 THEN ''
        WHEN 2 THEN 'inat.'
        WHEN 3 THEN 'bloq.'
        WHEN 4 THEN 'monit'
        WHEN 5 THEN 's/con'
    END,
    CASE cliente.situacao_fornecedor
        WHEN 1 THEN ''
        WHEN 2 THEN 'inat.'
        WHEN 3 THEN 'bloq.'
        WHEN 4 THEN 'monit'
        WHEN 5 THEN 's/con'
    END
FROM
    cliente
LEFT OUTER JOIN
    representante
    ON cliente.id_empresa_representante=representante.id_Empresa_representante
WHERE
   ( cliente.situacao_cliente={param_situacao_cliente}
     OR
        cliente.situacao_fornecedor={param_situacao_fornecedor} ) 
AND
    cliente.id_empresa_representante BETWEEN {Param_representante_inicial} AND {Param_representante_final}
AND
    cliente.tabela_cliente={param_somente_cliente}
AND
    cliente.tabela_fornecedor={param_somente_fornecedor}
    ORDER BY {parametro_ordem}

















Teste

Teste
teste