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 |