Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Tempo aproximado para leitura: 00 min

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Módulo:SIGAEST - Estoque & Custos
Função:Tratamento de filtro atraves de ponto de entrada utilizado em todas as querys da rotina,
Programa:MAT216 - Refaz saldo de terceiros
Sintaxe:
Composition Setup
import.css=/download/attachments/327912/newLayout.css

...

Ponto-de-Entrada: MT216FIL - Utilização de Filtro em tabelas diversas
Versões: Advanced Protheus 7.10 , Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Espanhol , Inglês

...

Programa Fonte
MATA216.PRX

...

MT216FIL - Utilização de Filtro em tabelas diversas

...

Retorno
    aFiltro(vetor)
  • aFiltros[1] - Filtro adicional para a tabela SB2
    aFiltros[2] - Filtro adicional para a tabela SB6
    aFiltros[3] - Filtro adicional para a tabela SD1
    aFiltros[4] - Filtro adicional para a tabela SD2
    aFiltros[5] - Filtro adicional para a tabela SC

...

:

Nulo


02. SITUAÇÃO/REQUISITO

O ponto de entrada para permitir filtrar os registros utilizados nas tabelas SB2, SB6, SD1, SD2 e SC6. 

ATENÇÃO:  Este ponto de entrada precisa que seja informado os 5 itens do array respeitando a ordem das tabelas, vale ressaltar tambem que todos os filtros utilizados nas tabelas filtradas tem que serem compativeis entre si, pois a passagem incorreta do filtro em qualquer uma das tabelas podera causar divergencia e até erros de gravação na tabela de saldos de terceiros ('SB6').

Composição do array de filtros:

                     aFiltros[1] := //-- Filtro adicional para a tabela SB2

                     aFiltros[2] := //-- Filtro adicional para a tabela SB6

                     aFiltros[3] := //-- Filtro adicional para a tabela SD1

                     aFiltros[4] := //-- Filtro adicional para a tabela SD2

                     aFiltros[5] := //-- Filtro adicional para a tabela SC6

...

Para realizar filtros em ambiente Codebase os filtros deverão ser escritos em logica Advpl, para realizar filtros em ambiente TopConnet os filtros deverão ser escritos na liguagem do banco de dados.

03. Exemplo pratico


Exemplos
Totvs custom tabs box
tabsExemplo
idsExemplo
//EXEMPLO EM BANCO DE DADOS SQL SERVER:
User Function MT216FIL()
Local aFiltro := {}

aAdd(aFiltro,
'
"B2_COD      = 'MP01           '
'
 ") //-- Filtro adicional na tabela 
SB2aAdd
SB2
aAdd(aFiltro,
'
"B6_PRODUTO  = 'MP01           '
'
 ") //-- Filtro adicional na tabela 
SB6aAdd
SB6
aAdd(aFiltro,
'
"D1_COD      = 'MP01           '
'
 ") //-- Filtro adicional na tabela 
SD1aAdd
SD1
aAdd(aFiltro,
'
"D2_COD      = 'MP01           '
'
 ") //-- Filtro adicional na tabela 
SD2aAdd
SD2
aAdd(aFiltro,
'
"C6_PRODUTO  = 'MP01           '
'
 ") //-- Filtro adicional na tabela 
SC6Return
SC6

Return aFiltro