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.

173 lines
8.4 KiB

  1. ## -*- coding: utf-8 -*-
  2. <%page args="account, formatLang" />
  3. %if account.grouped_ledger_lines and partners_order[account.id]:
  4. <%
  5. account_total_debit = 0.0
  6. account_total_credit = 0.0
  7. account_balance_cumul = 0.0
  8. account_balance_cumul_curr = 0.0
  9. %>
  10. %for partner_name, p_id, p_ref, p_name in partners_order[account.id]:
  11. <div class="account_title bg" style="width: 1080px; margin-top:
  12. 20px; font-size: 12px;">${account.code} - ${account.name} -- ${partner_name or _('No Partner')} </div>
  13. %for curr, grouped_lines in account.grouped_ledger_lines.get(p_id, []):
  14. <%
  15. total_debit = 0.0
  16. total_credit = 0.0
  17. cumul_balance = 0.0
  18. cumul_balance_curr = 0.0
  19. part_cumul_balance = 0.0
  20. part_cumul_balance_curr = 0.0
  21. %>
  22. <div class="act_as_table list_table" style="margin-top: 5px;">
  23. <div class="act_as_caption account_title">
  24. <b>${curr or company.currency_id.name}</b>
  25. </div>
  26. <div class="act_as_thead">
  27. <div class="act_as_row labels">
  28. ## date
  29. <div class="act_as_cell first_column" style="width: 60px;">${_('Date')}</div>
  30. ## period
  31. <div class="act_as_cell" style="width: 70px;">${_('Period')}</div>
  32. ## move
  33. <div class="act_as_cell" style="width: 100px;">${_('Entry')}</div>
  34. ## journal
  35. <div class="act_as_cell" style="width: 70px;">${_('Journal')}</div>
  36. ## move reference
  37. <div class="act_as_cell" style="width: 100px;">${_('Reference')}</div>
  38. ## label
  39. <div class="act_as_cell" style="width: 180px;">${_('Label')}</div>
  40. ## reconcile
  41. <div class="act_as_cell" style="width: 80px;">${_('Rec.')}</div>
  42. ## maturity
  43. <div class="act_as_cell" style="width: 60px;">${_('Due Date')}</div>
  44. ## debit
  45. <div class="act_as_cell amount" style="width: 80px;">${_('Debit')}</div>
  46. ## credit
  47. <div class="act_as_cell amount" style="width: 80px;">${_('Credit')}</div>
  48. ## balance cumulated
  49. <div class="act_as_cell amount" style="width: 80px;">${_('Cumul. Bal.')}</div>
  50. ## currency balance
  51. <div class="act_as_cell amount sep_left" style="width: 80px;">${_('Curr. Balance')}</div>
  52. ## curency code
  53. <div class="act_as_cell amount" style="width: 30px; text-align: right;">${_('Curr.')}</div>
  54. </div>
  55. </div>
  56. <div class="act_as_tbody">
  57. <%
  58. total_debit = 0.0
  59. total_credit = 0.0
  60. %>
  61. <%!
  62. def amount(text):
  63. return text.replace('-', '&#8209;') # replace by a non-breaking hyphen (it will not word-wrap between hyphen and numbers)
  64. %>
  65. %for line in grouped_lines:
  66. <%
  67. total_debit += line.get('debit') or 0.0
  68. total_credit += line.get('credit') or 0.0
  69. label_elements = [line.get('lname') or '']
  70. if line.get('invoice_number'):
  71. label_elements.append("(%s)" % (line['invoice_number'],))
  72. label = ' '.join(label_elements)
  73. %>
  74. <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 ''}">
  75. ## date
  76. <div class="act_as_cell first_column">${formatLang(line.get('ldate') or '', date=True)}</div>
  77. ## period
  78. <div class="act_as_cell">${line.get('period_code') or ''}</div>
  79. ## move
  80. <div class="act_as_cell">${line.get('move_name') or ''}</div>
  81. ## journal
  82. <div class="act_as_cell">${line.get('jcode') or ''}</div>
  83. ## move reference
  84. <div class="act_as_cell">${line.get('lref') or ''}</div>
  85. ## label
  86. <div class="act_as_cell">${label}</div>
  87. ## reconcile
  88. <div class="act_as_cell">${line.get('rec_name') or ''}</div>
  89. ## maturity date
  90. <div class="act_as_cell">${formatLang(line.get('date_maturity') or '', date=True)}</div>
  91. ## debit
  92. <div class="act_as_cell amount">${formatLang(line.get('debit') or 0.0) | amount }</div>
  93. ## credit
  94. <div class="act_as_cell amount">${formatLang(line.get('credit') or 0.0) | amount }</div>
  95. ## balance cumulated
  96. <% cumul_balance += line.get('balance') or 0.0 %>
  97. <div class="act_as_cell amount" style="padding-right: 1px;">${formatLang(cumul_balance) | amount }</div>
  98. ## currency balance
  99. <div class="act_as_cell sep_left amount">${formatLang(line.get('amount_currency') or 0.0) | amount }</div>
  100. ## curency code
  101. <div class="act_as_cell" style="text-align: right; ">${line.get('currency_code') or ''}</div>
  102. </div>
  103. %endfor
  104. <div class="act_as_row lines labels">
  105. ## date
  106. <div class="act_as_cell first_column"></div>
  107. ## period
  108. <div class="act_as_cell"></div>
  109. ## move
  110. <div class="act_as_cell"></div>
  111. ## journal
  112. <div class="act_as_cell"></div>
  113. ## move reference
  114. <div class="act_as_cell"></div>
  115. ## label
  116. <div class="act_as_cell">${_('Cumulated Balance on Partner')}</div>
  117. ## reconcile
  118. <div class="act_as_cell"></div>
  119. ## maturity date
  120. <div class="act_as_cell"></div>
  121. ## debit
  122. <div class="act_as_cell amount">${formatLang(total_debit) | amount }</div>
  123. ## credit
  124. <div class="act_as_cell amount">${formatLang(total_credit) | amount }</div>
  125. ## balance cumulated
  126. <div class="act_as_cell amount" style="padding-right: 1px;">${formatLang(cumul_balance) | amount }</div>
  127. %if account.currency_id:
  128. ## currency balance
  129. <div class="act_as_cell sep_left amount" style="padding-right: 1px;">${formatLang(cumul_balance_curr) | amount }</div>
  130. %else:
  131. <div class="act_as_cell sep_left amount" style="padding-right: 1px;">${ u'-' }</div>
  132. %endif
  133. ## curency code
  134. <div class="act_as_cell" style="text-align: right; ">${ account.currency_id.name if account.currency_id else u'' }</div>
  135. </div>
  136. </div>
  137. </div>
  138. <%
  139. account_total_debit += total_debit
  140. account_total_credit += total_credit
  141. account_balance_cumul += cumul_balance
  142. account_balance_cumul_curr += cumul_balance_curr
  143. %>
  144. %endfor
  145. %endfor
  146. <div class="act_as_table list_table" style="margin-top:5px;">
  147. <div class="act_as_row labels" style="font-weight: bold; font-size: 12px;">
  148. <div class="act_as_cell first_column" style="width: 450px;">${account.code} - ${account.name}</div>
  149. ## label
  150. <div class="act_as_cell" style="width: 320px;">${_("Cumulated Balance on Account")}</div>
  151. ## debit
  152. <div class="act_as_cell amount" style="width: 80px;">${ formatLang(account_total_debit) | amount }</div>
  153. ## credit
  154. <div class="act_as_cell amount" style="width: 80px;">${ formatLang(account_total_credit) | amount }</div>
  155. ## balance cumulated
  156. <div class="act_as_cell amount" style="width: 80px; ">${ formatLang(account_balance_cumul) | amount }</div>
  157. ## currency balance cumulated
  158. %if account.currency_id:
  159. <div class="act_as_cell amount sep_left" style="width: 80px;">${ formatLang(account_balance_cumul_curr) | amount }</div>
  160. %else:
  161. <div class="act_as_cell amount sep_left" style="width: 80px; padding-right: 1px;">${ u'-' }</div>
  162. %endif
  163. ## curency code
  164. <div class="act_as_cell amount" style="width: 30px; text-align: right;">${ account.currency_id.name if account.currency_id else u'' }</div>
  165. </div>
  166. </div>
  167. </div>
  168. %endif