diff options
| author | AndriFP <113114423+andrifp@users.noreply.github.com> | 2025-09-12 17:34:14 +0700 |
|---|---|---|
| committer | AndriFP <113114423+andrifp@users.noreply.github.com> | 2025-09-12 17:34:14 +0700 |
| commit | f2b1b0ec605b552c2bf225de46094cd4707197ee (patch) | |
| tree | 15e7ddbece53ff56d07ccbcc795107a25c44cfb4 | |
| parent | d04150023a7145468858765209e8d6b3724b0fec (diff) | |
(andri) add penomoran di tabel dan melengkapi teks surat
| -rw-r--r-- | indoteknik_custom/models/letter_receivable.py | 15 | ||||
| -rw-r--r-- | indoteknik_custom/report/report_surat_piutang.xml | 112 |
2 files changed, 96 insertions, 31 deletions
diff --git a/indoteknik_custom/models/letter_receivable.py b/indoteknik_custom/models/letter_receivable.py index a414eec3..3823a57a 100644 --- a/indoteknik_custom/models/letter_receivable.py +++ b/indoteknik_custom/models/letter_receivable.py @@ -347,3 +347,18 @@ class SuratPiutangLine(models.Model): date_terima_tukar_faktur = fields.Date(string='Terima Faktur') invoice_user_id = fields.Many2one('res.users', string='Salesperson') sale_id = fields.Many2one('sale.order', string='Sale Order') + + sort = fields.Integer(string='No Urut', compute='_compute_sort', store=False) + + @api.depends('surat_id.line_ids.selected') + def _compute_sort(self): + for line in self: + if line.surat_id: + # Ambil semua line yang selected + selected_lines = line.surat_id.line_ids.filtered(lambda l: l.selected) + try: + line.sort = selected_lines.ids.index(line.id) + 1 + except ValueError: + line.sort = 0 + else: + line.sort = 0 diff --git a/indoteknik_custom/report/report_surat_piutang.xml b/indoteknik_custom/report/report_surat_piutang.xml index 07e208de..d9eaa9ee 100644 --- a/indoteknik_custom/report/report_surat_piutang.xml +++ b/indoteknik_custom/report/report_surat_piutang.xml @@ -90,16 +90,25 @@ <!-- Isi Surat --> <p>Dengan Hormat,</p> - <p>Yang bertanda tangan di bawah ini menyampaikan sebagai berikut:</p> - - <p class="text-justify" style="font-weight: normal !important;"> - Namun, bersama surat ini kami ingin mengingatkan bahwa hingga tanggal surat ini dibuat, - masih terdapat tagihan yang belum diselesaikan oleh pihak - <t t-esc="doc.partner_id.name or '-'"/> - periode bulan - <t t-esc="doc.periode_invoices_terpilih or '-'"/>, - berdasarkan data korespondensi dan laporan keuangan, - <t t-esc="doc.partner_id.name or '-'"/> (“Saudara”) masih mempunyai tagihan yang telah jatuh tempo sejumlah + <p>Yang bertanda tangan di bawah ini:</p> + + <p class="text-justify"> + PT. Indoteknik Dotcom Gemilang, suatu perseroan terbatas yang didirikan berdasarkan hukum Negara Republik + Indonesia, yang beralamat di Jalan Bandengan Utara 85A No. 8-9, RT.003/RW.016, Penjaringan, Penjaringan, Jakarta + Utara, DKI Jakarta 14440, Republik Indonesia, dalam hal ini diwakili secara sah oleh Akbar Prabawa selaku General + Manager, dengan ini menyampaikan sebagai berikut: + </p> + + <p class="text-justify"> + Kami mengucapkan terima kasih atas kerja sama yang telah terjalin dengan baik selama ini antara perusahaan kami + dengan <t t-esc="doc.partner_id.name or '-'"/>. + </p> + + <p class="text-justify"> + Namun, bersama surat ini kami ingin mengingatkan bahwa hingga tanggal surat ini dibuat, masih terdapat tagihan yang + belum diselesaikan oleh pihak <t t-esc="doc.partner_id.name or '-'"/> kepada kami periode bulan + <t t-esc="doc.periode_invoices_terpilih or '-'"/>, bahwa berdasarkan data korespondensi dan laporan keuangan yang kami kelola, + <t t-esc="doc.partner_id.name or '-'"/> (“Saudara”) masih mempunyai tagihan yang telah jatuh tempo dan belum dibayarkan sejumlah <t t-esc="doc.grand_total_text or '-'"/> (“Tagihan”). </p> @@ -111,33 +120,65 @@ <thead style="background:#f5f5f5;"> <tr> - <th style="border:1px solid #000; padding:4px; width:17%;">Invoice Number</th> + <th style="border:1px solid #000; padding:4px; width:5%;" class="text-center">No.</th> + <th style="border:1px solid #000; padding:4px; width:15%;">Invoice Number</th> <th style="border:1px solid #000; padding:4px; width:10%;">Invoice Date</th> <th style="border:1px solid #000; padding:4px; width:10%;">Due Date</th> <th style="border:1px solid #000; padding:4px; width:6%;" class="text-center">Day to Due</th> - <th style="border:1px solid #000; padding:4px; width:17%;">Reference</th> + <th style="border:1px solid #000; padding:4px; width:16%;">Reference</th> <th style="border:1px solid #000; padding:4px; width:17%;" class="text-right">Amount Due</th> <th style="border:1px solid #000; padding:4px; width:12%;">Payment Terms</th> </tr> </thead> <tbody> - <t t-foreach="doc.line_ids.filtered(lambda l: l.selected)" t-as="line"> - <tr> - <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"><t t-esc="line.invoice_number or '-'"/></td> - <td style="border:1px solid #000; padding:4px;"><t t-esc="line.invoice_date and line.invoice_date.strftime('%d-%m-%Y') or '-'"/></td> - <td style="border:1px solid #000; padding:4px;"><t t-esc="line.invoice_date_due and line.invoice_date_due.strftime('%d-%m-%Y') or '-'"/></td> - <td style="border:1px solid #000; padding:4px;" class="text-center"><t t-esc="line.new_invoice_day_to_due or '-'"/></td> - <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"><t t-esc="line.ref or '-'"/></td> - <td style="border:1px solid #000; padding:4px;" class="text-right">Rp. <t t-esc="'{:,.0f}'.format(line.amount_residual).replace(',', '.')"/></td> - <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"><t t-esc="line.payment_term_id.name or '-'"/></td> - </tr> - </t> + <tr t-foreach="doc.line_ids.filtered(lambda l: l.selected)" t-as="line"> + + <!-- Nomor Urut --> + <td style="border:1px solid #000; padding:4px; text-align:center;"> + <t t-esc="line.sort or '-'"/> + </td> + + <!-- Invoice Number --> + <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"> + <t t-esc="line.invoice_number or '-'"/> + </td> + + <!-- Invoice Date --> + <td style="border:1px solid #000; padding:4px;"> + <t t-esc="line.invoice_date and line.invoice_date.strftime('%d-%m-%Y') or '-'"/> + </td> + + <!-- Due Date --> + <td style="border:1px solid #000; padding:4px;"> + <t t-esc="line.invoice_date_due and line.invoice_date_due.strftime('%d-%m-%Y') or '-'"/> + </td> + + <!-- Day to Due --> + <td style="border:1px solid #000; padding:4px; text-align:center;"> + <t t-esc="line.new_invoice_day_to_due or '-'"/> + </td> + + <!-- Reference --> + <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"> + <t t-esc="line.ref or '-'"/> + </td> + + <!-- Amount Due --> + <td style="border:1px solid #000; padding:4px; text-align:right;"> + Rp. <t t-esc="'{:,.0f}'.format(line.amount_residual).replace(',', '.')"/> + </td> + + <!-- Payment Terms --> + <td style="border:1px solid #000; padding:4px; word-wrap: break-word;"> + <t t-esc="line.payment_term_id.name or '-'"/> + </td> + </tr> </tbody> <tfoot> <tr> - <td colspan="4" class="text-right" style="border:1px solid #000; padding:4px;"> + <td colspan="5" class="text-right" style="border:1px solid #000; padding:4px;"> <strong>GRAND TOTAL</strong> </td> <td colspan="3" class="text-right" style="border:1px solid #000; padding:4px; word-wrap: break-word; white-space: normal;"> @@ -150,16 +191,25 @@ <!-- Penutup --> - <p class="text-justify">Kami belum menerima konfirmasi pelunasan ataupun pembayaran sebagian dari total kewajiban tersebut. Kami sangat terbuka untuk berdiskusi serta mencari solusi terbaik agar kerja sama tetap berjalan baik.</p> - - <p class="text-justify">Oleh karena itu, kami mohon perhatian dan itikad baik dari pihak - <t t-esc="doc.partner_id.name or '-'"/> - untuk segera melakukan pelunasan atau memberikan informasi terkait rencana pembayaran paling lambat dalam waktu 7 (tujuh) hari kerja sejak surat ini diterima.</p> + <p class="text-justify"> + Kami belum menerima konfirmasi pelunasan ataupun pembayaran sebagian dari total kewajiban tersebut dan kami + memahami bahwa setiap perusahaan bisa saja menghadapi kendala operasional maupun keuangan, dan kami sangat + terbuka untuk berdiskusi serta mencari solusi terbaik bersama agar kerja sama kita tetap berjalan baik ke depannya. + </p> - <p class="text-justify">Jika dalam waktu yang telah ditentukan belum ada penyelesaian atau tanggapan, kami akan mempertimbangkan untuk melanjutkan proses sesuai ketentuan yang berlaku.</p> + <p class="text-justify"> + Oleh karena itu, kami mohon perhatian dan itikad baik dari pihak <t t-esc="doc.partner_id.name or '-'"/> + untuk segera melakukan pelunasan atau memberikan informasi terkait rencana pembayaran paling lambat dalam waktu 7 (tujuh) hari kerja sejak surat ini diterima. + </p> - <p class="text-justify">Demikian kami sampaikan. Atas perhatian dan kerja samanya, kami ucapkan terima kasih.</p> + <p class="text-justify"> + Jika dalam waktu yang telah ditentukan belum ada penyelesaian atau tanggapan, kami akan mempertimbangkan untuk + melanjutkan proses sesuai ketentuan yang berlaku. + </p> + <p class="text-justify"> + Demikian kami sampaikan. Atas perhatian dan kerja samanya, kami ucapkan terima kasih. + </p> <p>Hormat kami,</p> <!-- Tanda Tangan --> |
