diff options
| author | IT Fixcomart <it@fixcomart.co.id> | 2025-09-17 11:27:47 +0000 |
|---|---|---|
| committer | IT Fixcomart <it@fixcomart.co.id> | 2025-09-17 11:27:47 +0000 |
| commit | 1fdeef8073eb35b407bb0b3cdb26bf635b3b1629 (patch) | |
| tree | 9c423f561f8929bdeee06ed707d2e08da9c3f246 /indoteknik_custom/views/letter_receivable.xml | |
| parent | ef9daab07049de822b7137b4a9a5d3f1fba53992 (diff) | |
| parent | 886c28f6ebf20dcca5252341a8f6b61cd4d89d71 (diff) | |
Merged in form-sp (pull request #423)
Form sp
Diffstat (limited to 'indoteknik_custom/views/letter_receivable.xml')
| -rw-r--r-- | indoteknik_custom/views/letter_receivable.xml | 190 |
1 files changed, 190 insertions, 0 deletions
diff --git a/indoteknik_custom/views/letter_receivable.xml b/indoteknik_custom/views/letter_receivable.xml new file mode 100644 index 00000000..98ea7768 --- /dev/null +++ b/indoteknik_custom/views/letter_receivable.xml @@ -0,0 +1,190 @@ +<odoo> + <!-- Tree View --> + <record id="view_surat_piutang_tree" model="ir.ui.view"> + <field name="name">surat.piutang.tree</field> + <field name="model">surat.piutang</field> + <field name="arch" type="xml"> + <tree string="Surat Piutang"> + <field name="name"/> + <field name="partner_id"/> + <field name="perihal"/> + <field name="state" widget="badge" + decoration-danger="state == 'draft'" + decoration-warning="state in ('waiting_approval_sales', 'waiting_approval_pimpinan')" + decoration-success="state == 'sent'"/> + <field name="send_date"/> + <!-- <field name="line_ids" widget="one2many_list"/> --> + </tree> + </field> + </record> + + <!-- Form View --> + <record id="view_surat_piutang_form" model="ir.ui.view"> + <field name="name">surat.piutang.form</field> + <field name="model">surat.piutang</field> + <field name="arch" type="xml"> + <form string="Surat Piutang"> + <header> + <field name="state" widget="statusbar" statusbar_visible="draft,waiting_approval_sales,waiting_approval_pimpinan,sent"/> + <button name="action_approve" + type="object" + string="Approve" + class="btn-primary" + attrs="{'invisible':[('state', '=', 'sent')]}"/> + <button name="action_create_next_letter" + string="Buat Surat Lanjutan" + type="object" + class="btn-primary" + attrs="{'invisible': ['|', ('state', '!=', 'sent'), ('perihal', '=', 'sp3')]}"/> + <!-- <button name="action_send_letter" type="object" string="Email Send" class="btn-primary"/> --> + </header> + <div class="alert alert-info" + role="alert" + style="height: 40px; margin-bottom:0px;" + attrs="{'invisible':[('state', '!=', 'draft')]}"> + Selamat Datang di form Pengajuan Surat Piutang, Pastikan data sudah benar sebelum mengajukan approval. + </div> + <div class="alert alert-info" + role="alert" + style="height: 40px; margin-bottom:0px;" + attrs="{'invisible': ['|', ('perihal', '!=', 'penagihan'), ('state', '!=', 'waiting_approval_pimpinan')]}"> + <strong>Info!</strong> Surat resmi penagihan telah diajukan & surat otomatis terkirim bila telah di approve. + </div> + <div class="alert alert-info" + role="alert" + style="height: 40px; margin-bottom:0px;" + attrs="{'invisible':[('state', '!=', 'waiting_approval_sales')]}"> + <strong>Info!</strong> Surat peringatan piutang ini sedang menunggu persetujuan dari <b>Sales Manager</b>. + Silakan hubungi Sales Manager terkait untuk melakukan approval agar proses dapat dilanjutkan ke tahap berikutnya. + </div> + <div class="alert alert-info" + role="alert" + style="margin-bottom:0px;" + attrs="{'invisible': ['|', ('perihal', '=', 'penagihan'), ('state', '!=', 'waiting_approval_pimpinan')]}"> + <strong>Info!</strong> Surat peringatan piutang ini sedang menunggu persetujuan dari <b>Pimpinan</b>. + Silakan hubungi Pimpinan terkait untuk melakukan approval agar surat dapat terkirim otomatis ke customer. + </div> + <div class="alert alert-success" + role="alert" + style="height: 40px; margin-bottom:0px;" + attrs="{'invisible': ['|', ('perihal', '!=', 'sp3'), ('state', 'not in', ['draft', 'sent'])]}"> + Surat Piutang berhasil terkirim dan silahkan klik tombol 'Buat Surat Lanjutan' untuk membuat surat piutang lanjutan. + </div> + <sheet> + <div class="oe_title"> + <h1> + <field name="name" readonly="1"/> + </h1> + </div> + <group colspan="2"> + <group> + <field name="tujuan_nama" attrs="{'readonly':[('state','=','sent')]}"/> + <field name="tujuan_email" attrs="{'readonly':[('state','=','sent')]}"/> + <field name="perihal" attrs="{'readonly':[('state','=','sent')]}"/> + <field name="partner_id" options="{'no_create': True}" attrs="{'readonly':[('state','=','sent')]}"/> + </group> + <group> + <field name="payment_difficulty"/> + <field name="sales_person_id"/> + <field name="send_date" readonly="1"/> + </group> + </group> + <!-- <group> + <button name="action_refresh_lines" + string="Refresh Invoices" + type="object" + class="btn-primary" + help="Refresh Invoices agar data tetap update"/> + </group> --> + <notebook> + <page string="Invoice Lines"> + <div class="alert alert-info" + role="alert" + style="height: 40px; margin-bottom:0px;"> + <strong>Info!</strong> Hanya invoice yang dipilih (tercentang) akan disertakan dalam dokumen surat piutang. + </div> + <!-- Flex container --> + <div style="display:flex; justify-content:space-between; align-items:center;"> + <div> + <div> + <strong>Grand Total Invoice Terpilih:<br/>Rp. + <field name="grand_total"/> ( + <field name="grand_total_text"/> + ) + </strong> + </div> + <div> + <strong>Periode Invoices Terpilih: + <field name="periode_invoices_terpilih"/> + </strong> + </div> + </div> + <div> + <button name="action_refresh_lines" + string="Refresh Invoices" + type="object" + class="btn-primary" + style="margin-left:10px;" + help="Refresh Invoices agar data tetap update"/> + </div> + </div> + <field name="line_ids" attrs="{'readonly': [('state', '=', 'sent')]}"> + <tree editable="bottom" create="false" delete="false"> + <field name="selected"/> + <field name="invoice_id" readonly="1" optional="hide" force_save="1"/> + <field name="invoice_number" readonly="1" force_save="1"/> + <field name="ref" readonly="1" force_save="1"/> + <field name="invoice_date" readonly="1" force_save="1"/> + <field name="invoice_date_due" readonly="1" force_save="1"/> + <field name="invoice_day_to_due" readonly="1" force_save="1"/> + <field name="new_invoice_day_to_due" readonly="1" force_save="1"/> + <field name="amount_residual" readonly="1" force_save="1" sum="Grand Total"/> + <field name="currency_id" readonly="1" optional="hide" force_save="1"/> + <field name="payment_term_id" readonly="1" force_save="1"/> + <field name="date_kirim_tukar_faktur" readonly="1" optional="hide" force_save="1"/> + <field name="date_terima_tukar_faktur" readonly="1" optional="hide" force_save="1"/> + <field name="invoice_user_id" readonly="1" optional="hide" force_save="1"/> + <field name="sale_id" readonly="1" optional="hide" force_save="1"/> + </tree> + </field> + </page> + </notebook> + <div style="font-size:13px; color:#444; line-height:1.5;"> + Surat piutang akan diterbitkan berdasarkan lama keterlambatan pembayaran.<br/> + Pilih invoice yang sesuai dengan kriteria berikut: + <ul style="margin:4px 0 0 18px;"> + <li>Keterlambatan ≥ 45 hari → <em>Surat Resmi Penagihan (tanpa ttd digital & cap stempel pimpinan)</em></li> + <li>Keterlambatan ≥ 60 hari → <em>Surat Peringatan Piutang ke-1 </em></li> + <li>Keterlambatan ≥ 70 hari → <em>Surat Peringatan Piutang ke-2 </em></li> + <li>Keterlambatan ≥ 80 hari → <em>Surat Peringatan Piutang ke-3 </em></li> + </ul> + </div> + </sheet> + <div class="oe_chatter"> + <field name="message_follower_ids" widget="mail_followers"/> + <field name="message_ids" widget="mail_thread"/> + </div> + </form> + </field> + </record> + + <!-- Menu --> + <record id="menu_surat_piutang_root" model="ir.ui.menu"> + <field name="name">Surat Piutang</field> + <field name="parent_id" ref="account.menu_finance"/> + <field name="sequence" eval="10"/> + </record> + + <record id="action_surat_piutang" model="ir.actions.act_window"> + <field name="name">Surat Piutang</field> + <field name="res_model">surat.piutang</field> + <field name="view_mode">tree,form</field> + <field name="view_id" ref="view_surat_piutang_tree"/> + </record> + + <menuitem id="menu_surat_piutang" + name="Surat Piutang" + parent="account.menu_finance_receivables" + action="action_surat_piutang" + sequence="1"/> +</odoo> |
