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.

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