Public Sub REPORT_OnMacroValue(ByVal Name As String, ResultValue As Variant)
Select Case Name
Case "MCONTRATO"
ResultValue = Q1.FieldByName("CONTRATO").AsInteger
Case "MCONTRATANTE"
ResultValue = Q1.FieldByName("CONTRATANTE").AsString
Case "MFAMILIA"
ResultValue = Q1.FieldByName("FAMILIA").AsInteger
Case "MBENEFICIARIO"
ResultValue = Q1.FieldByName("BENEFICIARIO").AsString
Case "MDESCRICAO"
Select Case Q1.FieldByName("TIPO").AsInteger
Case 1
ResultValue = "Cota Patronal"
Case 2
ResultValue = "Contribuição"
Case 3
ResultValue = "Inscrição"
Case 4
ResultValue = "Mensalidade"
Case 5
ResultValue = "Bonificação"
Case 6
ResultValue = "Utilização"
Case 7
ResultValue = "Taxa Adm"
Case 8
ResultValue = "Acerto Mensalidade"
Case 9
ResultValue = "Utilização Indevida"
Case 10
ResultValue = "Auxílio"
End Select
Case "MVALORTOTAL"
ResultValue = Q1.FieldByName("VALOR").AsFloat
Case "MNATUREZA"
Select Case Q1.FieldByName("TIPO").AsInteger
Case 1
vCredito = vCredito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "C"
Case 2
vCredito = vCredito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "C"
Case 3
vCredito = vCredito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "C"
Case 4
vCredito = vCredito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "C"
Case 5
ResultValue = "D"
Case 6
vCredito = vCredito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "C"
Case 7
vCredito = vCredito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "C"
Case 8
If Q1.FieldByName("VALORANT").AsFloat < Q1.FieldByName("VALORACERTO").AsFloat Then
vCredito = vCredito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "C"
Else
vDebito = vDebito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "D"
End If
Case 9
vCredito = vCredito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "C"
Case 10
vDebito = vDebito + Q1.FieldByName("VALOR").AsFloat
ResultValue = "D"
End Select
Case "MCOMPETENCIA"
ResultValue = Format(Q1.FieldByName("COMPETENCIA").AsString,"mm/yyyy")
Case "MCREDITO"
ResultValue = Format(vCredito,"###,###,##0.00")
Case "MDEBITO"
ResultValue = Format(vDebito,"###,###,##0.00")
Case "MTOTAL"
If (vCredito - vDebito) < 0 Then
ResultValue = Str(Format(Abs(vCredito - vDebito),"###,###,##0.00"))+" D"
Else
ResultValue = Str(Format(Abs(vCredito - vDebito),"###,###,##0.00"))+" C"
End If
End Select
End Sub
Public Sub REPORT_OnNeedData(ByVal Band As Object, MoreData As Boolean)
Select Case Band.Name
Case "MPRINCIPAL"
MoreData = Not Q1.EOF
End Select
End Sub
Public Sub REPORT_OnPrepareReport(CanPrint As Boolean)
If Not(VisibleMode) Then
If REPORT.FieldsForm("COMPETENCIAINICIAL") <> "" Then
FiltroCompetenciaIn = REPORT.FieldsForm("COMPETENCIAINICIAL")
Else
FiltroCompetenciaIn = 0
End If
If REPORT.FieldsForm("COMPETENCIAFINAL") <> "" Then
FiltroCompetenciaFin = REPORT.FieldsForm("COMPETENCIAFINAL")
Else
FiltroCompetenciaFin = 0
End If
If REPORT.FieldsForm("CONTRATO") <> "" Then
FiltroContrato = REPORT.FieldsForm("CONTRATO")
Else
FiltroContrato = 0
End If
If REPORT.FieldsForm("FAMILIA") <> "" Then
FiltroFamilia = REPORT.FieldsForm("FAMILIA")
Else
FiltroFamilia = 0
End If
Else
Dim HandleFiltro As Integer
Dim Interface As Object
Set Interface = CreateBennerObject("SamFiltro.Filtro")
HandleFiltro = Interface.Exec(CurrentSystem, CurrentUser,3,"COMPETENCIAINICIAL|COMPETENCIAFINAL|CONTRATO.nl|FAMILIA.nl","Demonstrativo de Movimentação", "S")
If HandleFiltro <= 0 Then
CanPrint = False
Else
'Busca pelo RFFiltro selecionado
Dim SQLFiltro As BPesquisa
Set SQLFiltro = NewQuery
SQLFiltro.Clear
SQLFiltro.Add("SELECT CHECKGERAL,COMPETENCIAINICIAL,COMPETENCIAFINAL,CONTRATO,FAMILIA FROM RF_FILTRO WHERE HANDLE="+Str(HandleFiltro))
SQLFiltro.Active = True
FiltroCompetenciaIn = SQLFiltro.FieldByName("COMPETENCIAINICIAL").AsDateTime
FiltroCompetenciaFin = SQLFiltro.FieldByName("COMPETENCIAFINAL").AsDateTime
FiltroContrato = SQLFiltro.FieldByName("CONTRATO").AsInteger
FiltroFamilia = SQLFiltro.FieldByName("FAMILIA").AsInteger
Set SQLFiltro = Nothing
CanPrint = True
End If
' Para não chamar a rotina de filtro padrão.
REPORT.Filter = False
End If
End Sub
Public Sub REPORT_OnStartPage()
NumeroPagina=NumeroPagina+1
End Sub