/beta/accounting/balance.asp

http://github.com/khaneh/Orders · ASP · 269 lines · 222 code · 29 blank · 18 comment · 17 complexity · bf62c29edaa58e43b7eceba0c2866565 MD5 · raw file

  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="1256"%><%
  2. 'Accounting (8)
  3. PageTitle= ""
  4. SubmenuItem=4
  5. if not Auth(8 , 4) then NotAllowdToViewThisPage()
  6. %>
  7. <!--#include file="top.asp" -->
  8. <!--#include File="../include_farsiDateHandling.asp"-->
  9. <%
  10. '-----------------------------------------------------------------------------------------------------
  11. '-------------------------------------------------------------------------------- List GL Super Groups
  12. '-----------------------------------------------------------------------------------------------------
  13. if request("act")="" then
  14. %><BR><BR>
  15. <TABLE dir=rtl align=center width=600 border=0>
  16. <TR>
  17. <TD align=right><A HREF="AccountInfo.asp"> </A>>
  18. </TD>
  19. </TR>
  20. <TR bgcolor="eeeeee" >
  21. <TD colspan=2 align=center>
  22. </TD>
  23. </TR>
  24. <TR>
  25. <TD bgcolor="#FFFFFF" width=50%><!----Right---->
  26. <TABLE width=70% align=center>
  27. <%
  28. mySQL="SELECT GLAccountSuperGroups.Name, ISNULL(DERIVEDTBL.total, 0) AS total, GLAccountSuperGroups.ID, GLAccountSuperGroups.Type FROM (SELECT SUM(DERIVEDTBL.Total) AS total, GLAccountGroups.GLSuperGroup FROM (SELECT SUM(DERIVEDTBL.total) AS Total, GLAccounts.GLGroup FROM (SELECT SUM(-1*(CONVERT(tinyint, IsCredit) - .5) * 2 * Amount) AS total, GLAccount FROM GLDocs inner join GLRows on GLDocs.id=GLRows.GLDoc where ((GLDocs.IsTemporary=1 or GLDocs.IsChecked=1 or GLDocs.IsFinalized=1) and GLDocs.deleted=0) GROUP BY GLAccount, GL HAVING (GL = "& OpenGL&")) DERIVEDTBL INNER JOIN GLAccounts ON DERIVEDTBL.GLAccount = GLAccounts.ID WHERE (GLAccounts.GL = "& OpenGL&") GROUP BY GLAccounts.GLGroup) DERIVEDTBL INNER JOIN GLAccountGroups ON DERIVEDTBL.GLGroup = GLAccountGroups.ID WHERE (GLAccountGroups.GL = "& OpenGL&") GROUP BY GLAccountGroups.GLSuperGroup) DERIVEDTBL RIGHT OUTER JOIN GLAccountSuperGroups ON DERIVEDTBL.GLSuperGroup = GLAccountSuperGroups.ID WHERE (GLAccountSuperGroups.GL = "& OpenGL&" and GLAccountSuperGroups.Type=1) "
  29. ' mySQL="SELECT GLAccountSuperGroups.Name,SUM((CONVERT(tinyint, GLRows.IsCredit) - .5) * 2 * GLRows.Amount) AS total, GLAccountSuperGroups.ID FROM GLAccountGroups INNER JOIN GLAccounts ON GLAccountGroups.ID = GLAccounts.GLGroup INNER JOIN GLDocs INNER JOIN GLRows ON GLDocs.ID = GLRows.GLDoc ON GLAccounts.ID = GLRows.GLAccount RIGHT OUTER JOIN GLAccountSuperGroups ON GLAccountGroups.GLSuperGroup = GLAccountSuperGroups.ID WHERE (GLDocs.IsTemporary = 1) AND (GLDocs.deleted = 0) AND (GLDocs.IsRemoved = 0) OR (GLDocs.deleted = 0) AND (GLDocs.IsChecked = 1) AND (GLDocs.IsRemoved = 0) OR (GLDocs.deleted = 0) AND (GLDocs.IsFinalized = 1) AND (GLDocs.IsRemoved = 0) GROUP BY GLDocs.GL, GLAccountSuperGroups.ID,GLAccountSuperGroups.Name HAVING (GLDocs.GL = 82)"
  30. ' response.write "<br>" & mySQL
  31. ' response.end
  32. set RSS=Conn.Execute (mySQL)
  33. Do while not RSS.eof
  34. %>
  35. <TR>
  36. <TD><A HREF="balance.asp?act=groups&SuperGroupID=<%=RSS("ID")%>"><%=RSS("name")%></a></TD>
  37. <TD><span dir=ltr><%=RSS("total")%></span><br></TD>
  38. </TR>
  39. <%
  40. totalRight = totalRight + cdbl(RSS("total"))
  41. RSS.moveNext
  42. Loop
  43. %>
  44. </TABLE>
  45. </TD>
  46. <TD bgcolor="#DDDDDD" width=50%><!----left---->
  47. <TABLE width=70% align=center>
  48. <%
  49. mySQL="SELECT GLAccountSuperGroups.Name, ISNULL(DERIVEDTBL.total, 0) AS total, GLAccountSuperGroups.ID, GLAccountSuperGroups.Type FROM (SELECT SUM(DERIVEDTBL.Total) AS total, GLAccountGroups.GLSuperGroup FROM (SELECT SUM(DERIVEDTBL.total) AS Total, GLAccounts.GLGroup FROM (SELECT SUM((CONVERT(tinyint, IsCredit) - .5) * 2 * Amount) AS total, GLAccount FROM GLDocs inner join GLRows on GLDocs.id=GLRows.GLDoc where ((GLDocs.IsTemporary=1 or GLDocs.IsChecked=1 or GLDocs.IsFinalized=1) and GLDocs.deleted=0) GROUP BY GLAccount, GL HAVING (GL = "& OpenGL&")) DERIVEDTBL INNER JOIN GLAccounts ON DERIVEDTBL.GLAccount = GLAccounts.ID WHERE (GLAccounts.GL = "& OpenGL&") GROUP BY GLAccounts.GLGroup) DERIVEDTBL INNER JOIN GLAccountGroups ON DERIVEDTBL.GLGroup = GLAccountGroups.ID WHERE (GLAccountGroups.GL = "& OpenGL&") GROUP BY GLAccountGroups.GLSuperGroup) DERIVEDTBL RIGHT OUTER JOIN GLAccountSuperGroups ON DERIVEDTBL.GLSuperGroup = GLAccountSuperGroups.ID WHERE (GLAccountSuperGroups.GL = "& OpenGL&" and GLAccountSuperGroups.Type=2) "
  50. ' response.write "<br>" & mySQL
  51. ' response.end
  52. set RSS=Conn.Execute (mySQL)
  53. Do while not RSS.eof
  54. %>
  55. <TR>
  56. <TD><A HREF="balance.asp?act=groups&SuperGroupID=<%=RSS("ID")%>"><%=RSS("name")%></a></TD>
  57. <TD><span dir=ltr><%=RSS("total")%></span><br></TD>
  58. </TR>
  59. <%
  60. totalLeft = totalLeft + cdbl(RSS("total"))
  61. RSS.moveNext
  62. Loop
  63. %>
  64. <TR>
  65. <TD><!A HREF="balance.asp?act=groups&SuperGroupID="></a></TD>
  66. <TD><span dir=ltr>???</span><br></TD>
  67. </TR>
  68. <%
  69. totalLeft = totalLeft + 0
  70. %>
  71. </TABLE>
  72. </TD>
  73. </TR>
  74. <TR bgcolor="eeeeee" >
  75. <TD align=center><span dir=ltr><%=totalRight%></span>
  76. </TD>
  77. <TD align=center><span dir=ltr><%=totalLeft%></span>
  78. </TD>
  79. </TR>
  80. </TABLE>
  81. <BR><BR><BR>
  82. <% if not totalRight=totalLeft then %>
  83. <FONT COLOR="RED"><H3><CENTER> </CENTER></H3></FONT>
  84. <% else %>
  85. <H3><CENTER> </CENTER></H3>
  86. <% end if %>
  87. <%
  88. response.end
  89. '-----------------------------------------------------------------------------------------------------
  90. '------------------------------------------------------------------ List GL Groups under a super group
  91. '-----------------------------------------------------------------------------------------------------
  92. elseif request("act")="groups" then
  93. SuperGroupID = request("SuperGroupID")
  94. set RSS=Conn.Execute ("SELECT SUM(ISNULL(DERIVEDTBL.Total, 0)) AS total, GLAccountGroups.GLSuperGroup, SUM(DERIVEDTBL.accountsCount) AS accountsCount, GLAccountGroups.Name, GLAccountGroups.ID FROM (SELECT SUM(DERIVEDTBL.total) AS Total, GLAccounts.GLGroup, COUNT(GLAccounts.ID) AS accountsCount FROM (SELECT SUM((CONVERT(tinyint, IsCredit) - .5) * 2 * Amount) AS total, GLAccount FROM GLDocs inner join GLRows on GLDocs.id=GLRows.GLDoc where ((GLDocs.IsTemporary=1 or GLDocs.IsChecked=1 or GLDocs.IsFinalized=1) and GLDocs.deleted=0) GROUP BY GLAccount, GL HAVING (GL = "& OpenGL & ")) DERIVEDTBL RIGHT OUTER JOIN GLAccounts ON DERIVEDTBL.GLAccount = GLAccounts.ID WHERE (GLAccounts.GL = "& OpenGL & ") GROUP BY GLAccounts.GLGroup) DERIVEDTBL INNER JOIN GLAccountGroups ON DERIVEDTBL.GLGroup = GLAccountGroups.ID WHERE (GLAccountGroups.GL = "& OpenGL & ") AND (GLAccountGroups.GLSuperGroup = "& SuperGroupID & ") GROUP BY GLAccountGroups.GLSuperGroup, GLAccountGroups.Name, GLAccountGroups.ID ")
  95. %><BR><BR>
  96. <TABLE dir=rtl align=center width=600>
  97. <TR >
  98. <TD colspan=4>
  99. <%
  100. set RSS2=Conn.Execute ("SELECT *, GLs.ID AS GLID ,GLs.Name AS GLname FROM GLs INNER JOIN GLAccountSuperGroups ON GLs.ID = GLAccountSuperGroups.GL WHERE (GLAccountSuperGroups.GL = "& OpenGL & ") AND (GLAccountSuperGroups.ID = "& SuperGroupID & ")")
  101. %><A HREF="AccountInfo.asp"> </A>> <A HREF="balance.asp?OpenGL=<%=RSS2("GLID")%>"> </A> > <%=RSS2("name")%>
  102. <BR><hR>
  103. </TD>
  104. </TR>
  105. <TR bgcolor="eeeeee" >
  106. <TD><!A HREF="default.asp?s=1"><SMALL></SMALL></A></TD>
  107. <TD><!A HREF="default.asp?s=2"><SMALL> </SMALL></A></TD>
  108. <TD><!A HREF="default.asp?s=4"><SMALL> </SMALL></A></TD>
  109. <TD><!A HREF="default.asp?s=4"><SMALL> ()</SMALL></A></TD>
  110. </TR>
  111. <%
  112. tmpCounter=0
  113. Do while not RSS.eof
  114. tmpCounter = tmpCounter + 1
  115. if tmpCounter mod 2 = 1 then
  116. tmpColor="#FFFFFF"
  117. tmpColor2="#FFFFBB"
  118. Else
  119. tmpColor="#DDDDDD"
  120. tmpColor2="#EEEEBB"
  121. End if
  122. %>
  123. <TR bgcolor="<%=tmpColor%>" >
  124. <TD><A HREF="balance.asp?act=account&GroupID=<%=RSS("id")%>"><%=RSS("id")%></A></TD>
  125. <TD><A HREF="balance.asp?act=account&GroupID=<%=RSS("id")%>"><%=RSS("Name")%></A></TD>
  126. <TD><%=RSS("accountsCount")%></TD>
  127. <TD><span dir=ltr><%=RSS("total")%></span></TD>
  128. </TR>
  129. <%
  130. RSS.moveNext
  131. Loop
  132. %>
  133. </TABLE><br>
  134. <%
  135. '-----------------------------------------------------------------------------------------------------
  136. '---------------------------------------------------------------------- List GL Accounts under a group
  137. '-----------------------------------------------------------------------------------------------------
  138. elseif request("act")="account" then
  139. GroupID = request("GroupID")
  140. set RSS=Conn.Execute ("SELECT GLs.Name AS GLName, GLs.ID AS GLID, GLAccountSuperGroups.ID AS SuperGroupID, GLAccountSuperGroups.Name AS SuperGroupName, GLAccountGroups.ID AS GroupID, GLAccountGroups.Name AS GroupName FROM GLAccountGroups INNER JOIN GLAccountSuperGroups ON GLAccountGroups.GLSuperGroup = GLAccountSuperGroups.ID INNER JOIN GLs ON GLAccountSuperGroups.GL = GLs.ID WHERE (GLAccountSuperGroups.GL = "& OpenGL & ") AND (GLAccountGroups.GL = "& OpenGL & ") AND (GLAccountGroups.ID = "& GroupID & ")")
  141. %><BR><BR>
  142. <TABLE dir=rtl align=center width=600>
  143. <TR >
  144. <TD colspan=5>
  145. <%
  146. set RSS2=Conn.Execute ("SELECT GLAccounts.Name, DERIVEDTBL.totalDebit AS totalDebit, DERIVEDTBL.totalCredit AS totalCredit, GLAccounts.ID FROM (SELECT SUM(CONVERT(tinyint, IsCredit) * Amount) AS totalCredit, SUM((CONVERT(tinyint, IsCredit) - 1) * (- 1) * Amount) AS totalDebit, GLAccount FROM GLDocs inner join GLRows on GLDocs.id=GLRows.GLDoc where ((GLDocs.IsTemporary=1 or GLDocs.IsChecked=1 or GLDocs.IsFinalized=1) and GLDocs.deleted=0) GROUP BY GLAccount, GL HAVING (GL = "& OpenGL & ")) DERIVEDTBL RIGHT OUTER JOIN GLAccounts ON DERIVEDTBL.GLAccount = GLAccounts.ID WHERE (GLAccounts.GL = "& OpenGL & ") AND (GLAccounts.GLGroup = "& GroupID & ")")
  147. %><A HREF="AccountInfo.asp"> </A>> <A HREF="balance.asp?OpenGL=<%=RSS("GLID")%>"> </A> > <A HREF="balance.asp?act=groups&SuperGroupID=<%=RSS("SuperGroupID")%>"><%=RSS("SuperGroupName")%></a> > <%=RSS("GroupName")%>
  148. <BR><hR>
  149. </TD>
  150. </TR>
  151. <TR bgcolor="eeeeee" >
  152. <TD><!A HREF="default.asp?s=1"><SMALL></SMALL></A></TD>
  153. <TD><!A HREF="default.asp?s=2"><SMALL> </SMALL></A></TD>
  154. <TD><!A HREF="default.asp?s=2"><SMALL> </SMALL></A></TD>
  155. <TD><!A HREF="default.asp?s=2"><SMALL> </SMALL></A></TD>
  156. </TR>
  157. <%
  158. tmpCounter=0
  159. Do while not RSS2.eof
  160. tmpCounter = tmpCounter + 1
  161. if tmpCounter mod 2 = 1 then
  162. tmpColor="#FFFFFF"
  163. tmpColor2="#FFFFBB"
  164. Else
  165. tmpColor="#DDDDDD"
  166. tmpColor2="#EEEEBB"
  167. End if
  168. %>
  169. <TR bgcolor="<%=tmpColor%>" >
  170. <TD><A HREF="balance.asp?act=accountRows&accountID=<%=RSS2("id")%>"><%=RSS2("id")%></A></TD>
  171. <TD><A HREF="balance.asp?act=accountRows&accountID=<%=RSS2("id")%>"><%=RSS2("Name")%></A></TD>
  172. <TD><span dir=ltr><%=RSS2("totalDebit")%></span></TD>
  173. <TD><span dir=ltr><%=RSS2("totalCredit")%></span></TD>
  174. </TR>
  175. <%
  176. RSS2.moveNext
  177. Loop
  178. %>
  179. </TABLE><br>
  180. <%
  181. '-----------------------------------------------------------------------------------------------------
  182. '-------------------------------------------------------------------------- List Rows of a GL Accounts
  183. '-----------------------------------------------------------------------------------------------------
  184. elseif request("act")="accountRows" then
  185. account = request("accountID")
  186. set RSS=Conn.Execute ("SELECT * FROM GLDocs inner join GLRows on GLDocs.id=GLRows.GLDoc where ((GLDocs.IsTemporary=1 or GLDocs.IsChecked=1 or GLDocs.IsFinalized=1) and GLDocs.deleted=0) AND (GL = "& OpenGL & ") AND (GLaccount = "& account & ")")
  187. %><BR><BR>
  188. <TABLE dir=rtl align=center width=600>
  189. <TR >
  190. <TD colspan=6>
  191. <%
  192. set RSS2=Conn.Execute ("SELECT *, GLAccountGroups.ID AS GroupID, GLAccountGroups.Name AS GroupName, GLAccountSuperGroups.ID AS SuperGroupID, GLAccountSuperGroups.Name AS SuperGroupName, GLs.ID AS GLID, GLs.Name AS GLname, GLAccounts.Name AS name FROM GLs INNER JOIN GLAccountSuperGroups ON GLs.ID = GLAccountSuperGroups.GL INNER JOIN GLAccountGroups ON GLs.ID = GLAccountGroups.GL AND GLAccountSuperGroups.ID = GLAccountGroups.GLSuperGroup INNER JOIN GLAccounts ON GLs.ID = GLAccounts.GL AND GLAccountGroups.ID = GLAccounts.GLGroup WHERE (GLAccounts.GL = "& OpenGL & ") AND (GLAccounts.ID = "& account & ")")
  193. %><A HREF="AccountInfo.asp"> </A>> <A HREF="balance.asp?OpenGL=<%=RSS2("GLID")%>"> </A> > <A HREF="balance.asp?act=groups&SuperGroupID=<%=RSS2("SuperGroupID")%>"><%=RSS2("SuperGroupName")%></a> > <A HREF="balance.asp?act=account&GroupID=<%=RSS2("GroupID")%>"><%=RSS2("GroupName")%></a> > <%=RSS2("Name")%>
  194. <BR><hR>
  195. </TD>
  196. </TR>
  197. <TR bgcolor="eeeeee" >
  198. <TD><!A HREF="default.asp?s=1"><SMALL></SMALL></A></TD>
  199. <TD><!A HREF="default.asp?s=2"><SMALL></SMALL></A></TD>
  200. <TD><!A HREF="default.asp?s=2"><SMALL> </SMALL></A></TD>
  201. <TD><!A HREF="default.asp?s=2"><SMALL> </SMALL></A></TD>
  202. <TD><!A HREF="default.asp?s=5"><SMALL></SMALL></A></TD>
  203. <TD><!A HREF="default.asp?s=5"><SMALL></SMALL></A></TD>
  204. </TR>
  205. <%
  206. tmpCounter=0
  207. Do while not RSS.eof
  208. tmpCounter = tmpCounter + 1
  209. if tmpCounter mod 2 = 1 then
  210. tmpColor="#FFFFFF"
  211. tmpColor2="#FFFFBB"
  212. Else
  213. tmpColor="#DDDDDD"
  214. tmpColor2="#EEEEBB"
  215. End if
  216. debit = ""
  217. credit = ""
  218. if RSS("IsCredit") then
  219. credit = RSS("Amount")
  220. else
  221. debit = RSS("Amount")
  222. end if
  223. %>
  224. <TR bgcolor="<%=tmpColor%>" >
  225. <TD><!A HREF="balance.asp?act=accountRows&accountID=<%=RSS("id")%>"><%=RSS("id")%></A></TD>
  226. <TD><!A HREF="balance.asp?act=accountRows&accountID=<%=RSS("id")%>"><%=RSS("Description")%></A></TD>
  227. <TD><A HREF="javascript:void(0);" onclick="window.open('GLMemoDocShow.asp?id=<%=RSS("GLDoc")%>',null,'menubars=no')"><%=RSS("GLDocID")%></A></TD>
  228. <TD><%=RSS("GLDocDate")%></TD>
  229. <TD><%=debit%></TD>
  230. <TD><%=credit%></TD>
  231. </TR>
  232. <%
  233. RSS.moveNext
  234. Loop
  235. %>
  236. </TABLE><br>
  237. <%
  238. end if
  239. %>
  240. <!--#include file="tah.asp" -->