Punto de entrada: CTB400FIL - Filtro

Alcances:

Microsiga Protheus 10, Microsiga Protheus 11

Versiones:

Microsiga Protheus 10, Microsiga Protheus 11

Compatible países:

Todos

Sistemas operativos:

Todos

Compatible con las bases de datos:

Todas

Idiomas:

Portugués (Brasil) , Portugués (Portugal) , Español , Inglés

Descripción:

El punto de entrada CTB400FIL se utiliza para filtrar los registros en la hora de visualizar los movimientos.

Eventos

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

If ExistBlock("CTB400FIL")                                /// PUNTO DE ENTRADA PARA EL FILTRADO DEL BROWSE
    cFiltro := ExecBlock("CTB400FIL", .F., .F.)
Endif


Pergunte( "CTC400" , .F.)                  




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



//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Variables utilizadas para parámetros ( CTC400 )              ³
//³ mv_par01            // De fecha                               ³
//³ mv_par02            // A fecha                            ³
//³ mv_par03            // Moneda                                 ³  
//³ mv_par04            // Saldos                                 ³  
//³ mv_par05            // Set Of Books                          ³
//³ mv_par06            // ¿Imprime C.Costo?                      ³
//³ mv_par07            // De Centro de costo                    ³
//³ mv_par08            // A Centro de costo                 ³
//³ mv_par09            // ¿Imprime ítem?                         ³   
//³ mv_par10            // De Ítem                               ³
//³ mv_par11            // A Ítem                              ³
//³ mv_par12            // ¿Imprime Clase de valor?              ³   
//³ mv_par13            // De Clase de valor                    ³
//³ mv_par14            // A Clase de valor                 ³
//³ mv_par15            // Descripción en la moneda                    ³
//³ mv_par16            // ¿Selecciona sucursales ?                   ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ

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
// Suma el saldo anterior de la cuenta de todas las sucursales
nSaldoAnterior := SaldoCT7Fil(CT1->CT1_CONTA,mv_par01,mv_par03,mv_par04,,,,aSelFil)[6]     

// Máscara de la Cuenta
If Empty(aSetOfBook[2])
    cMascara1 := GetMv("MV_MASCARA")
Else
    cMascara1    := RetMasCtb(aSetOfBook[2],@cSepara1)
EndIf              

If lCusto .Or. lItem .Or. lCLVL
    // Máscara del Centro de costo
    If Empty(aSetOfBook[6])
        cMascara2 := GetMv("MV_MASCCUS")
    Else
        cMascara2    := RetMasCtb(aSetOfBook[6],@cSepara2)
    EndIf                                               
    // Máscara del Ítem contable
    If Empty(aSetOfBook[7])
        dbSelectArea("CTD")
        cMascara3 := ALLTRIM(STR(Len(CTD->CTD_ITEM)))
    Else
        cMascara3 := RetMasCtb(aSetOfBook[7],@cSepara3)
    EndIf
    // Máscara de la Clase 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)                                    /// SI LA EXPRESIÓN DEVUELTA NO ESTUVIERA VACÍA
    Set Filter To &(cFiltro)                        /// ACTIVA LA EXPRESIÓN DE FILTRO EN 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,;        // "Creando archivo temporal..."
            STR0005)        // "Emisión del Libro mayor"

RestArea(aArea)
 

Programa fuente

CTBC400.prw

Sintaxis

CTB400FIL - Filtro ( [ ] ) --> cFiltro

Parámetros:


Nombre



Tipo



Descripción



Estándar



Obligatorio



Referencia






Array of Record














Devolución

            cFiltro(caracter)

            Filtro - en sintaxis SQL

Ejemplos

#include "Protheus.ch"User Function CTB400FIL()     Local cFiltro                   Local cLote        cLote= "131313"                                                                        cFiltro:= "CT2_LOTE = '" + cLote +"'"  //Filtro - en sintaxis SQL     msgalert( 'Solamente se mostrarán registros del lote' +  cLote )     Return cFiltro

Variables


Nombre



Tipo



Alcance



Puede modificar



descripción






Array of Record



Global



No