Cetak PDF penawaran: penamaan file, orientasi, dan tata letak halaman
Cetak tabel penawaran ke PDF di aplikasi, dengan nama file, orientasi, pemadatan halaman, dan halaman ringkasan sesuai harapan Anda.
Tindakan Print Quotation menghasilkan PDF sepenuhnya di dalam aplikasi (tanpa tugas server) dan mengunduhnya sebagai design_quotation_DD-MM-YYYY.pdf, dengan tanggal adalah hari ekspor — jadi dua ekspor pada hari yang sama menghasilkan nama file yang sama dan browser akan menambahkan akhiran pada duplikat. ID penawaran di tabel cetak adalah placeholder di layar dan hanya diisi saat Anda mengunduh/mencetak, sehingga PDF memuat ID yang dihasilkan. Orientasi halaman mengikuti preferensi cetak penawaran (portrait menghasilkan 210x297, landscape 297x210), dan halaman ringkasan disertakan saat preferensi halaman ringkasan aktif. Dua ekspor serupa sering tertukar dengannya: ekspor 'detailed snapshot' mengunduh CSV bernama design_quotation_detailed.csv (bukan PDF), dan varian penawaran harga pokok mencetak ulang tabel menggunakan harga pokok — varian ini sementara mengubah penawaran ke mode harga pokok dan menonaktifkan pajak terpisah saat mencetak, lalu memulihkan pengaturannya. Unduhan penawaran harga dikecualikan dari pembatasan persetujuan/kunci, tetapi tetap melewati pemeriksaan saluran penjualan aktif dan pelanggaran/masalah, jadi 'I clicked print and nothing happened' biasanya berarti salah satu dari dua gerbang itu memblokirnya dengan toast. Panel samping yang terbuka disembunyikan otomatis sebelum mencetak; itu wajar, bukan gangguan.
'Print PDF' pada toolbar penawaran merender tabel saat ini ke 'design_quotation_<date>.pdf'. Orientasi berasal dari preferensi 'Print PDF Orientation': landscape (297x210 mm, default) atau portrait (210x297). Halaman dipadatkan berdasarkan akumulasi tinggi baris; header logo dan sub-header proyek hanya muncul di halaman pertama, sedangkan nama kolom diulang di halaman yang masih berisi baris item. Baris footer setiap bagian (harga/diskon/pajak/total) dipatok ke baris item terakhir bagian tersebut — mesin akan memindahkan seluruh grup ke halaman berikutnya daripada membiarkan total terpisah, dan jika grup yang dipatok lebih tinggi dari satu halaman, baris-baris itu dikompresi secara proporsional agar muat, yang dapat membuat teks footer tampak sempit pada bagian yang sangat panjang. Satu baris yang lebih tinggi dari satu halaman dipotong sesuai tinggi halaman. Jika preferensi 'Summary Page' diaktifkan, ringkasan ditambahkan setelah tabel; ringkasan dapat lebih dari satu halaman, dan penomoran halaman tabel berlanjut setelahnya. Nomor halaman dicetak di kanan bawah. PDF dihasilkan di sisi klien dan diunduh langsung (tanpa antrean), jadi keluhan 'PDF stuck' biasanya adalah pemblokiran unduhan browser, sedangkan XLSX melalui langkah pembuatan. Rendering yang sama berjalan di server kami untuk ekspor otomatis, sehingga PDF backend sama persis dengan cetak di aplikasi.