/beta/accounting/tafsili.asp

http://github.com/khaneh/Orders · ASP · 318 lines · 272 code · 34 blank · 12 comment · 46 complexity · 22340f9c05e4ad4eb14ffbe492ed1634 MD5 · raw file

  1. <%@LANGUAGE="VBSCRIPT" CODEPAGE="1256"%><%
  2. 'Accounting (8)
  3. PageTitle= " "
  4. SubmenuItem=6
  5. if not Auth(8 , "B") then NotAllowdToViewThisPage()
  6. %>
  7. <!--#include file="top.asp" -->
  8. <!--#include File="../include_farsiDateHandling.asp"-->
  9. <!--#include File="../include_JS_InputMasks.asp"-->
  10. <style>
  11. .TafsilTR1 { background-color: #eeeeee; }
  12. .TafsilTR1 td{ width:20pt;border-left:solid 1px black; border-bottom:solid 2 black; font-size:8pt; padding:2px; text-align:center;}
  13. </style>
  14. <%
  15. '-----------------------------------------------------------------------------------------------------
  16. '----------------------------------------------------------------------------------------- Search Form
  17. '-----------------------------------------------------------------------------------------------------
  18. account = sqlSafe(request("accountID"))
  19. accountName = sqlSafe(request("accountName"))
  20. FromDate = sqlSafe(request("FromDate"))
  21. ToDate = sqlSafe(request("ToDate"))
  22. moeenFrom = sqlSafe(request("moeenFrom"))
  23. moeenTo = sqlSafe(request("moeenTo"))
  24. Order = sqlSafe(request("Order"))
  25. if request("ShowRemained")="on" then
  26. ShowRemained=true
  27. else
  28. ShowRemained=false
  29. end if
  30. if account = "" OR NOT IsNumeric(account) then account = "0"
  31. if FromDate = "" then FromDate = fiscalYear & "/01/01"
  32. if ToDate = "" then ToDate = shamsiToday()
  33. if moeenFrom = "" then moeenFrom = "00000"
  34. if moeenTo = "" then moeenTo = "99999"
  35. %>
  36. <BR><BR>
  37. <input type="hidden" Name='tmpDlgArg' value=''>
  38. <input type="hidden" Name='tmpDlgTxt' value=''>
  39. <FORM Name="SearchForm" METHOD=POST ACTION="?act=Show">
  40. <TABLE style="border:1 solid #330066;" align=center cellpadding=3>
  41. <TR>
  42. <TD align=left> </TD>
  43. <TD><INPUT dir="LTR" TYPE="text" NAME="accountID" maxlength="10" size="10" value="<%=account%>" onKeyPress='return mask(this);' onBlur='check(this);'></TD>
  44. <TD colspan=2><INPUT TYPE="text" NAME="accountName" size=30 readonly value="<%=accountName%>" style="background-color:transparent;"></TD>
  45. </TR>
  46. <TR>
  47. <TD align=left> </TD>
  48. <TD><INPUT dir="LTR" TYPE="text" NAME="FromDate" maxlength="10" size="10" onblur="acceptDate(this)" onKeyPress="return maskDate(this);" value="<%=FromDate%>"></TD>
  49. <TD align=left> </TD>
  50. <TD><INPUT dir="LTR" TYPE="text" NAME="ToDate" maxlength="10" size="10" onblur="acceptDate(this)" onKeyPress="return maskDate(this);" value="<%=ToDate%>"></TD>
  51. </TR>
  52. <TR>
  53. <TD align=left> </TD>
  54. <TD><INPUT dir="LTR" TYPE="text" NAME="moeenFrom" maxlength="5" size="10" value="<%=moeenFrom%>"></TD>
  55. <TD align=left> </TD>
  56. <TD><INPUT dir="LTR" TYPE="text" NAME="moeenTo" maxlength="5" size="10" value="<%=moeenTo%>"></TD>
  57. </TR>
  58. <TR bgcolor="black" height="2">
  59. <TD colspan="4" style="padding:0;"></TD>
  60. </TR>
  61. <TR>
  62. <TD colspan=4><INPUT TYPE="checkbox" NAME="ShowRemained" <%if ShowRemained then response.write "checked"%>> .</TD>
  63. </TR>
  64. <TR>
  65. <TD colspan=4 align=center>
  66. <INPUT TYPE="submit" NAME="submit" value="">
  67. <INPUT TYPE="hidden" Name="Order" Value="<%=request("Order")%>">
  68. </TD>
  69. </TR>
  70. </TABLE>
  71. </FORM>
  72. <%
  73. '-----------------------------------------------------------------------------------------------------
  74. '--------------------------------------------------------------------------------------- Search Action
  75. '-----------------------------------------------------------------------------------------------------
  76. if request("act")="Show" then
  77. Order=request("Order")
  78. select case Order
  79. case "1":
  80. order=" ORDER BY GLDocID "
  81. case "-1":
  82. order=" ORDER BY GLDocID DESC"
  83. case "2":
  84. order=" ORDER BY GLDocDate"
  85. case "-2":
  86. order=" ORDER BY GLDocDate DESC"
  87. case else:
  88. order=" ORDER BY GLAccount, GLDocDate"
  89. end select
  90. 'mySQL="SELECT GLAccounts.Name AS Name, GLDocs.ID AS GLDoc, GLDocs.GLDocID, GLDocs.GLDocDate, GLRows.ID AS GLRowsID, GLRows.GLAccount AS GLAccount, GLRows.Amount, GLRows.IsCredit, GLRows.Description FROM GLRows INNER JOIN GLDocs ON GLDocs.ID = GLRows.GLDoc INNER JOIN GLAccounts ON GLRows.GLAccount = GLAccounts.ID WHERE ((GLDocs.IsTemporary=1 OR GLDocs.IsChecked=1 OR GLDocs.IsFinalized=1) AND GLDocs.deleted=0 AND GLRows.deleted=0 AND GLDocs.IsRemoved=0) AND ((GLAccounts.GL = "& OpenGL & ") AND (GLDocs.GL = "& OpenGL & ") AND (GLRows.GLAccount >= "& moeenFrom & ") AND (GLRows.GLAccount <= "& moeenTo & ") AND (GLRows.Tafsil = "& account & ") AND (GLDocs.GLDocDate <= N'"& ToDate & "') AND (GLDocs.GLDocDate >= N'"& FromDate & "')) "& Order
  91. 'changed by kid 830809
  92. if ShowRemained then
  93. mySQL="SELECT DRV.GLAcc AS GLAccount, GLAccounts.Name, DRV.GLDoc, DRV.GLDocID, DRV.GLDocDate, DRV.Amount, DRV.IsCredit, DRV.Description, DRV.remainedCredit, DRV.remainedDebit FROM (SELECT ISNULL(Remains.GLAccount, EffGLRows.GLAccount) AS GLAcc, ISNULL(Remains.remCred, 0) AS remainedCredit, ISNULL(Remains.remDeb, 0) AS remainedDebit, EffGLRows.* FROM (SELECT isnull(SUM(IsCredit * Amount), 0) AS remCred, isnull(SUM(- ((IsCredit - 1) * Amount)), 0) AS remDeb, GLAccount FROM EffectiveGLRows WHERE (GL = "& OpenGL & ") AND (GLDocDate < N'"& FromDate & "') AND (Tafsil = "& account & ") GROUP BY GLAccount) Remains FULL OUTER JOIN (SELECT GLDoc, GLDocID, GLDocDate, Amount, IsCredit, Description, GLAccount FROM EffectiveGLRows WHERE (Tafsil = '"& account & "') AND (GL = "& OpenGL & ") AND (GLDocDate >= N'"& FromDate & "') AND (GLDocDate <= N'"& ToDate & "')) EffGLRows ON Remains.GLAccount = EffGLRows.GLAccount) DRV INNER JOIN GLAccounts ON DRV.GLAcc = GLAccounts.ID WHERE (GLAccounts.GL = "& OpenGL & ") AND (GLAccounts.ID >= "& moeenFrom & ") AND (GLAccounts.ID <= "& moeenTo & ")" & Order
  94. else
  95. mySQL="SELECT EffGLRows.*, GLAccounts.Name FROM (SELECT GLDoc, GLDocID, GLDocDate, Amount, IsCredit, Description, GLAccount FROM EffectiveGLRows WHERE (Tafsil = '"& account & "') AND (GL = "& OpenGL & ") AND (GLDocDate >= N'"& FromDate & "') AND (GLDocDate <= N'"& ToDate & "')) EffGLRows INNER JOIN GLAccounts ON EffGLRows.GLAccount = GLAccounts.ID WHERE (GLAccounts.GL = "& OpenGL & ") AND (GLAccounts.ID >= "& moeenFrom & ") AND (GLAccounts.ID <= "& moeenTo & ")" & Order
  96. end if
  97. set RSS=Conn.Execute (mySQL)
  98. if RSS.eof then
  99. response.write "<br>"
  100. call showAlert (" .", CONST_MSG_ERROR)
  101. response.end
  102. end if
  103. %>
  104. <SCRIPT LANGUAGE="JavaScript">
  105. <!--
  106. function sortSubmit(num){
  107. document.SearchForm.Order.value=num;
  108. document.SearchForm.submit.click();
  109. }
  110. //-->
  111. </SCRIPT>
  112. <TABLE dir=rtl align=center width=640 cellspacing=0 cellpadding=2 style="border:1 solid black;">
  113. <%
  114. tmpCounter=0
  115. remainedAmount = 0
  116. totalRemainedAmount = 0
  117. LastGLAccount= ""
  118. remainedAmount = 0
  119. SumCredit = 0
  120. SumDebit = 0
  121. tmpCounter =0
  122. remainedAmount = 0
  123. Do while not RSS.eof
  124. GLAccount=RSS("GLAccount")
  125. if LastGLAccount <> GLAccount then
  126. if tmpCounter > 0 then
  127. remainedAmount = SumDebit - SumCredit
  128. %>
  129. <TR>
  130. <TD colspan=3 align=left style="border: 1 solid black; border-right:none;"> <%=LastGLAccount%>&nbsp;</TD>
  131. <TD dir=ltr align=right style="border: 1 solid black; border-right:none;"><%=Separate(SumDebit)%>&nbsp;</TD>
  132. <TD dir=ltr align=right style="border: 1 solid black; border-right:none;"><%=Separate(SumCredit)%>&nbsp;</TD>
  133. <TD align=right style="border: 1 solid black; border-right:none;">&nbsp;<% if remainedAmount > 0 then response.write "" else if remainedAmount < 0 then response.write ""%></TD>
  134. <TD align=right dir=ltr style="border-top: 1 solid black;border-bottom: 1 solid black;" ><%=Separate(abs(remainedAmount))%></TD>
  135. </TR>
  136. <%
  137. end if
  138. %>
  139. <TR>
  140. <td colspan=7 style="height:25px;background-color: #88AADD;"> <%=GLAccount%> - <%=RSS("Name")%></td>
  141. </TR>
  142. <TR class="TafsilTR1">
  143. <TD style="width:60px;"><A HREF="javaScript:sortSubmit(1);">v</A>&nbsp;&nbsp;<A HREF="javaScript:sortSubmit(-1);">^</A></TD>
  144. <TD style="width:80px;"><A HREF="javaScript:sortSubmit(2);">v</A>&nbsp; &nbsp;<A HREF="javaScript:sortSubmit(-2);">^</A></TD>
  145. <TD style="width:200px;"></TD>
  146. <TD style="width:100px;"></TD>
  147. <TD style="width:100px;"></TD>
  148. <TD colspan=2 style="width:100px;border-left:0;"></TD>
  149. </TR>
  150. <%
  151. tmpCounter =1
  152. remainedAmount = 0
  153. SumCredit = 0
  154. SumDebit = 0
  155. else
  156. tmpCounter = tmpCounter + 1
  157. end if
  158. if ShowRemained AND LastGLAccount <> GLAccount then
  159. credit = cdbl(RSS("remainedCredit"))
  160. debit = cdbl(RSS("remainedDebit"))
  161. remainedAmount = debit - credit
  162. totalRemainedAmount = totalRemainedAmount + debit - credit
  163. SumCredit = SumCredit + credit
  164. SumDebit = SumDebit + debit
  165. totalCredit=totalCredit + credit
  166. totalDebit=totalDebit + debit
  167. %>
  168. <TR bgcolor="#FFFFFF">
  169. <TD style="border-left:solid 1px black">&nbsp;</TD>
  170. <TD style="border-left:solid 1px black">&nbsp;</TD>
  171. <TD style="border-left:solid 1px black"><INPUT TYPE="text" value="<%=" " & replace(FromDate,"/",".")%>" style="width=200pt; border:solid 0pt; font-size:8pt; background-color:transparent"></TD>
  172. <TD dir=ltr align=right style="border-left:solid 1px black"><%=Separate(debit)%>&nbsp;</TD>
  173. <TD dir=ltr align=right style="border-left:solid 1px black"><%=Separate(credit)%>&nbsp;</TD>
  174. <TD align=right style="border-left:solid 1px black">&nbsp;<% if remainedAmount > 0 then response.write "" else if remainedAmount < 0 then response.write ""%></TD>
  175. <TD dir=ltr align=right><%=Separate(abs(remainedAmount))%></TD>
  176. </TR>
  177. <%
  178. tmpCounter = tmpCounter + 1
  179. end if
  180. LastGLAccount = GLAccount
  181. if NOT isnull(RSS("Amount")) then
  182. if tmpCounter mod 2 = 1 then
  183. tmpColor="#FFFFFF"
  184. Else
  185. tmpColor="#DDDDDD"
  186. End if
  187. if RSS("IsCredit") then
  188. credit = cdbl(RSS("Amount"))
  189. debit = 0
  190. else
  191. credit = 0
  192. debit = cdbl(RSS("Amount"))
  193. end if
  194. remainedAmount = remainedAmount + debit - credit
  195. totalRemainedAmount = totalRemainedAmount + debit - credit
  196. SumCredit = SumCredit + credit
  197. SumDebit = SumDebit + debit
  198. totalCredit=totalCredit + credit
  199. totalDebit=totalDebit + debit
  200. %>
  201. <TR bgcolor="<%=tmpColor%>" >
  202. <TD style="border-left:solid 1px black"><A HREF="GLMemoDocShow.asp?id=<%=RSS("GLDoc")%>" target="_blank"><%=RSS("GLDocID")%></A></TD>
  203. <TD align=center dir=ltr style="border-left:solid 1px black"><%=RSS("GLDocDate")%></TD>
  204. <TD width=100 style="border-left:solid 1px black"><INPUT size="60" TYPE="text" value="<%=RSS("Description")%>" style="width=200pt; border:solid 0pt; font-size:8pt; background-color:transparent"></TD>
  205. <TD dir=ltr align=right style="border-left:solid 1px black"><% if debit<>"0" then %> <%=Separate(debit)%><% end if %>&nbsp;</TD>
  206. <TD dir=ltr align=right style="border-left:solid 1px black"><% if credit<>"0" then %> <%=Separate(credit)%><% end if %>&nbsp;</TD>
  207. <TD align=right style="border-left:solid 1px black">&nbsp;<% if remainedAmount > 0 then response.write "" else if remainedAmount < 0 then response.write ""%></TD>
  208. <TD dir=ltr align=right><%=Separate(abs(remainedAmount))%></TD>
  209. </TR>
  210. <%
  211. end if
  212. RSS.moveNext
  213. Loop
  214. remainedAmount = SumDebit - SumCredit
  215. %>
  216. <TR>
  217. <TD colspan=3 align=left style="border: 1 solid black; border-right:none;"> <%=LastGLAccount%>&nbsp;</TD>
  218. <TD dir=ltr align=right style="border: 1 solid black; border-right:none;"><%=Separate(SumDebit)%>&nbsp;</TD>
  219. <TD dir=ltr align=right style="border: 1 solid black; border-right:none;"><%=Separate(SumCredit)%>&nbsp;</TD>
  220. <TD align=right style="border: 1 solid black; border-right:none;">&nbsp;<% if remainedAmount > 0 then response.write "" else if remainedAmount < 0 then response.write ""%></TD>
  221. <TD align=right dir=ltr style="border-top: 1 solid black;border-bottom: 1 solid black;" ><%=Separate(abs(remainedAmount))%></TD>
  222. </TR>
  223. <TR bgcolor="black" height=1>
  224. <TD colspan=7></TD>
  225. </TR>
  226. <TR bgcolor="#88AADD">
  227. <TD colspan=3 align=left style="border-left:solid 1px black;"> <%=account%>&nbsp;</TD>
  228. <TD dir=ltr align=right style="border-left:solid 1px black;"><%=Separate(totalDebit)%>&nbsp;</TD>
  229. <TD dir=ltr align=right style="border-left:solid 1px black;"><%=Separate(totalCredit)%>&nbsp;</TD>
  230. <TD align=right style="border-left:solid 1px black;">&nbsp;<% if totalRemainedAmount > 0 then response.write "" else if totalRemainedAmount < 0 then response.write ""%></TD>
  231. <TD align=right dir=ltr><%=Separate(abs(totalRemainedAmount))%></TD>
  232. </TR>
  233. </TABLE><br>
  234. <% end if %>
  235. <%
  236. '-----------------------------------------------------------------------------------------------------
  237. '--------------------------------------------------------------------------------------------- Scripts
  238. '-----------------------------------------------------------------------------------------------------
  239. %>
  240. <SCRIPT LANGUAGE="JavaScript">
  241. <!--
  242. var dialogActive=false;
  243. function mask(src){
  244. var theKey=event.keyCode;
  245. if (theKey==13){
  246. event.keyCode=9
  247. dialogActive=true
  248. document.all.tmpDlgArg.value="#"
  249. document.all.tmpDlgTxt.value=" :"
  250. var myTinyWindow = window.showModalDialog('../dialog_GenInput.asp',document.all.tmpDlgTxt,'dialogHeight:200px; dialogWidth:440px; dialogTop:; dialogLeft:; edge:None; center:Yes; help:No; resizable:No; status:No;');
  251. if (document.all.tmpDlgTxt.value !="") {
  252. var myTinyWindow = window.showModalDialog('../ar/dialog_selectAccount.asp?act=select&search='+escape(document.all.tmpDlgTxt.value),document.all.tmpDlgArg,'dialogHeight:500px; dialogWidth:380px; dialogTop:; dialogLeft:; edge:Raised; center:Yes; help:No; resizable:Yes; status:No;');
  253. dialogActive=false
  254. if (document.all.tmpDlgArg.value!="#"){
  255. Arguments=document.all.tmpDlgArg.value.split("#")
  256. src.value=Arguments[0];
  257. document.all.accountName.value=Arguments[1];
  258. }
  259. }
  260. }
  261. }
  262. function check(src){
  263. if (!dialogActive){
  264. badCode = false;
  265. if (window.XMLHttpRequest) {
  266. var objHTTP=new XMLHttpRequest();
  267. } else if (window.ActiveXObject) {
  268. var objHTTP = new ActiveXObject("Microsoft.XMLHTTP");
  269. }
  270. objHTTP.open('GET','xml_CustomerAccount.asp?id='+src.value,false);
  271. objHTTP.send();
  272. tmpStr = unescape(objHTTP.responseText);
  273. //document.all['A1'].innerText= objHTTP.status
  274. //document.all['A2'].innerText= objHTTP.statusText
  275. //document.all['A3'].innerText= objHTTP.responseText
  276. document.all.accountName.value=tmpStr;
  277. }
  278. }
  279. // On page load :
  280. if (document.all.accountID)
  281. check(document.all.accountID);
  282. //-->
  283. </SCRIPT>
  284. <!--#include file="tah.asp" -->