Árvore de páginas

Ponto-de-Entrada: CTB400FIL - Filtro
Abrangências: Microsiga Protheus 10 , Microsiga Protheus 11
Versões: Microsiga Protheus 10 , Microsiga Protheus 11
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Português (Brasil) , Português (Portugal) , Espanhol , Inglês
Descrição:
O ponto de entrada CTB400FIL é utilizado para filtrar os lançamentos na hora de visualizar os movimentos.
Eventos

Local lCLVL            := .T.
Local aArea         := GetArea(), nTamanho       
Local cPictVal      := PesqPict("CT2","CT2_VALOR")
Local nX
Local cArq
Local cFiltro := ""

If ExistBlock("CTB400FIL")                                /// PONTO DE ENTRADA PARA A FILTRAGEM DO BROWSE
    cFiltro := ExecBlock("CTB400FIL", .F., .F.)
Endif


Pergunte( "CTC400" , .F.)                  




aSetOfBook     := CTBSetOf(mv_par05)
nDecimais     := CTbMoeda(mv_par03)[5]    // Recarrego as perguntas
lCusto         := Iif(mv_par06 == 1,.T.,.F.)
lItem        := Iif(mv_par09 == 1,.T.,.F.)
lCLVL        := Iif(mv_par12 == 1,.T.,.F.)


//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Variaveis utilizadas para parametros ( CTC400 )              ³
//³ mv_par01            // da data                               ³
//³ mv_par02            // Ate a data                            ³
//³ mv_par03            // Moeda                                 ³  
//³ mv_par04            // Saldos                                 ³  
//³ mv_par05            // Set Of Books                          ³
//³ mv_par06            // Imprime C.Custo?                      ³
//³ mv_par07            // Do Centro de Custo                    ³
//³ mv_par08            // At‚ o Centro de Custo                 ³
//³ mv_par09            // Imprime Item?                         ³   
//³ mv_par10            // Do Item                               ³
//³ mv_par11            // Ate Item                              ³
//³ mv_par12            // Imprime Classe de Valor?              ³   
//³ mv_par13            // Da Classe de Valor                    ³
//³ mv_par14            // Ate a Classe de Valor                 ³
//³ mv_par15            // Descrição na moeda                    ³
//³ mv_par16            // Seleciona filiais ?                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

If ( CT1->CT1_CLASSE == "1" )
   Help ( " ", 1, "CC010SINTE" )
   Return ( .F. )
End                

If Empty( mv_par03 )
    Help(" ",1,"NOMOEDA")
    Return(.F.)
EndIf

dbSelectArea("CTO")
dbSetOrder(1)
If !dbSeek(xFilial("CTO")+mv_par03,.F.)
    Help(" ",1,"NOMOEDA")
    Return(.F.)   
EndIf

nSaldoAnterior := 0
// Soma o saldo anterior da conta de todas as filiais
nSaldoAnterior := SaldoCT7Fil(CT1->CT1_CONTA,mv_par01,mv_par03,mv_par04,,,,aSelFil)[6]     

// Mascara da Conta
If Empty(aSetOfBook[2])
    cMascara1 := GetMv("MV_MASCARA")
Else
    cMascara1    := RetMasCtb(aSetOfBook[2],@cSepara1)
EndIf              

If lCusto .Or. lItem .Or. lCLVL
    // Mascara do Centro de Custo
    If Empty(aSetOfBook[6])
        cMascara2 := GetMv("MV_MASCCUS")
    Else
        cMascara2    := RetMasCtb(aSetOfBook[6],@cSepara2)
    EndIf                                               
    // Mascara do Item Contabil
    If Empty(aSetOfBook[7])
        dbSelectArea("CTD")
        cMascara3 := ALLTRIM(STR(Len(CTD->CTD_ITEM)))
    Else
        cMascara3 := RetMasCtb(aSetOfBook[7],@cSepara3)
    EndIf
    // Mascara da Classe de Valor
    If Empty(aSetOfBook[8])
        dbSelectArea("CTH")
        cMascara4 := ALLTRIM(STR(Len(CTH->CTH_CLVL)))
    Else
        cMascara4 := RetMasCtb(aSetOfBook[8],@cSepara4)
    EndIf
EndIf   

//    Set Filter To SN3->N3_FILIAL = xFilial("SN3")

If !Empty(cFiltro)                                    /// SE A EXPRESSÃO RETORNADA NÃO ESTIVER VAZIA
    Set Filter To &(cFiltro)                        /// ACIONA A EXPRESSÃO DE FILTRO NO CT1
Endif


MsgMeter({|    oMeter, oText, oDlg, lEnd | ;
                CTBGerRaz(oMeter,oText,oDlg,lEnd,@cArqTmp,CT1->CT1_CONTA,CT1->CT1_CONTA,;
                             mv_par07,mv_par08,mv_par10,mv_par11,;
                             mv_par13,mv_par14,mv_par03,mv_par01,mv_par02,;
                             CTBSetOf(""),.F.,mv_par04,.F.,"1",.T.,,,cFiltro,,aSelFil) },;
            STR0006,;        // "Criando Arquivo Tempor rio..."
            STR0005)        // "Emissao do Razao"

RestArea(aArea)
 

Programa Fonte
CTBC400.prw
Sintaxe

CTB400FIL - Filtro ( [ ] ) --> cFiltro

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
Array of Record
Retorno
    cFiltro(caracter)
  • Filtro - em sintaxe SQL
Exemplos
#include "Protheus.ch"User Function CTB400FIL()     Local cFiltro                   Local cLote        cLote= "131313"    	                                                       	     cFiltro:= "CT2_LOTE = '" + cLote +"'"  //Filtro - em sintaxe SQL     msgalert( 'So sera mostrado lançamentos do lote' +  cLote )	Return cFiltro
Variáveis
Nome Tipo Escopo Pode Alterar descrição
Array of Record Global Não