You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

251 lines
13 KiB

  1. <!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <style type="text/css">
  5. .overflow_ellipsis {
  6. text-overflow: ellipsis;
  7. overflow: hidden;
  8. white-space: nowrap;
  9. }
  10. .open_invoice_previous_line {
  11. font-style: italic;
  12. }
  13. .clearance_line {
  14. font-style: italic;
  15. }
  16. ${css}
  17. </style>
  18. </head>
  19. <body>
  20. <%!
  21. def amount(text):
  22. return text.replace('-', '&#8209;') # replace by a non-breaking hyphen (it will not word-wrap between hyphen and numbers)
  23. %>
  24. <%setLang(user.context_lang)%>
  25. <div class="act_as_table data_table">
  26. <div class="act_as_row labels">
  27. <div class="act_as_cell">${_('Chart of Account')}</div>
  28. <div class="act_as_cell">${_('Fiscal Year')}</div>
  29. <div class="act_as_cell">
  30. %if filter_form(data) == 'filter_date':
  31. ${_('Dates Filter')}
  32. %else:
  33. ${_('Periods Filter')}
  34. %endif
  35. </div>
  36. <div class="act_as_cell">${_('Clearance Date')}</div>
  37. <div class="act_as_cell">${_('Accounts Filter')}</div>
  38. <div class="act_as_cell">${_('Target Moves')}</div>
  39. </div>
  40. <div class="act_as_row">
  41. <div class="act_as_cell">${ chart_account.name }</div>
  42. <div class="act_as_cell">${ fiscalyear.name if fiscalyear else '-' }</div>
  43. <div class="act_as_cell">
  44. ${_('From:')}
  45. %if filter_form(data) == 'filter_date':
  46. ${formatLang(start_date, date=True) if start_date else u'' }
  47. %else:
  48. ${start_period.name if start_period else u''}
  49. %endif
  50. ${_('To:')}
  51. %if filter_form(data) == 'filter_date':
  52. ${ formatLang(stop_date, date=True) if stop_date else u'' }
  53. %else:
  54. ${stop_period.name if stop_period else u'' }
  55. %endif
  56. </div>
  57. <div class="act_as_cell">${ formatLang(date_until, date=True) }</div>
  58. <div class="act_as_cell">
  59. %if partner_ids:
  60. ${_('Custom Filter')}
  61. %else:
  62. ${ display_partner_account(data) }
  63. %endif
  64. </div>
  65. <div class="act_as_cell">${ display_target_move(data) }</div>
  66. </div>
  67. </div>
  68. %for account in objects:
  69. %if account.ledger_lines:
  70. <%
  71. if not account.partners_order:
  72. continue
  73. account_total_debit = 0.0
  74. account_total_credit = 0.0
  75. account_balance_cumul = 0.0
  76. account_balance_cumul_curr = 0.0
  77. %>
  78. <div class="account_title bg" style="width: 1080px; margin-top: 20px; font-size: 12px;">${account.code} - ${account.name}</div>
  79. %for partner_name, p_id, p_ref, p_name in account.partners_order:
  80. <%
  81. total_debit = 0.0
  82. total_credit = 0.0
  83. cumul_balance = 0.0
  84. cumul_balance_curr = 0.0
  85. part_cumul_balance = 0.0
  86. part_cumul_balance_curr = 0.0
  87. %>
  88. <div class="act_as_table list_table" style="margin-top: 5px;">
  89. <div class="act_as_caption account_title">
  90. ${partner_name or _('No Partner')}
  91. </div>
  92. <div class="act_as_thead">
  93. <div class="act_as_row labels">
  94. ## date
  95. <div class="act_as_cell first_column" style="width: 60px;">${_('Date')}</div>
  96. ## period
  97. <div class="act_as_cell" style="width: 70px;">${_('Period')}</div>
  98. ## move
  99. <div class="act_as_cell" style="width: 70px;">${_('Entry')}</div>
  100. ## journal
  101. <div class="act_as_cell" style="width: 70px;">${_('Journal')}</div>
  102. ## partner
  103. <div class="act_as_cell" style="width: 60px;">${_('Partner')}</div>
  104. ## label
  105. <div class="act_as_cell" style="width: 255px;">${_('Label')}</div>
  106. ## reconcile
  107. <div class="act_as_cell" style="width: 80px;">${_('Rec.')}</div>
  108. ## maturity
  109. <div class="act_as_cell" style="width: 60px;">${_('Due Date')}</div>
  110. ## debit
  111. <div class="act_as_cell amount" style="width: 80px;">${_('Debit')}</div>
  112. ## credit
  113. <div class="act_as_cell amount" style="width: 80px;">${_('Credit')}</div>
  114. ## balance cumulated
  115. <div class="act_as_cell amount" style="width: 80px;">${_('Cumul. Bal.')}</div>
  116. %if amount_currency(data):
  117. ## currency balance
  118. <div class="act_as_cell amount sep_left" style="width: 80px;">${_('Curr. Balance')}</div>
  119. ## curency code
  120. <div class="act_as_cell amount" style="width: 30px; text-align: right;">${_('Curr.')}</div>
  121. %endif
  122. </div>
  123. </div>
  124. <div class="act_as_tbody">
  125. <%
  126. total_debit = 0.0
  127. total_credit = 0.0
  128. %>
  129. %for line in account.ledger_lines.get(p_id, []):
  130. <%
  131. total_debit += line.get('debit') or 0.0
  132. total_credit += line.get('credit') or 0.0
  133. label_elements = [line.get('lname') or '']
  134. if line.get('invoice_number'):
  135. label_elements.append("(%s)" % (line['invoice_number'],))
  136. label = ' '.join(label_elements)
  137. %>
  138. <div class="act_as_row lines ${line.get('is_from_previous_periods') and 'open_invoice_previous_line' or ''} ${line.get('is_clearance_line') and 'clearance_line' or ''}">
  139. ## date
  140. <div class="act_as_cell first_column">${formatLang(line.get('ldate') or '', date=True)}</div>
  141. ## period
  142. <div class="act_as_cell">${line.get('period_code') or ''}</div>
  143. ## move
  144. <div class="act_as_cell">${line.get('move_name') or ''}</div>
  145. ## journal
  146. <div class="act_as_cell">${line.get('jcode') or ''}</div>
  147. ## partner
  148. <div class="act_as_cell overflow_ellipsis">${line.get('partner_name') or ''}</div>
  149. ## label
  150. <div class="act_as_cell">${label}</div>
  151. ## reconcile
  152. <div class="act_as_cell">${line.get('rec_name') or ''}</div>
  153. ## maturity date
  154. <div class="act_as_cell">${formatLang(line.get('date_maturity') or '', date=True)}</div>
  155. ## debit
  156. <div class="act_as_cell amount">${formatLang(line.get('debit') or 0.0) | amount }</div>
  157. ## credit
  158. <div class="act_as_cell amount">${formatLang(line.get('credit') or 0.0) | amount }</div>
  159. ## balance cumulated
  160. <% cumul_balance += line.get('balance') or 0.0 %>
  161. <div class="act_as_cell amount" style="padding-right: 1px;">${formatLang(cumul_balance) | amount }</div>
  162. %if amount_currency(data):
  163. ## currency balance
  164. <div class="act_as_cell sep_left amount">${formatLang(line.get('amount_currency') or 0.0) | amount }</div>
  165. ## curency code
  166. <div class="act_as_cell" style="text-align: right; ">${line.get('currency_code') or ''}</div>
  167. %endif
  168. </div>
  169. %endfor
  170. <div class="act_as_row lines labels">
  171. ## date
  172. <div class="act_as_cell first_column"></div>
  173. ## period
  174. <div class="act_as_cell"></div>
  175. ## move
  176. <div class="act_as_cell"></div>
  177. ## journal
  178. <div class="act_as_cell"></div>
  179. ## partner
  180. <div class="act_as_cell"></div>
  181. ## label
  182. <div class="act_as_cell">${_('Cumulated Balance on Partner')}</div>
  183. ## reconcile
  184. <div class="act_as_cell"></div>
  185. ## maturity date
  186. <div class="act_as_cell"></div>
  187. ## debit
  188. <div class="act_as_cell amount">${formatLang(total_debit) | amount }</div>
  189. ## credit
  190. <div class="act_as_cell amount">${formatLang(total_credit) | amount }</div>
  191. ## balance cumulated
  192. <div class="act_as_cell amount" style="padding-right: 1px;">${formatLang(cumul_balance) | amount }</div>
  193. %if amount_currency(data):
  194. %if account.currency_id:
  195. ## currency balance
  196. <div class="act_as_cell sep_left amount" style="padding-right: 1px;">${formatLang(cumul_balance_curr) | amount }</div>
  197. %else:
  198. <div class="act_as_cell sep_left amount" style="padding-right: 1px;">${ u'-' }</div>
  199. %endif
  200. ## curency code
  201. <div class="act_as_cell" style="text-align: right; ">${ account.currency_id.name if account.currency_id else u'' }</div>
  202. %endif
  203. </div>
  204. </div>
  205. </div>
  206. <%
  207. account_total_debit += total_debit
  208. account_total_credit += total_credit
  209. account_balance_cumul += cumul_balance
  210. account_balance_cumul_curr += cumul_balance_curr
  211. %>
  212. %endfor
  213. <div class="act_as_table list_table" style="margin-top:5px;">
  214. <div class="act_as_row labels" style="font-weight: bold; font-size: 12px;">
  215. <div class="act_as_cell first_column" style="width: 330px;">${account.code} - ${account.name}</div>
  216. ## label
  217. <div class="act_as_cell" style="width: 395px;">${_("Cumulated Balance on Account")}</div>
  218. ## debit
  219. <div class="act_as_cell amount" style="width: 80px;">${ formatLang(account_total_debit) | amount }</div>
  220. ## credit
  221. <div class="act_as_cell amount" style="width: 80px;">${ formatLang(account_total_credit) | amount }</div>
  222. ## balance cumulated
  223. <div class="act_as_cell amount" style="width: 80px; ">${ formatLang(account_balance_cumul) | amount }</div>
  224. %if amount_currency(data):
  225. ## currency balance cumulated
  226. %if account.currency_id:
  227. <div class="act_as_cell amount sep_left" style="width: 80px;">${ formatLang(account_balance_cumul_curr) | amount }</div>
  228. %else:
  229. <div class="act_as_cell amount sep_left" style="width: 80px; padding-right: 1px;">${ u'-' }</div>
  230. %endif
  231. ## curency code
  232. <div class="act_as_cell amount" style="width: 30px; text-align: right;">${ account.currency_id.name if account.currency_id else u'' }</div>
  233. %endif
  234. </div>
  235. </div>
  236. </div>
  237. %endif
  238. %endfor
  239. </body>
  240. </html>