home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / full / atlantic / Software / Teweb / data1.cab / Pages / scripts / report.asp < prev    next >
Encoding:
Text File  |  2000-02-14  |  14.7 KB  |  493 lines

  1. <%@ LANGUAGE="VBSCRIPT" %>
  2. <%    Set clsTes = Session("TES")
  3.     If clsTes.LoggedIn = False Then
  4.         Set clsTes = Nothing
  5.         Response.Redirect("../loggedout.htm")
  6.     End If
  7.  
  8.     bRunReport = False
  9.     nErrors = 0
  10.     tErrorList = "<B>Errors:</B>"
  11.  
  12.     tFromDate=Request.Form("txtFromDate")
  13.     tToDate=Request.Form("txtToDate")
  14.     tGroupBy1=Request.Form("txtGroupBy1")
  15.     tGroupBy2=Request.Form("txtGroupBy2")
  16.     tReportOn=Request.Form("optReportOn")
  17.     tTitle=Request.Form("txtTitle")
  18.     tShow=Request.Form("chkShow")
  19.     tResource=Request.Form("txtResource")
  20.  
  21.     If Request.Form("btnSubmit") <> "Run Report" Then
  22.         'Set up defaults
  23.         'tFromDate = FormatDate(clsTes.Monday(Now) - 7,vbShortDate)
  24.         'tToDate = FormatDate(clsTes.Monday(Now) - 1, vbShortDate)
  25.         tFromDate = clsTes.FormatDate(clsTes.Monday(Now) - 7)
  26.         tToDate = clsTes.FormatDate(clsTes.Monday(Now) - 1)
  27.  
  28.         tReportOn = "Timesheet"
  29.         If clsTes.TimesheetViewAccess = 0 Then
  30.             tReportOn = "Expense"
  31.         End If
  32.  
  33.         tGroupBy1="Client"
  34.         tGroupBy2="Nothing"
  35.         tShow="Hours"
  36.         tTitle="Summary Report"
  37.     Else
  38.         
  39.         'Run Report Mode
  40.         If Len(tFromDate)=0 Then
  41.             nErrors = 1
  42.             tErrorList=tErrorList & "<BR>Please enter a From Date"
  43.         ElseIf Not clsTes.IsDate(tFromDate) Then
  44.             nErrors = 1
  45.             tErrorList=tErrorList & "<BR>Please enter a valid From Date"
  46.         End If
  47.  
  48.         If Len(tToDate)=0 Then
  49.             nErrors = 1
  50.             tErrorList=tErrorList & "<BR>Please enter a To Date"
  51.         ElseIf Not clsTes.IsDate(tToDate) Then
  52.             nErrors = 1
  53.             tErrorList = tErrorList & "<BR>Please enter a valid To Date"
  54.         End If
  55.  
  56.         If nErrors=0 Then
  57.             If clsTes.ADate(tFromDate) > clsTes.ADate(tToDate) Then
  58.                 nErrors = 1
  59.                 tErrorList=tErrorList & "<BR>The To Date is earlier than the From Date"
  60.             End If
  61.         End If
  62.  
  63.         If tGroupBy1 = tGroupBy2 Then
  64.             nErrors = 1
  65.             tErrorList=tErrorList & "<BR>Please choose different Group By options"
  66.         End If
  67.  
  68.         If tReportOn = "Timesheet" and (tGroupBy1="Type" or tGroupBy2="Type") Then
  69.             nErrors = 1
  70.             tErrorList=tErrorList & "<BR>Can't group by Expense Type for a Timesheet Report"
  71.         End If
  72.  
  73.         If tReportOn = "Expense" and (tGroupBy1="Activity" or tGroupBy2="Activity") Then
  74.             nErrors = 1
  75.             tErrorList=tErrorList & "<BR>Can't group by " & clsTes.ActivityLabel & " for an Expense Report"
  76.         End If
  77.  
  78.  
  79.         If Len(tShow)=0 Then
  80.             nErrors = 1
  81.             tErrorList=tErrorList & "<BR>Please select at least one include option"
  82.         ElseIf tReportOn="Expense" and tShow="Hours" then
  83.             nErrors = 1
  84.             tErrorList=tErrorList & "<BR>Please select at least one include option other than " & clsTes.UnitTimeLabelP & " for an Expense report"
  85.         End If
  86.  
  87.         If nErrors = 0 Then
  88.             'Run Report
  89.             If InStr(1,tShow,"Hours") and tReportOn = "Timesheet" Then
  90.                 bShowHours = True
  91.             Else
  92.                 bShowHours = False
  93.             End If
  94.  
  95.             If InStr(1, tShow, "Cost") and tReportOn = "Timesheet" and (clsTes.UserCost = 2 or clsTes.UserCost = 4 or clsTes.UserCost = 5) Then
  96.                 bShowCost = True
  97.             ElseIf InStr(1, tShow, "Cost") and tReportOn = "Expense" Then
  98.                 bShowCost = True
  99.             Else
  100.                 bShowCost = False
  101.             End If
  102.  
  103.             If InStr(1, tShow, "Charge") and tReportOn = "Timesheet" and (clsTes.UserCharge = 2 or clsTes.UserCharge = 4 or clsTes.UserCharge = 5) Then
  104.                 bShowCharge = True
  105.             ElseIf InStr(1, tShow, "Charge") and tReportOn = "Expense" and (clsTes.UserChargeableExpense <> 0) Then
  106.                 bShowCharge = True
  107.             Else
  108.                 bShowCharge = False
  109.             End If
  110.  
  111.             bRunReport = True
  112.         End If
  113.  
  114.     End If
  115. %>
  116. <!-- #INCLUDE FILE = "settings/colours.txt" -->
  117. <HTML>
  118. <HEAD>
  119. <META NAME="GENERATOR" Content="Microsoft Visual InterDev 1.0">
  120. <META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
  121. <TITLE>Timesheet Expert Web Reports</TITLE>
  122. </HEAD>
  123.  
  124. <% If Not bRunReport Then %>
  125.  
  126. <BODY BGCOLOR="<%= BackColor %>" LINK="<%= LinkColor %>" VLINK="<%= VLinkColor %>" ALINK="<%= ALinkColor %>" TEXT="<%= TextColor %>">
  127. <BASEFONT SIZE=2 COLOR="<%= TextColor %>">
  128.  
  129. <CENTER>
  130. <FONT SIZE=+2><B>Summary Reports</B></FONT>
  131. <P>
  132. <%    If nErrors Then %>
  133.         <%= tErrorList %>
  134.         <BR><BR>
  135. <%    End If %>
  136. <FORM ACTION="report.asp" METHOD=POST>
  137.  
  138. <TABLE BORDER=0 CELLSPACING=10 CELLPADDING=10>
  139. <TR>
  140.     <TD VALIGN=TOP ALIGN=LEFT>
  141.         <B> Base the Report on: </B><P>
  142. <%        If clsTes.TimesheetViewAccess <> 0 Then %>
  143.             <INPUT TYPE=RADIO NAME="optReportOn" VALUE="Timesheet" <% If tReportOn="Timesheet" Then Response.Write("CHECKED")%>> Timesheets<P>
  144. <%        End If %>
  145. <%        If clsTes.ExpenseViewAccess <> 0 Then %>
  146.             <INPUT TYPE=RADIO NAME="optReportOn" VALUE="Expense" <% If tReportOn="Expense" Then Response.Write("CHECKED")%>> Expenses
  147. <%        End If %>
  148.     </TD>
  149.  
  150.     <TD VALIGN=TOP ALIGN=LEFT>
  151.         <B> Group the Report by: </B><P>
  152.         <SELECT NAME="txtGroupBy1" SIZE=1>
  153.             <OPTION VALUE="Client" <% If tGroupBy1 = "Client" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ClientLabel) %></OPTION>
  154.             <OPTION VALUE="Project" <% If tGroupBy1 = "Project" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ProjectLabel) %></OPTION>
  155.             <OPTION VALUE="Resource" <% If tGroupBy1 = "Resource" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ResourceLabel) %></OPTION>
  156.             <OPTION VALUE="Activity" <% If tGroupBy1 = "Activity" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ActivityLabel) %></OPTION>
  157.             <OPTION VALUE="Type" <% If tGroupBy1 = "Type" Then Response.Write("SELECTED") %>>Expense Type</OPTION>
  158.         </SELECT>
  159.         <P>
  160.         <SELECT NAME="txtGroupBy2" SIZE=1>
  161.             <OPTION VALUE="Nothing" <% If tGroupBy2 = "Nothing" Then Response.Write("SELECTED") %>></OPTION>
  162.             <OPTION VALUE="Client" <% If tGroupBy2 = "Client" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ClientLabel) %></OPTION>
  163.             <OPTION VALUE="Project" <% If tGroupBy2 = "Project" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ProjectLabel) %></OPTION>
  164.             <OPTION VALUE="Resource" <% If tGroupBy2 = "Resource" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ResourceLabel) %></OPTION>
  165.             <OPTION VALUE="Activity" <% If tGroupBy2 = "Activity" Then Response.Write("SELECTED") %>><%= Server.HTMLEncode(clsTes.ActivityLabel) %></OPTION>
  166.             <OPTION VALUE="Type" <% If tGroupBy2 = "Type" Then Response.Write("SELECTED") %>>Expense Type</OPTION>
  167.         </SELECT>
  168.     </TD>
  169.  
  170.     <TD VALIGN=TOP ALIGN=LEFT ROWSPAN=2>
  171. <%        clsTes.GenerateDropDownList "Resource", 5
  172.     If clsTes.ErrorNumber <> 0 Then
  173.         Response.Write(Server.HTMLEncode(clsTes.ErrorText))
  174.         clsTes.ErrorClear
  175.     End If %>
  176.         <B> <%= clsTes.ResourceLabel %> Selection: </B><P>
  177.         <SELECT NAME="txtResource" SIZE=12 MULTIPLE>
  178. <%        If clsTes.UpperBoundRow > 0 Then
  179.             For lRow = 1 To clsTes.UpperBoundRow %>
  180. <OPTION VALUE="'<%= Server.HTMLEncode(clsTes.GridValue(lRow, 0)) %>'" <% If clsTes.Resource = clsTes.GridValue(lRow,0) Then Response.Write("SELECTED") %>><%= clsTes.GridValue(lRow,1) %></OPTION>
  181. <%            Next
  182.         End If %>
  183.         </SELECT>
  184.     </TD>
  185. </TR>
  186.  
  187. <TR>
  188.     <TD VALIGN=TOP ALIGN=LEFT>
  189.         <B>Dates: </B><P>
  190.         <INPUT TYPE=TEXT SIZE=10 MAXLENGTH=20 NAME="txtFromDate" VALUE="<%= tFromDate %>">
  191.         <B> To </B><INPUT TYPE=TEXT SIZE=10 MAXLENGTH=20 NAME="txtToDate" VALUE="<%= tToDate %>">
  192.     </TD>
  193.  
  194.     <TD VALIGN=TOP ALIGN=LEFT>
  195.         <B>Show: </B></P>
  196. <%            If clsTes.TimesheetViewAccess <> 0 Then %>
  197.                 <INPUT TYPE=CHECKBOX NAME="chkShow" VALUE="Hours" <% If InStr(1,tShow,"Hours") Then Response.Write("CHECKED") %>> <%= Server.HTMLEncode(clsTes.UnitTimeLabelP) %> <BR>
  198. <%            End If %>
  199. <%            If (clsTes.TimesheetViewAccess <> 0 and (clsTes.UserCost = 2 or clsTes.UserCost=4 or clsTes.UserCost = 5)) or clsTes.ExpenseViewAccess <> 0 Then %>
  200.                 <INPUT TYPE=CHECKBOX NAME="chkShow" VALUE="Cost" <% If InStr(1,tShow,"Cost") Then Response.Write("CHECKED") %>> Cost <BR>
  201. <%            End If %>
  202. <%            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 %>
  203.                 <INPUT TYPE=CHECKBOX NAME="chkShow" VALUE="Charge" <% If InStr(1,tShow,"Charge") Then Response.Write("CHECKED") %>> Charge <BR>
  204. <%            End If %>
  205.     </TD>
  206. </TR>
  207.  
  208. <TR>
  209.     <TD VALIGN=TOP ALIGN=LEFT COLSPAN=3>
  210.         <B>Report Title: </B><P>
  211.         <INPUT TYPE=TEXT SIZE=70 MAXLENGTH=200 NAME="txtTitle" VALUE="<%= tTitle %>">
  212.     </TD>
  213. </TR>
  214.  
  215. <TR>
  216.     <TD VALIGN=TOP ALIGN=CENTER COLSPAN=3>
  217.         <INPUT TYPE=SUBMIT NAME="btnSubmit" VALUE="Run Report">
  218.     </TD>
  219. </TR>
  220. </TABLE>
  221. </CENTER>
  222. </BODY>
  223.  
  224. <%    Else %>
  225.  
  226. <BODY BGCOLOR="<%= ReportBackColor %>" TEXT="<%= ReportTextColor %>">
  227.  
  228. <!-- #INCLUDE FILE="../custom/header.htm" -->
  229. <%'= tResource %>
  230. <%    lRowCount = clsTes.GenerateReport(CStr(tReportOn), clsTes.ADbl(clsTes.ADate(tFromDate)), clsTes.ADbl(clsTes.ADate(tToDate)), CStr(tGroupBy1), CStr(tGroupBy2), CStr(tShow), CStr(tResource))
  231.  
  232.     If clsTes.ErrorNumber <> 0 Then
  233.         Response.Write clsTes.ErrorText
  234.     Else %>
  235.  
  236.     <P>
  237.     <FONT SIZE=+1><B><%= Server.HTMLEncode(tTitle) %></B></FONT><BR>
  238.     <FONT SIZE=-1>From <%=tFromDate%> to <%= tToDate %></FONT>
  239.     <P>
  240.     <TABLE BORDER=0 WIDTH=100% CELLSPACING=3>
  241.  
  242.     <TR>
  243.  
  244. <%    Select Case tGroupBy1
  245.         Case "Client"
  246.             tGroupByLabel = clsTes.ClientLabel
  247.         Case "Project"
  248.             tGroupByLabel = clsTes.ProjectLabel
  249.         Case "Resource"
  250.             tGroupByLabel = clsTes.ResourceLabel
  251.         Case "Activity"
  252.             tGroupByLabel = clsTes.ActivityLabel
  253.         Case "Type"
  254.             tGroupByLabel = "Expense Type"
  255.     End Select %>
  256.  
  257.         <TD ALIGN=LEFT VALIGN=TOP>
  258.         <FONT SIZE=+1><B><U><%= Server.HTMLEncode(tGroupByLabel) %> Code</B></U></FONT>
  259.         </TD>
  260.  
  261.         <TD ALIGN=LEFT VALIGN=TOP>
  262.         <FONT SIZE=+1><B><U>Description</B></U></FONT>
  263.         </TD>
  264.  
  265. <%        If tGroupBy2 <> "Nothing" Then %>
  266.  
  267. <%            Select Case tGroupBy2
  268.                 Case "Client"
  269.                     tGroupByLabel = clsTes.ClientLabel
  270.                 Case "Project"
  271.                     tGroupByLabel = clsTes.ProjectLabel
  272.                 Case "Resource"
  273.                     tGroupByLabel = clsTes.ResourceLabel
  274.                 Case "Activity"
  275.                     tGroupByLabel = clsTes.ActivityLabel
  276.                 Case "Type"
  277.                     tGroupByLabel = "Expense Type"
  278.             End Select %>
  279.  
  280.             <TD ALIGN=LEFT VALIGN=TOP>
  281.             <FONT SIZE=+1><I><U><%= Server.HTMLEncode(tGroupByLabel) %> Code</I></U></FONT>
  282.             </TD>
  283.  
  284.             <TD ALIGN=LEFT VALIGN=TOP>
  285.             <FONT SIZE=+1><I><U>Description</I></U></FONT>
  286.             </TD>
  287. <%        End If %>
  288.  
  289. <%        If bShowHours Then %>
  290.             <TD ALIGN=RIGHT VALIGN=TOP>
  291.             <FONT SIZE=+1><B><U><%= clsTes.UnitTimeLabelP %></B></U></FONT>
  292.             </TD>
  293. <%        End If %>
  294.  
  295. <%        If bShowCost Then %>
  296.             <TD ALIGN=RIGHT VALIGN=TOP>
  297.             <FONT SIZE=+1><B><U>Cost</B></U></FONT>
  298.             </TD>
  299. <%        End If %>
  300.  
  301. <%        If bShowCharge Then %>
  302.             <TD ALIGN=RIGHT VALIGN=TOP>
  303.             <FONT SIZE=+1><B><U>Charge</B></U></FONT>
  304.             </TD>
  305. <%        End If %>
  306.  
  307.     </TR>
  308.  
  309. <%    dTotalHours = 0
  310.     dTotalCost = 0
  311.     dTotalCharge = 0
  312.  
  313.     dGroup1TotalHours = 0
  314.     dGroup1TotalCost = 0
  315.     dGroup1TotalHours = 0
  316.  
  317.     tLastGroupBy1 = ""
  318.  
  319.     For lRow = 1 to lRowCount %>
  320.  
  321.     <TR>
  322. <%        If clsTes.GridValue(lRow,0) <> tLastGroupBy1 Then
  323.             If lRow <> 1 and tGroupBy2 <> "Nothing" Then %>
  324.                 <TD></TD>
  325.                 <TD></TD>
  326.                 <TD></TD>
  327.                 <TD ALIGN=LEFT VALIGN=TOP>
  328.                 <B>Total for <%= Server.HTMLEncode(tLastGroupBy1) %></B>
  329.                 </TD>
  330. <%                If bShowHours Then %>
  331.                     <TD ALIGN=RIGHT VALIGN=TOP>
  332.                     <B><%= clsTes.FormatNumber(dGroup1TotalHours,"0.00")  %></B><P>
  333.                     </TD>
  334. <%                End If %>
  335.  
  336. <%                If bShowCost Then %>
  337.                     <TD ALIGN=RIGHT VALIGN=TOP>
  338.                     <B><%= clsTes.FormatCurrency(dGroup1TotalCost) %></B>
  339.                     </TD>
  340. <%                End If %>
  341.  
  342. <%                If bShowCharge Then %>
  343.                     <TD ALIGN=RIGHT VALIGN=TOP>
  344.                     <B><%= clsTes.FormatCurrency(dGroup1TotalCharge) %></B>
  345.                     </TD>
  346. <%                End If %>
  347.                 </TR>
  348.                 
  349. <%                dGroup1TotalHours = 0
  350.                 dGroup1TotalCost = 0
  351.                 dGroup1TotalHours = 0 %>
  352.  
  353.                 <TR>
  354. <%            End If %>
  355.  
  356.             <TD ALIGN=LEFT VALIGN=TOP>
  357.                 <B><%= Server.HTMLEncode(clsTes.GridValue(lRow,0)) %></B> 
  358.             </TD>
  359.  
  360.             <TD ALIGN=LEFT VALIGN=TOP>
  361. <%                If Not IsNull(clsTes.GridValue(lRow,1)) Then %>
  362.                     <B><%= Server.HTMLEncode(clsTes.GridValue(lRow,1)) %></B>
  363. <%                Else %>
  364.                      
  365. <%                End If %>
  366.             </TD>
  367. <%            tLastGroupBy1 = clsTes.GridValue(lRow,0)
  368.         Else %>
  369.             <TD></TD>
  370.             <TD></TD>
  371. <%        End If %>
  372.  
  373. <%        nColumn = 2 
  374.         If tGroupBy2 <> "Nothing" Then
  375.             nColumn = 4 %>
  376.             
  377.             <TD ALIGN=LEFT VALIGN=TOP>
  378.                 <I><%= Server.HTMLEncode(clsTes.GridValue(lRow,2)) %></I>
  379.             </TD>
  380.  
  381.             <TD ALIGN=LEFT VALIGN=TOP>
  382. <%                If Not IsNull(clsTes.GridValue(lRow,3)) Then %>
  383.                     <I><%= Server.HTMLEncode(clsTes.GridValue(lRow,3)) %></I>
  384. <%                Else %>
  385.                      
  386. <%                End If %>
  387.             </TD>
  388. <%        End If %>
  389.  
  390.             
  391. <%        If bShowHours Then %>
  392.             <TD ALIGN=RIGHT VALIGN=TOP>
  393.                 <%= clsTes.FormatNumber(clsTes.GridValue (lRow, nColumn),"0.00") %>
  394. <%                dGroup1TotalHours = dGroup1TotalHours + clsTes.GridValue(lRow, nColumn)
  395.             dTotalHours = dTotalHours + clsTes.gridValue(lRow,nColumn)
  396.             nColumn = nColumn + 1 %>
  397.             </TD>
  398. <%        End If %>
  399.  
  400. <%        If bShowCost Then %>
  401.             <TD ALIGN=RIGHT VALIGN=TOP>
  402.                 <%= clsTes.FormatCurrency(clsTes.GridValue (lRow, nColumn)) %>
  403. <%                dGroup1TotalCost = dGroup1TotalCost + clsTes.GridValue(lRow, nColumn)
  404.             dTotalCost = dTotalCost + clsTes.gridValue(lRow,nColumn)
  405.             nColumn = nColumn + 1 %>
  406.             </TD>
  407. <%        End If %>
  408.  
  409. <%        If bShowCharge Then %>
  410.             <TD ALIGN=RIGHT VALIGN=TOP>
  411. <%                If Not IsNull(clsTes.GridValue (lRow, nColumn)) Then %>
  412.                     <%= clsTes.FormatCurrency(clsTes.GridValue (lRow, nColumn)) %>
  413. <%                    dGroup1TotalCharge = dGroup1TotalCharge + clsTes.GridValue(lRow, nColumn)
  414.                     dTotalCharge = dTotalCharge + clsTes.GridValue(lRow,nColumn)
  415.                 Else %>
  416.                     <%= clsTes.FormatCurrency(0) %>
  417. <%                End If %>
  418.             </TD>
  419. <%        End If %>
  420.  
  421.     </TR>
  422.  
  423. <%    Next %>
  424.  
  425.     <TR>
  426.         
  427. <%    If tGroupBy2 <> "Nothing" Then %>
  428.         
  429.         <TD></TD>
  430.         <TD></TD>
  431.         <TD></TD>
  432.         <TD ALIGN=LEFT VALIGN=TOP>
  433.         <B>Total for <%= Server.HTMLEncode(tLastGroupBy1) %></B>
  434.         </TD>
  435. <%        If bShowHours Then %>
  436.             <TD ALIGN=RIGHT VALIGN=TOP>
  437.             <B><%= clsTes.FormatNumber(dGroup1TotalHours,"0.00")  %></B><P>
  438.             </TD>
  439. <%        End If %>
  440.  
  441. <%        If bShowCost Then %>
  442.             <TD ALIGN=RIGHT VALIGN=TOP>
  443.             <B><%= clsTes.FormatCurrency(dGroup1TotalCost) %></B>
  444.             </TD>
  445. <%        End If %>
  446.  
  447. <%        If bShowCharge Then %>
  448.             <TD ALIGN=RIGHT VALIGN=TOP>
  449.             <B><%= clsTes.FormatCurrency(dGroup1TotalCharge) %></B>
  450.             </TD>
  451. <%        End If %>
  452.         </TR>
  453.         
  454.         <TR>
  455.             <TD></TD>
  456.             <TD></TD>                
  457. <%    End If %>
  458.  
  459.         <TD><P><P></TD>
  460.         <TD ALIGN=LEFT VALIGN=BOTTOM>
  461.             <FONT SIZE=+1><B><U>Grand Total</U></B></FONT>
  462.         </TD>
  463. <%        If bShowHours Then %>
  464.             <TD ALIGN=RIGHT VALIGN=BOTTOM>
  465.             <B><U><%= clsTes.FormatNumber(dTotalHours,"0.00")  %><U></B>
  466.             </TD>
  467. <%        End If %>
  468.  
  469. <%        If bShowCost Then %>
  470.             <TD ALIGN=RIGHT VALIGN=BOTTOM>
  471.             <B><U><%= clsTes.FormatCurrency(dTotalCost) %><U></B>
  472.             </TD>
  473. <%        End If %>
  474.  
  475. <%        If bShowCharge Then %>
  476.             <TD ALIGN=RIGHT VALIGN=BOTTOM>
  477.             <B><U><%= clsTes.FormatCurrency(dTotalCharge) %><U></B>
  478.             </TD>
  479. <%        End If %>
  480.  
  481.     </TABLE>
  482.  
  483.     <P>
  484.     <P>
  485. <%    End If %>
  486.  
  487. <!--#INCLUDE FILE="../custom/footer.htm"-->
  488.  
  489. </BODY>
  490.  
  491. <%    End If %>
  492. </HTML>
  493.