Files
saat-app/addons/saat_invest/views/transaksi_views.xml
Alex Ardhian d657a0a8f0 Aplikasi catat jual-beli saham: Odoo 17 + Postgres 16 + addon saat_invest
- docker-compose.yml: odoo:17.0 (port 8069) + postgres:16 (internal, no publish)
- Addon saat_invest: model saat.saham / saat.transaksi / saat.portofolio
  - P/L computed (realized FIFO, unrealized dari harga_sekarang)
  - action_recalculate() endpoint untuk Flutter
  - seed 5 saham IDX (BBRI, TLKM, BBCA, ASII, PTBA)
- JSON-RPC end-to-end terverifikasi: create beli/jual -> recalculate -> portfolio
  (avg_cost 4525, realized 65000, unrealized 220000, nilai 3840000)
- PLAN.md: rancangan disetujui Bozz
- Login Odoo admin/admin (ganti password master di .env, jangan commit)
2026-09-02 11:23:39 +07:00

56 lines
2.1 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_saat_transaksi_list" model="ir.ui.view">
<field name="name">saat.transaksi.list</field>
<field name="model">saat.transaksi</field>
<field name="arch" type="xml">
<tree string="Transaksi Jual/Beli" create="true">
<field name="tanggal"/>
<field name="tipe"/>
<field name="saham_id"/>
<field name="volume"/>
<field name="harga"/>
<field name="fee"/>
<field name="total"/>
</tree>
</field>
</record>
<record id="view_saat_transaksi_form" model="ir.ui.view">
<field name="name">saat.transaksi.form</field>
<field name="model">saat.transaksi</field>
<field name="arch" type="xml">
<form string="Transaksi">
<sheet>
<group>
<group>
<field name="tanggal"/>
<field name="tipe"/>
<field name="saham_id"/>
<field name="volume"/>
<field name="harga"/>
</group>
<group>
<field name="fee"/>
<field name="total" readonly="1"/>
<field name="catatan" colspan="2"/>
</group>
</group>
</sheet>
</form>
</field>
</record>
<record id="action_saat_transaksi" model="ir.actions.act_window">
<field name="name">Transaksi</field>
<field name="res_model">saat.transaksi</field>
<field name="view_mode">list,form</field>
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">Catat pembelian / penjualan saham di sini.</p>
</field>
</record>
<menuitem id="menu_saat_transaksi" name="Transaksi" parent="menu_saat_root"
action="action_saat_transaksi" sequence="20"/>
</odoo>