home *** CD-ROM | disk | FTP | other *** search
Wrap
<%@ LANGUAGE="VBSCRIPT" %> <% Set clsTes = Session("TES") If clsTes.LoggedIn = False Then Set clsTes = Nothing Response.Redirect("../loggedout.htm") End If bRunReport = False nErrors = 0 tErrorList = "<B>Errors:</B>" tFromDate=Request.Form("txtFromDate") tToDate=Request.Form("txtToDate") tGroupBy1=Request.Form("txtGroupBy1") tGroupBy2=Request.Form("txtGroupBy2") tReportOn=Request.Form("optReportOn") tTitle=Request.Form("txtTitle") tShow=Request.Form("chkShow") tResource=Request.Form("txtResource") If Request.Form("btnSubmit") <> "Run Report" Then 'Set up defaults 'tFromDate = FormatDate(clsTes.Monday(Now) - 7,vbShortDate) 'tToDate = FormatDate(clsTes.Monday(Now) - 1, vbShortDate) tFromDate = clsTes.FormatDate(clsTes.Monday(Now) - 7) tToDate = clsTes.FormatDate(clsTes.Monday(Now) - 1) tReportOn = "Timesheet" If clsTes.TimesheetViewAccess = 0 Then tReportOn = "Expense" End If tGroupBy1="Client" tGroupBy2="Nothing" tShow="Hours" tTitle="Summary Report" Else 'Run Report Mode If Len(tFromDate)=0 Then nErrors = 1 tErrorList=tErrorList & "<BR>Please enter a From Date" ElseIf Not clsTes.IsDate(tFromDate) Then nErrors = 1 tErrorList=tErrorList & "<BR>Please enter a valid From Date" End If If Len(tToDate)=0 Then nErrors = 1 tErrorList=tErrorList & "<BR>Please enter a To Date" ElseIf Not clsTes.IsDate(tToDate) Then nErrors = 1 tErrorList = tErrorList & "<BR>Please enter a valid To Date" End If If nErrors=0 Then If clsTes.ADate(tFromDate) > clsTes.ADate(tToDate) Then nErrors = 1 tErrorList=tErrorList & "<BR>The To Date is earlier than the From Date" End If End If If tGroupBy1 = tGroupBy2 Then nErrors = 1 tErrorList=tErrorList & "<BR>Please choose different Group By options" End If If tReportOn = "Timesheet" and (tGroupBy1="Type" or tGroupBy2="Type") Then nErrors = 1 tErrorList=tErrorList & "<BR>Can't group by Expense Type for a Timesheet Report" End If If tReportOn = "Expense" and (tGroupBy1="Activity" or tGroupBy2="Activity") Then nErrors = 1 tErrorList=tErrorList & "<BR>Can't group by " & clsTes.ActivityLabel & " for an Expense Report" End If If Len(tShow)=0 Then nErrors = 1 tErrorList=tErrorList & "<BR>Please select at least one include option" ElseIf tReportOn="Expense" and tShow="Hours" then nErrors = 1 tErrorList=tErrorList & "<BR>Please select at least one include option other than " & clsTes.UnitTimeLabelP & " for an Expense report" End If If nErrors = 0 Then 'Run Report If InStr(1,tShow,"Hours") and tReportOn = "Timesheet" Then bShowHours = True Else bShowHours = False End If If InStr(1, tShow, "Cost") and tReportOn = "Timesheet" and (clsTes.UserCost = 2 or clsTes.UserCost = 4 or clsTes.UserCost = 5) Then bShowCost = True ElseIf InStr(1, tShow, "Cost") and tReportOn = "Expense" Then bShowCost = True Else bShowCost = False End If If InStr(1, tShow, "Charge") and tReportOn = "Timesheet" and (clsTes.UserCharge = 2 or clsTes.UserCharge = 4 or clsTes.UserCharge = 5) Then bShowCharge = True ElseIf InStr(1, tShow, "Charge") and tReportOn = "Expense" and (clsTes.UserChargeableExpense <> 0) Then bShowCharge = True Else bShowCharge = False End If bRunReport = True End If End If %> <!-- #INCLUDE FILE = "settings/colours.txt" --> <HTML> <HEAD> <META NAME="GENERATOR" Content="Microsoft Visual InterDev 1.0"> <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1"> <TITLE>Timesheet Expert Web Reports</TITLE> </HEAD> <% If Not bRunReport Then %> <BODY BGCOLOR="<%= BackColor %>" LINK="<%= LinkColor %>" VLINK="<%= VLinkColor %>" ALINK="<%= ALinkColor %>" TEXT="<%= TextColor %>"> <BASEFONT SIZE=2 COLOR="<%= TextColor %>"> <CENTER> <FONT SIZE=+2><B>Summary Reports</B></FONT> <P> <% If nErrors Then %> <%= tErrorList %> <BR><BR> <% End If %> <FORM ACTION="report.asp" METHOD=POST> <TABLE BORDER=0 CELLSPACING=10 CELLPADDING=10> <TR> <TD VALIGN=TOP ALIGN=LEFT> <B> Base the Report on: </B><P> <% If clsTes.TimesheetViewAccess <> 0 Then %> <INPUT TYPE=RADIO NAME="optReportOn" VALUE="Timesheet" <% If tReportOn="Timesheet" Then Response.Write("CHECKED")%>> Timesheets<P> <% End If %> <% If clsTes.ExpenseViewAccess <> 0 Then %> <INPUT TYPE=RADIO NAME="optReportOn" VALUE="Expense" <% If tReportOn="Expense" Then Response.Write("CHECKED")%>> Expenses <% End If %> </TD> <TD VALIGN=TOP ALIGN=LEFT> <B> Group the Report by: </B><P> <SELECT NAME="txtGroupBy1" SIZE=1> <OPTION VALUE="Client" <% If tGroupBy1 = "Client" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ClientLabel) %></OPTION> <OPTION VALUE="Project" <% If tGroupBy1 = "Project" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ProjectLabel) %></OPTION> <OPTION VALUE="Resource" <% If tGroupBy1 = "Resource" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ResourceLabel) %></OPTION> <OPTION VALUE="Activity" <% If tGroupBy1 = "Activity" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ActivityLabel) %></OPTION> <OPTION VALUE="Type" <% If tGroupBy1 = "Type" Then Response.Write("SELECTED") %>>Expense Type</OPTION> </SELECT> <P> <SELECT NAME="txtGroupBy2" SIZE=1> <OPTION VALUE="Nothing" <% If tGroupBy2 = "Nothing" Then Response.Write("SELECTED") %>></OPTION> <OPTION VALUE="Client" <% If tGroupBy2 = "Client" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ClientLabel) %></OPTION> <OPTION VALUE="Project" <% If tGroupBy2 = "Project" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ProjectLabel) %></OPTION> <OPTION VALUE="Resource" <% If tGroupBy2 = "Resource" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ResourceLabel) %></OPTION> <OPTION VALUE="Activity" <% If tGroupBy2 = "Activity" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ActivityLabel) %></OPTION> <OPTION VALUE="Type" <% If tGroupBy2 = "Type" Then Response.Write("SELECTED") %>>Expense Type</OPTION> </SELECT> </TD> <TD VALIGN=TOP ALIGN=LEFT ROWSPAN=2> <% clsTes.GenerateDropDownList "Resource", 5 If clsTes.ErrorNumber <> 0 Then Response.Write(Server.HTMLEncode(clsTes.ErrorText)) clsTes.ErrorClear End If %> <B> <%= clsTes.ResourceLabel %> Selection: </B><P> <SELECT NAME="txtResource" SIZE=12 MULTIPLE> <% If clsTes.UpperBoundRow > 0 Then For lRow = 1 To clsTes.UpperBoundRow %> <OPTION VALUE="'<%= Server.HTMLEncode(clsTes.GridValue(lRow, 0)) %>'" <% If clsTes.Resource = clsTes.GridValue(lRow,0) Then Response.Write("SELECTED") %>><%= clsTes.GridValue(lRow,1) %></OPTION> <% Next End If %> </SELECT> </TD> </TR> <TR> <TD VALIGN=TOP ALIGN=LEFT> <B>Dates: </B><P> <INPUT TYPE=TEXT SIZE=10 MAXLENGTH=20 NAME="txtFromDate" VALUE="<%= tFromDate %>"> <B> To </B><INPUT TYPE=TEXT SIZE=10 MAXLENGTH=20 NAME="txtToDate" VALUE="<%= tToDate %>"> </TD> <TD VALIGN=TOP ALIGN=LEFT> <B>Show: </B></P> <% If clsTes.TimesheetViewAccess <> 0 Then %> <INPUT TYPE=CHECKBOX NAME="chkShow" VALUE="Hours" <% If InStr(1,tShow,"Hours") Then Response.Write("CHECKED") %>> <%= Server.HTMLEncode(clsTes.UnitTimeLabelP) %> <BR> <% End If %> <% If (clsTes.TimesheetViewAccess <> 0 and (clsTes.UserCost = 2 or clsTes.UserCost=4 or clsTes.UserCost = 5)) or clsTes.ExpenseViewAccess <> 0 Then %> <INPUT TYPE=CHECKBOX NAME="chkShow" VALUE="Cost" <% If InStr(1,tShow,"Cost") Then Response.Write("CHECKED") %>> Cost <BR> <% End If %> <% If (clsTes.TimesheetViewAccess <> 0 and (clsTes.UserCharge = 2 or clsTes.UserCharge=4 or clsTes.UserCharge = 5)) or (clsTes.ExpenseViewAccess <> 0 and clsTes.UserChargeableExpense > 0) Then %> <INPUT TYPE=CHECKBOX NAME="chkShow" VALUE="Charge" <% If InStr(1,tShow,"Charge") Then Response.Write("CHECKED") %>> Charge <BR> <% End If %> </TD> </TR> <TR> <TD VALIGN=TOP ALIGN=LEFT COLSPAN=3> <B>Report Title: </B><P> <INPUT TYPE=TEXT SIZE=70 MAXLENGTH=200 NAME="txtTitle" VALUE="<%= tTitle %>"> </TD> </TR> <TR> <TD VALIGN=TOP ALIGN=CENTER COLSPAN=3> <INPUT TYPE=SUBMIT NAME="btnSubmit" VALUE="Run Report"> </TD> </TR> </TABLE> </CENTER> </BODY> <% Else %> <BODY BGCOLOR="<%= ReportBackColor %>" TEXT="<%= ReportTextColor %>"> <!-- #INCLUDE FILE="../custom/header.htm" --> <%'= tResource %> <% lRowCount = clsTes.GenerateReport(CStr(tReportOn), clsTes.ADbl(clsTes.ADate(tFromDate)), clsTes.ADbl(clsTes.ADate(tToDate)), CStr(tGroupBy1), CStr(tGroupBy2), CStr(tShow), CStr(tResource)) If clsTes.ErrorNumber <> 0 Then Response.Write clsTes.ErrorText Else %> <P> <FONT SIZE=+1><B><%= Server.HTMLEncode(tTitle) %></B></FONT><BR> <FONT SIZE=-1>From <%=tFromDate%> to <%= tToDate %></FONT> <P> <TABLE BORDER=0 WIDTH=100% CELLSPACING=3> <TR> <% Select Case tGroupBy1 Case "Client" tGroupByLabel = clsTes.ClientLabel Case "Project" tGroupByLabel = clsTes.ProjectLabel Case "Resource" tGroupByLabel = clsTes.ResourceLabel Case "Activity" tGroupByLabel = clsTes.ActivityLabel Case "Type" tGroupByLabel = "Expense Type" End Select %> <TD ALIGN=LEFT VALIGN=TOP> <FONT SIZE=+1><B><U><%= Server.HTMLEncode(tGroupByLabel) %> Code</B></U></FONT> </TD> <TD ALIGN=LEFT VALIGN=TOP> <FONT SIZE=+1><B><U>Description</B></U></FONT> </TD> <% If tGroupBy2 <> "Nothing" Then %> <% Select Case tGroupBy2 Case "Client" tGroupByLabel = clsTes.ClientLabel Case "Project" tGroupByLabel = clsTes.ProjectLabel Case "Resource" tGroupByLabel = clsTes.ResourceLabel Case "Activity" tGroupByLabel = clsTes.ActivityLabel Case "Type" tGroupByLabel = "Expense Type" End Select %> <TD ALIGN=LEFT VALIGN=TOP> <FONT SIZE=+1><I><U><%= Server.HTMLEncode(tGroupByLabel) %> Code</I></U></FONT> </TD> <TD ALIGN=LEFT VALIGN=TOP> <FONT SIZE=+1><I><U>Description</I></U></FONT> </TD> <% End If %> <% If bShowHours Then %> <TD ALIGN=RIGHT VALIGN=TOP> <FONT SIZE=+1><B><U><%= clsTes.UnitTimeLabelP %></B></U></FONT> </TD> <% End If %> <% If bShowCost Then %> <TD ALIGN=RIGHT VALIGN=TOP> <FONT SIZE=+1><B><U>Cost</B></U></FONT> </TD> <% End If %> <% If bShowCharge Then %> <TD ALIGN=RIGHT VALIGN=TOP> <FONT SIZE=+1><B><U>Charge</B></U></FONT> </TD> <% End If %> </TR> <% dTotalHours = 0 dTotalCost = 0 dTotalCharge = 0 dGroup1TotalHours = 0 dGroup1TotalCost = 0 dGroup1TotalHours = 0 tLastGroupBy1 = "" For lRow = 1 to lRowCount %> <TR> <% If clsTes.GridValue(lRow,0) <> tLastGroupBy1 Then If lRow <> 1 and tGroupBy2 <> "Nothing" Then %> <TD></TD> <TD></TD> <TD></TD> <TD ALIGN=LEFT VALIGN=TOP> <B>Total for <%= Server.HTMLEncode(tLastGroupBy1) %></B> </TD> <% If bShowHours Then %> <TD ALIGN=RIGHT VALIGN=TOP> <B><%= clsTes.FormatNumber(dGroup1TotalHours,"0.00") %></B><P> </TD> <% End If %> <% If bShowCost Then %> <TD ALIGN=RIGHT VALIGN=TOP> <B><%= clsTes.FormatCurrency(dGroup1TotalCost) %></B> </TD> <% End If %> <% If bShowCharge Then %> <TD ALIGN=RIGHT VALIGN=TOP> <B><%= clsTes.FormatCurrency(dGroup1TotalCharge) %></B> </TD> <% End If %> </TR> <% dGroup1TotalHours = 0 dGroup1TotalCost = 0 dGroup1TotalHours = 0 %> <TR> <% End If %> <TD ALIGN=LEFT VALIGN=TOP> <B><%= Server.HTMLEncode(clsTes.GridValue(lRow,0)) %></B> </TD> <TD ALIGN=LEFT VALIGN=TOP> <% If Not IsNull(clsTes.GridValue(lRow,1)) Then %> <B><%= Server.HTMLEncode(clsTes.GridValue(lRow,1)) %></B> <% Else %> <% End If %> </TD> <% tLastGroupBy1 = clsTes.GridValue(lRow,0) Else %> <TD></TD> <TD></TD> <% End If %> <% nColumn = 2 If tGroupBy2 <> "Nothing" Then nColumn = 4 %> <TD ALIGN=LEFT VALIGN=TOP> <I><%= Server.HTMLEncode(clsTes.GridValue(lRow,2)) %></I> </TD> <TD ALIGN=LEFT VALIGN=TOP> <% If Not IsNull(clsTes.GridValue(lRow,3)) Then %> <I><%= Server.HTMLEncode(clsTes.GridValue(lRow,3)) %></I> <% Else %> <% End If %> </TD> <% End If %> <% If bShowHours Then %> <TD ALIGN=RIGHT VALIGN=TOP> <%= clsTes.FormatNumber(clsTes.GridValue (lRow, nColumn),"0.00") %> <% dGroup1TotalHours = dGroup1TotalHours + clsTes.GridValue(lRow, nColumn) dTotalHours = dTotalHours + clsTes.gridValue(lRow,nColumn) nColumn = nColumn + 1 %> </TD> <% End If %> <% If bShowCost Then %> <TD ALIGN=RIGHT VALIGN=TOP> <%= clsTes.FormatCurrency(clsTes.GridValue (lRow, nColumn)) %> <% dGroup1TotalCost = dGroup1TotalCost + clsTes.GridValue(lRow, nColumn) dTotalCost = dTotalCost + clsTes.gridValue(lRow,nColumn) nColumn = nColumn + 1 %> </TD> <% End If %> <% If bShowCharge Then %> <TD ALIGN=RIGHT VALIGN=TOP> <% If Not IsNull(clsTes.GridValue (lRow, nColumn)) Then %> <%= clsTes.FormatCurrency(clsTes.GridValue (lRow, nColumn)) %> <% dGroup1TotalCharge = dGroup1TotalCharge + clsTes.GridValue(lRow, nColumn) dTotalCharge = dTotalCharge + clsTes.GridValue(lRow,nColumn) Else %> <%= clsTes.FormatCurrency(0) %> <% End If %> </TD> <% End If %> </TR> <% Next %> <TR> <% If tGroupBy2 <> "Nothing" Then %> <TD></TD> <TD></TD> <TD></TD> <TD ALIGN=LEFT VALIGN=TOP> <B>Total for <%= Server.HTMLEncode(tLastGroupBy1) %></B> </TD> <% If bShowHours Then %> <TD ALIGN=RIGHT VALIGN=TOP> <B><%= clsTes.FormatNumber(dGroup1TotalHours,"0.00") %></B><P> </TD> <% End If %> <% If bShowCost Then %> <TD ALIGN=RIGHT VALIGN=TOP> <B><%= clsTes.FormatCurrency(dGroup1TotalCost) %></B> </TD> <% End If %> <% If bShowCharge Then %> <TD ALIGN=RIGHT VALIGN=TOP> <B><%= clsTes.FormatCurrency(dGroup1TotalCharge) %></B> </TD> <% End If %> </TR> <TR> <TD></TD> <TD></TD> <% End If %> <TD><P><P></TD> <TD ALIGN=LEFT VALIGN=BOTTOM> <FONT SIZE=+1><B><U>Grand Total</U></B></FONT> </TD> <% If bShowHours Then %> <TD ALIGN=RIGHT VALIGN=BOTTOM> <B><U><%= clsTes.FormatNumber(dTotalHours,"0.00") %><U></B> </TD> <% End If %> <% If bShowCost Then %> <TD ALIGN=RIGHT VALIGN=BOTTOM> <B><U><%= clsTes.FormatCurrency(dTotalCost) %><U></B> </TD> <% End If %> <% If bShowCharge Then %> <TD ALIGN=RIGHT VALIGN=BOTTOM> <B><U><%= clsTes.FormatCurrency(dTotalCharge) %><U></B> </TD> <% End If %> </TABLE> <P> <P> <% End If %> <!--#INCLUDE FILE="../custom/footer.htm"--> </BODY> <% End If %> </HTML>