Página 1 de 1

Expressão do OrdScope()

Enviado: 27 Out 2015 00:17
por rubens
Boa noite...

Tenho um filtro multiplo, por cliente, por numero e por data. Esse filtro vai ser ativado conforme a condição do combobox 1,2 e 3.
Daí se o cliente escolhe no combobox por cliente(1) ele precisa informar o código do cliente. Daí eu filtro as duplicatas do cliente e posso fazer um recebimento total desse cliente.
Então o ordscope fica assim

Código: Selecionar todos

cCodcli := '00005'
Dbsetorder(1) 
ordscope(0,cCodcli)
ordscope(1,cCodcli)
Bom como faço para saber qual expressão tá no filtro do ordscope?
Seria mais ou menos assim, verifico o combo se for 1, eu preciso saber qual o cliente que tá no textbox para saber se posso fazer o recebimento total do cliente ou não.
Não achei esse comado/função no ng.
Tô quebrando o galho verificando se o conteudo do combobox do código do cliente é empty(). Se não for ainda tem a questão de saber se foi encontrada alguma duplicata do cliente, daí verifico a variável de totaldocliente, se for maior do que 0 faço o recebimento.
Seria isso mesmo ou teria uma forma mais simples?

Obrigado
Rubens

Expressão do OrdScope()

Enviado: 27 Out 2015 00:50
por alxsts
Olá!

Conforme consta no Norton Guides:
Returns

If <expNewValue> is not specified, ORDSCOPE() returns and clears the
current setting. If <expNewValue> is specified, the function sets it
and the previous setting is returned.

Código: Selecionar todos

   LOCAL cCodcli, cOldScope

   Dbsetorder(1)

   cCodcli := '00005'

   ordscope(0,cCodcli)
   ordscope(1,cCodcli)

   .
   .
   .
   cCodcli := '00010'
   
   cOldScope := ordscope(0,cCodcli)
   QOut( 'cliente anterior: ', cOldScope)

Expressão do OrdScope()

Enviado: 28 Out 2015 22:13
por rubens
Jóia Alexandre... muito obrigado... fiz uns testes e ficou assim...

Para verificar se tá filtrado com ordscope

Código: Selecionar todos

cFILTRO := ''
IF ORDSCOPE(0,)!=NIL
    // FILTRADO
    cFILTRO := ORDSCOPE(0,)
ENDIF
Resolvido...

Rubens