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.

175 lines
8.6 KiB

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