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.

732 lines
35 KiB

  1. <?xml version="1.0" encoding="utf-8" ?>
  2. <odoo>
  3. <template id="general_ledger">
  4. <t t-call="web.html_container">
  5. <t t-foreach="docs" t-as="o">
  6. <t t-call="account_financial_report.internal_layout">
  7. <t t-call="account_financial_report.report_general_ledger_base" />
  8. </t>
  9. </t>
  10. </t>
  11. </template>
  12. <template id="report_general_ledger_base">
  13. <!-- Saved flag fields into variables, used to define columns display -->
  14. <t t-set="foreign_currency" t-value="foreign_currency" />
  15. <t t-set="filter_partner_ids" t-value="filter_partner_ids" />
  16. <!-- Defines global variables used by internal layout -->
  17. <t t-set="title">
  18. General Ledger -
  19. <t t-raw="company_name" />
  20. -
  21. <t t-raw="currency_name" />
  22. </t>
  23. <div class="page">
  24. <div class="row">
  25. <h4
  26. class="mt0"
  27. t-esc="title or 'Odoo Report'"
  28. style="text-align: center;"
  29. />
  30. </div>
  31. <!-- Display filters -->
  32. <t t-call="account_financial_report.report_general_ledger_filters" />
  33. <t t-foreach="general_ledger" t-as="account">
  34. <div class="page_break">
  35. <!-- Display account header -->
  36. <div class="act_as_table list_table" style="margin-top: 10px;" />
  37. <div class="act_as_caption account_title" style="width: 100%">
  38. <span
  39. t-esc="o._get_atr_from_dict(account['id'], accounts_data, 'code')"
  40. />
  41. -
  42. <span
  43. t-esc="o._get_atr_from_dict(account['id'], accounts_data, 'name')"
  44. />
  45. </div>
  46. <t t-if="not account['partners']">
  47. <!-- Display account move lines without partner regroup -->
  48. <t t-set="type" t-value='"account_type"' />
  49. <t
  50. t-call="account_financial_report.report_general_ledger_lines"
  51. >
  52. <t t-set="account_or_partner_object" t-value="account" />
  53. </t>
  54. <!-- Display account footer -->
  55. <t
  56. t-call="account_financial_report.report_general_ledger_ending_cumul"
  57. >
  58. <t t-set="account_or_partner_object" t-value="account" />
  59. <t t-set="type" t-value='"account_type"' />
  60. </t>
  61. </t>
  62. <t t-if="account['partners']">
  63. <!-- Display account partners -->
  64. <t t-foreach="account['list_partner']" t-as="partner">
  65. <t t-set="type" t-value='"partner_type"' />
  66. <div class="page_break">
  67. <!-- Display partner header -->
  68. <div class="act_as_caption account_title">
  69. <span
  70. t-esc="o._get_atr_from_dict(partner['id'], partners_data, 'name')"
  71. />
  72. </div>
  73. <!-- Display partner move lines -->
  74. <t
  75. t-call="account_financial_report.report_general_ledger_lines"
  76. >
  77. <t
  78. t-set="account_or_partner_object"
  79. t-value="partner"
  80. />
  81. </t>
  82. <!-- Display partner footer -->
  83. <t
  84. t-call="account_financial_report.report_general_ledger_ending_cumul"
  85. >
  86. <t
  87. t-set="account_or_partner_object"
  88. t-value="partner"
  89. />
  90. <t t-set="type" t-value='"partner_type"' />
  91. </t>
  92. </div>
  93. </t>
  94. <!-- Display account footer -->
  95. <t t-if="not filter_partner_ids">
  96. <t
  97. t-call="account_financial_report.report_general_ledger_ending_cumul"
  98. >
  99. <t
  100. t-set="account_or_partner_object"
  101. t-value="account"
  102. />
  103. <t t-set="type" t-value='"account_type"' />
  104. </t>
  105. </t>
  106. </t>
  107. </div>
  108. </t>
  109. </div>
  110. </template>
  111. <template id="account_financial_report.report_general_ledger_filters">
  112. <div class="act_as_table data_table" style="width: 100%;">
  113. <div class="act_as_row labels">
  114. <div class="act_as_cell">Date range filter</div>
  115. <div class="act_as_cell">Target moves filter</div>
  116. <div class="act_as_cell">Account balance at 0 filter</div>
  117. <div class="act_as_cell">Centralize filter</div>
  118. <div class="act_as_cell">Show analytic tags</div>
  119. </div>
  120. <div class="act_as_row">
  121. <div class="act_as_cell">
  122. From:
  123. <span t-esc="date_from" />
  124. To:
  125. <span t-esc="date_to" />
  126. </div>
  127. <div class="act_as_cell">
  128. <t t-if="only_posted_moves">All posted entries</t>
  129. <t t-if="not only_posted_moves">All entries</t>
  130. </div>
  131. <div class="act_as_cell">
  132. <t t-if="hide_account_at_0">Hide</t>
  133. <t t-if="not hide_account_at_0">Show</t>
  134. </div>
  135. <div class="act_as_cell">
  136. <t t-if="centralize">Yes</t>
  137. <t t-if="not centralize">No</t>
  138. </div>
  139. <div class="act_as_cell">
  140. <t t-if="show_analytic_tags">Yes</t>
  141. <t t-if="not show_analytic_tags">No</t>
  142. </div>
  143. </div>
  144. </div>
  145. </template>
  146. <template id="account_financial_report.report_general_ledger_lines">
  147. <div class="act_as_table data_table" style="width: 100%;">
  148. <!-- Display table headers for lines -->
  149. <div class="act_as_thead">
  150. <div class="act_as_row labels">
  151. <!--## date-->
  152. <div class="act_as_cell first_column" style="width: 3.51%;">
  153. Date
  154. </div>
  155. <!--## move-->
  156. <div class="act_as_cell" style="width: 8.03%">Entry</div>
  157. <!--## journal-->
  158. <div class="act_as_cell" style="width: 4.13%;">Journal</div>
  159. <!--## account code-->
  160. <div class="act_as_cell" style="width: 4.75%;">Account</div>
  161. <!--## account code-->
  162. <div class="act_as_cell" style="width: 8.89%;">Taxes</div>
  163. <!--## partner-->
  164. <div class="act_as_cell" style="width: 12.01%;">Partner</div>
  165. <!--## ref - label-->
  166. <div class="act_as_cell" style="width: 16.9%;">
  167. Ref -
  168. Label
  169. </div>
  170. <t t-if="show_cost_center">
  171. <!--## cost_center-->
  172. <div class="act_as_cell" style="width: 8.03%;">
  173. Analytic Account
  174. </div>
  175. </t>
  176. <t t-if="show_analytic_tags">
  177. <!--## analytic tags-->
  178. <div class="act_as_cell" style="width: 4.75%;">Tags</div>
  179. </t>
  180. <!--## matching_number-->
  181. <div class="act_as_cell" style="width: 2.41%;">Rec.</div>
  182. <!--## debit-->
  183. <div class="act_as_cell amount" style="width: 8.02%;">Debit</div>
  184. <!--## credit-->
  185. <div class="act_as_cell amount" style="width: 8.02%;">Credit</div>
  186. <!--## balance cumulated-->
  187. <div class="act_as_cell amount" style="width: 8.02%;">
  188. Cumul. Bal.
  189. </div>
  190. <t t-if="foreign_currency">
  191. <!--## currency_name-->
  192. <div class="act_as_cell" style="width: 2.08%;">Cur.</div>
  193. <!--## amount_currency-->
  194. <div class="act_as_cell amount" style="width: 5.19%;">
  195. Amount cur.
  196. </div>
  197. </t>
  198. </div>
  199. </div>
  200. <!-- Display first line with initial balance -->
  201. <div class="act_as_row lines">
  202. <!--## date-->
  203. <div class="act_as_cell" />
  204. <!--## move-->
  205. <div class="act_as_cell" />
  206. <!--## journal-->
  207. <div class="act_as_cell" />
  208. <!--## account code-->
  209. <div class="act_as_cell" />
  210. <!--## taxes-->
  211. <div class="act_as_cell" />
  212. <!--## partner-->
  213. <div class="act_as_cell" />
  214. <!--## ref - label-->
  215. <div class="act_as_cell amount">Initial balance</div>
  216. <t t-if="show_cost_center">
  217. <!--## cost_center-->
  218. <div class="act_as_cell" />
  219. </t>
  220. <t t-if="show_analytic_tags">
  221. <!--## analytic tags-->
  222. <div class="act_as_cell" />
  223. </t>
  224. <!--## matching_number-->
  225. <div class="act_as_cell" />
  226. <!--## debit-->
  227. <div class="act_as_cell amount">
  228. <t t-if="type == 'account_type'">
  229. <t
  230. t-set="domain"
  231. t-value="[('account_id', '=', account['id']),
  232. ('date', '&lt;', date_from),
  233. ('debit', '&lt;&gt;', 0)]"
  234. />
  235. <span t-att-domain="domain" res-model="account.move.line">
  236. <t
  237. t-raw="account_or_partner_object['init_bal']['debit']"
  238. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  239. />
  240. </span>
  241. </t>
  242. <t t-if="type == 'partner_type'">
  243. <t
  244. t-set="domain"
  245. t-value="[('account_id', '=', account['id']),
  246. ('partner_id', '=', partner['id']),
  247. ('date', '&lt;', date_from),
  248. ('debit', '&lt;&gt;', 0)]"
  249. />
  250. <span t-att-domain="domain" res-model="account.move.line">
  251. <t
  252. t-raw="account_or_partner_object['init_bal']['debit']"
  253. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  254. />
  255. </span>
  256. </t>
  257. </div>
  258. <!--## credit-->
  259. <div class="act_as_cell amount">
  260. <t t-if="type == 'account_type'">
  261. <t
  262. t-set="domain"
  263. t-value="[('account_id', '=', account['id']),
  264. ('date', '&lt;', date_from),
  265. ('credit', '&lt;&gt;', 0)]"
  266. />
  267. <span t-att-domain="domain" res-model="account.move.line">
  268. <t
  269. t-raw="account_or_partner_object['init_bal']['credit']"
  270. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  271. />
  272. </span>
  273. </t>
  274. <t t-if="type == 'partner_type'">
  275. <t
  276. t-set="domain"
  277. t-value="[('account_id', '=', account['id']),
  278. ('partner_id', '=', partner['id']),
  279. ('date', '&lt;', date_from),
  280. ('credit', '&lt;&gt;', 0)]"
  281. />
  282. <span t-att-domain="domain" res-model="account.move.line">
  283. <t
  284. t-raw="account_or_partner_object['init_bal']['credit']"
  285. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  286. />
  287. </span>
  288. </t>
  289. </div>
  290. <!--## balance cumulated-->
  291. <div class="act_as_cell amount">
  292. <t t-if="type == 'account_type'">
  293. <t
  294. t-set="domain"
  295. t-value="[('account_id', '=', account['id']),
  296. ('date', '&lt;', date_from)]"
  297. />
  298. <span t-att-domain="domain" res-model="account.move.line">
  299. <t
  300. t-raw="account_or_partner_object['init_bal']['balance']"
  301. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  302. />
  303. </span>
  304. </t>
  305. <t t-if="type == 'partner_type'">
  306. <t
  307. t-set="domain"
  308. t-value="[('account_id', '=', account['id']),
  309. ('partner_id', '=', partner['id']),
  310. ('date', '&lt;', date_from)]"
  311. />
  312. <span t-att-domain="domain" res-model="account.move.line">
  313. <t
  314. t-raw="account_or_partner_object['init_bal']['balance']"
  315. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  316. />
  317. </span>
  318. </t>
  319. </div>
  320. <t t-if="foreign_currency">
  321. <t
  322. t-if="o._get_atr_from_dict(account['id'], accounts_data, 'currency_id')"
  323. >
  324. <div class="act_as_cell amount" style="width: 2.08%;">
  325. <span
  326. t-esc="o._get_atr_from_dict(account['id'], accounts_data, 'currency_name')"
  327. />
  328. </div>
  329. <div class="act_as_cell amount" style="width: 5.19%;">
  330. <t t-if="type == 'account_type'">
  331. <t
  332. t-set="domain"
  333. t-value="[('account_id', '=', account['id']),
  334. ('date', '&lt;', o.date_from)]"
  335. />
  336. <span
  337. t-att-domain="domain"
  338. res-model="account.move.line"
  339. >
  340. <t
  341. t-raw="account_or_partner_object['init_bal']['bal_curr']"
  342. t-options="{'widget': 'monetary', 'display_currency': o._get_atr_from_dict(account['id'], accounts_data, 'currency_id')}"
  343. />
  344. </span>
  345. </t>
  346. <t t-if="type == 'partner_type'">
  347. <t
  348. t-set="domain"
  349. t-value="[('account_id', '=', account['id']),
  350. ('partner_id', '=', partner['id']),
  351. ('date', '&lt;', o.date_from)]"
  352. />
  353. <span
  354. t-att-domain="domain"
  355. res-model="account.move.line"
  356. >
  357. <t
  358. t-raw="account_or_partner_object['init_bal']['bal_curr']"
  359. t-options="{'widget': 'monetary', 'display_currency': o._get_atr_from_dict(account['id'], accounts_data, 'currency_id')}"
  360. />
  361. </span>
  362. </t>
  363. </div>
  364. </t>
  365. <t
  366. t-if="not o._get_atr_from_dict(account['id'], accounts_data, 'currency_id')"
  367. >
  368. <div class="act_as_cell" style="width: 2.08%;" />
  369. <div class="act_as_cell" style="width: 5.19%;" />
  370. </t>
  371. </t>
  372. </div>
  373. <!-- Display each lines -->
  374. <t t-foreach="account_or_partner_object['move_lines']" t-as="line">
  375. <!-- # lines or centralized lines -->
  376. <div class="act_as_row lines">
  377. <!--## date-->
  378. <div class="act_as_cell left">
  379. <t t-if="line['id']">
  380. <!--## We don't use t-field because it throws an error on click -->
  381. <span
  382. t-att-res-id="line['id']"
  383. res-model="account.move.line"
  384. view-type="form"
  385. >
  386. <t
  387. t-esc="line['date']"
  388. t-options="{'widget': 'date'}"
  389. />
  390. </span>
  391. </t>
  392. <t t-else="">
  393. <span>
  394. <!--## We don't use t-field because it throws an error on click -->
  395. <t
  396. t-esc="line['date']"
  397. t-options="{'widget': 'date'}"
  398. />
  399. </span>
  400. </t>
  401. </div>
  402. <!--## move-->
  403. <div class="act_as_cell left">
  404. <t t-if="line['entry_id']">
  405. <span
  406. t-att-res-id="line['entry_id']"
  407. res-model="account.move"
  408. view-type="form"
  409. >
  410. <t t-raw="line['entry']" />
  411. </span>
  412. </t>
  413. </div>
  414. <!--## journal-->
  415. <div class="act_as_cell left">
  416. <span
  417. t-att-res-id="line['journal_id']"
  418. res-model="account.journal"
  419. view-type="form"
  420. >
  421. <t
  422. t-raw="o._get_atr_from_dict(line['journal_id'], journals_data, 'code')"
  423. />
  424. </span>
  425. </div>
  426. <!--## account code-->
  427. <div class="act_as_cell left">
  428. <span
  429. t-att-res-id="account['id']"
  430. res-model="account.account"
  431. view-type="form"
  432. >
  433. <t
  434. t-raw="o._get_atr_from_dict(account['id'], accounts_data, 'code')"
  435. />
  436. </span>
  437. </div>
  438. <!--## taxes-->
  439. <div class="act_as_cell left">
  440. <t t-if="taxes_data and line['tax_ids']">
  441. <t t-foreach="line['tax_ids']" t-as="tax_id">
  442. <span
  443. t-esc="o._get_atr_from_dict(tax_id, taxes_data, 'tax_name')"
  444. />
  445. </t>
  446. </t>
  447. </div>
  448. <!--## partner-->
  449. <div class="act_as_cell left">
  450. <t t-if="line['partner_id']">
  451. <span
  452. t-att-res-id="line['partner_id']"
  453. res-model="res.partner"
  454. view-type="form"
  455. >
  456. <t t-raw="line['partner_name']" />
  457. </span>
  458. </t>
  459. </div>
  460. <!--## ref - label-->
  461. <div class="act_as_cell left">
  462. <t t-if="line['id']">
  463. <span
  464. t-att-res-id="line['id']"
  465. res-model="account.move.line"
  466. view-type="form"
  467. >
  468. <t t-raw="line['ref_label']" />
  469. </span>
  470. </t>
  471. <t t-else="">
  472. <span>
  473. <t t-raw="line['ref_label']" />
  474. </span>
  475. </t>
  476. </div>
  477. <!--## cost_center-->
  478. <t t-if="show_cost_center">
  479. <div class="act_as_cell left">
  480. <t t-if="line['analytic_account_id']">
  481. <span
  482. t-att-res-id="line['analytic_account_id']"
  483. res-model="account.analytic.account"
  484. view-type="form"
  485. >
  486. <t t-raw="line['analytic_account']" />
  487. </span>
  488. </t>
  489. </div>
  490. </t>
  491. <t t-if="show_analytic_tags">
  492. <!--## analytic tags-->
  493. <div class="act_as_cell left">
  494. <t t-if="line['tag_ids']">
  495. <t t-foreach="line['tag_ids']" t-as="tag_id">
  496. <span
  497. t-esc="o._get_atr_from_dict(tag_id, tags_data, 'name')"
  498. />
  499. </t>
  500. </t>
  501. </div>
  502. </t>
  503. <!--## matching_number-->
  504. <div class="act_as_cell">
  505. <t t-if="line['rec_id']">
  506. <span
  507. t-att-res-id="line['rec_id']"
  508. res-model="account.full.reconcile"
  509. view-type="form"
  510. >
  511. <t t-raw="line['rec_name']" />
  512. </span>
  513. </t>
  514. </div>
  515. <!--## debit-->
  516. <div class="act_as_cell amount">
  517. <t t-if="line['id']">
  518. <span
  519. t-att-res-id="line['id']"
  520. res-model="account.move.line"
  521. view-type="form"
  522. >
  523. <t
  524. t-raw="line['debit']"
  525. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  526. />
  527. </span>
  528. </t>
  529. <t t-else="">
  530. <span>
  531. <t
  532. t-raw="line['debit']"
  533. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  534. />
  535. </span>
  536. </t>
  537. </div>
  538. <!--## credit-->
  539. <div class="act_as_cell amount">
  540. <t t-if="line['id']">
  541. <span
  542. t-att-res-id="line['id']"
  543. res-model="account.move.line"
  544. view-type="form"
  545. >
  546. <t
  547. t-raw="line['credit']"
  548. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  549. />
  550. </span>
  551. </t>
  552. <t t-else="">
  553. <span>
  554. <t
  555. t-raw="line['credit']"
  556. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  557. />
  558. </span>
  559. </t>
  560. </div>
  561. <!--## balance cumulated-->
  562. <div class="act_as_cell amount">
  563. <t t-if="line['id']">
  564. <span
  565. t-att-res-id="line['id']"
  566. res-model="account.move.line"
  567. view-type="form"
  568. >
  569. <t
  570. t-raw="line['balance']"
  571. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  572. />
  573. </span>
  574. </t>
  575. <t t-else="">
  576. <span>
  577. <t
  578. t-raw="line['balance']"
  579. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  580. />
  581. </span>
  582. </t>
  583. </div>
  584. <t t-if="foreign_currency">
  585. <t t-if="line['currency_id']">
  586. <!--## currency_name-->
  587. <div class="act_as_cell amount" style="width: 2.08%;">
  588. <span t-esc="line['currency_id'][1]" />
  589. </div>
  590. <!--## amount_currency-->
  591. <div class="act_as_cell amount" style="width: 5.19%;">
  592. <span
  593. t-att-res-id="line['id']"
  594. res-model="account.move.line"
  595. view-type="form"
  596. >
  597. <t t-raw="line['bal_curr']" />
  598. </span>
  599. </div>
  600. </t>
  601. <t t-if="not line['currency_id']">
  602. <!--## currency_name-->
  603. <div class="act_as_cell amount" style="width: 2.08%;" />
  604. <!--## amount_currency-->
  605. <div class="act_as_cell amount" style="width: 5.19%;" />
  606. </t>
  607. </t>
  608. </div>
  609. </t>
  610. </div>
  611. </template>
  612. <template id="account_financial_report.report_general_ledger_ending_cumul">
  613. <!-- Display ending balance line for account or partner -->
  614. <div class="act_as_table list_table" style="width: 100%;">
  615. <div class="act_as_row labels" style="font-weight: bold;">
  616. <!--## date-->
  617. <t t-if='type == "account_type"'>
  618. <div class="act_as_cell first_column" style="width: 41.32%;">
  619. <span
  620. t-esc="o._get_atr_from_dict(account['id'], accounts_data, 'code')"
  621. />
  622. -
  623. <span
  624. t-esc="o._get_atr_from_dict(account['id'], accounts_data, 'name')"
  625. />
  626. </div>
  627. <div class="act_as_cell right" style="width: 16.9%;">
  628. Ending balance
  629. </div>
  630. </t>
  631. <t t-if='type == "partner_type"'>
  632. <div class="act_as_cell first_column" style="width: 41.32%;" />
  633. <div class="act_as_cell right" style="width: 16.9%;">
  634. Partner ending balance
  635. </div>
  636. </t>
  637. <t t-if="show_cost_center">
  638. <!--## cost_center-->
  639. <div class="act_as_cell" style="width: 8.03%" />
  640. </t>
  641. <t t-if="show_analytic_tags">
  642. <!--## analytic tags-->
  643. <div class="act_as_cell" style="width: 4.75%;" />
  644. </t>
  645. <!--## matching_number-->
  646. <div class="act_as_cell" style="width: 2.41%;" />
  647. <!--## debit-->
  648. <div class="act_as_cell amount" style="width: 8.02%;">
  649. <span
  650. t-esc="account_or_partner_object['fin_bal']['debit']"
  651. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  652. />
  653. </div>
  654. <!--## credit-->
  655. <div class="act_as_cell amount" style="width: 8.02%;">
  656. <span
  657. t-esc="account_or_partner_object['fin_bal']['credit']"
  658. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  659. />
  660. </div>
  661. <!--## balance cumulated-->
  662. <div class="act_as_cell amount" style="width: 8.02%;">
  663. <span
  664. t-esc="account_or_partner_object['fin_bal']['balance']"
  665. t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
  666. />
  667. </div>
  668. <!--## currency_name + amount_currency-->
  669. <t t-if="foreign_currency">
  670. <t
  671. t-if="o._get_atr_from_dict(account['id'], accounts_data, 'currency_id')"
  672. >
  673. <div class="act_as_cell amount" style="width: 2.08%;">
  674. <span
  675. t-esc="o._get_atr_from_dict(account['id'], accounts_data, 'currency_name')"
  676. />
  677. </div>
  678. <div class="act_as_cell amount" style="width: 5.19%;">
  679. <t t-if="type == 'account_type'">
  680. <t
  681. t-set="domain"
  682. t-value="[('account_id', '=', account['id']),
  683. ('date', '&lt;', date_from)]"
  684. />
  685. <span>
  686. <a
  687. t-att-data-t-att-domain="domain"
  688. t-att-data-res-model="'account.move.line'"
  689. class="o_account_financial_reports_web_action_monetary_multi"
  690. style="color: black;"
  691. >
  692. <t
  693. t-raw="account_or_partner_object['fin_bal']['bal_curr']"
  694. t-options="{'widget': 'monetary', 'display_currency': o._get_atr_from_dict(account['id'], accounts_data, 'currency_id')}"
  695. />
  696. </a>
  697. </span>
  698. </t>
  699. <t t-if="type == 'partner_type'">
  700. <t
  701. t-set="domain"
  702. t-value="[('account_id', '=', account['id']),
  703. ('partner_id', '=', partner['id']),
  704. ('date', '&lt;', date_from)]"
  705. />
  706. <span>
  707. <a
  708. t-att-data-t-att-domain="domain"
  709. t-att-data-res-model="'account.move.line'"
  710. class="o_account_financial_reports_web_action_monetary_multi"
  711. style="color: black;"
  712. >
  713. <t
  714. t-raw="account_or_partner_object['fin_bal']['bal_curr']"
  715. t-options="{'widget': 'monetary', 'display_currency': o._get_atr_from_dict(account['id'], accounts_data, 'currency_id')}"
  716. />
  717. </a>
  718. </span>
  719. </t>
  720. </div>
  721. </t>
  722. <t
  723. t-if="not o._get_atr_from_dict(account['id'], accounts_data, 'currency_id')"
  724. >
  725. <div class="act_as_cell amount" style="width: 2.08%;" />
  726. <div class="act_as_cell amount" style="width: 5.19%;" />
  727. </t>
  728. </t>
  729. </div>
  730. </div>
  731. </template>
  732. </odoo>