Linha de Produto: | Protheus | ||||||||||||||||||||||||||
Segmento: | Manufatura | ||||||||||||||||||||||||||
Módulo: | SIGAPCP - Planejamento e Controle da Produção | ||||||||||||||||||||||||||
Parâmetro(s): |
| ||||||||||||||||||||||||||
Idiomas: | Espanhol, Inglês | ||||||||||||||||||||||||||
País(es): | Todos | ||||||||||||||||||||||||||
Banco(s) de Dados: | Todos | ||||||||||||||||||||||||||
Sistema(s) Operacional(is): | Todos |
Localização: | Funções A710ProjOP() , A710ProjPed() , A710ProjSC() , A710ProjPC() , a710Proc() |
Em que ponto: | PE será chamado antes da IndRegua para os alias SC2, SC6, SC1, SC7 e SHC permitindo que a expressão filtro do IndRegua possa ser editada antes de sua execução. |
Programa Fonte: | MATA711.PRX |
Sintaxe: | A710FIL - Edita Expressão do Filtro ( < PARAMIXB> ) --> cFiltro |
Retorno: | cFiltro(caracter) (Vide Observações) |
Observações: | Retorno: Será retornado a expressão que será utilizada na IndRegua. Exemplo: cFiltro := If(!Empty(cFiltro), ".And.", "") + 'C2+OBS = "TESTE"' |
Exemplo:
USER FUNCTION A710FIL/*/PARAMIXB é um array composto pelo alias e expressao filtro.
O Alias deverá ser tratado para manipular apenas os alias desejados.
Os alias que serão tratados pelo PE são: SC2, SC6, SC1, SC7, SHC.Pelo SC2 o PE será acionado na projeção e na geração de OP (A710PROJOP e A710PROC).
Tratar isso usando ProcName(2) identificando onde fazer o tratamento desejado.
Prestar atenção na adição de expressão no filtro, acrescentando '.and.' apenas se a expressão filtro não estiver vazia.
Parâmetros MV_PAR01 a MV_PAR11 poderão ser 'lidos' nas variáveis 'nPar01' a 'nPar11'/*/Local cAlias
:= PARAMIXB[1]Local cFiltro
:= PARAMIXB[2]Local cOldAli
:= Alias()Local cProg
:= ProcName(2)If cProg = 'A710PROC'* Return(.T.)
// Qualquer retorno não caracter será// ignorado e usará o filtro padrão
EndifIf nPar01 == 2
// Projeção pelo início* Return(.T.)
EndifIf cAlias == 'SC2'cFiltro += If(!Empty(cFiltro), '.And.', '') + ''TESTE' $ C2_OBS'ElseIf cAlias == 'SC7'cFiltro += If(!Empty(cFiltro), '.And.', '') + ''TESTE' $ C7_OBS'
Endif
//* Se quiser 'checar' a expressão do filtro, salve//* a expressão em um arquivo conforme abaixo
//* MemoWrit('FILTRO.TXT', cFiltro)
//* Se alterar o Alias corrente, retorne ao alias inicial conforme abaixo
//* dbSelectArea(cOldAli)
Return(cFiltro)