Request for Quotation (RFQ)
Modul: rfq. Dibuat dari Requisition, dikirim ke vendor yang diundang, dan tempat penawaran mereka dicatat, dibandingkan dan disetujui. Entri menu Bid Evaluation adalah kode modul kedua yang membuka layar penawaran dari modul yang sama ini.
Cara halaman ini diverifikasi
Ditulis dari master pada 2026-09-06 dan dibandingkan dengan big five di hari yang sama. Tidak ada halaman sebelumnya. Peta, bukan penelusuran baris per baris: 41 file, sekitar 660 pemanggilan database.
Posisinya
Requisition (spb_id) → RFQ → vendor diundang → penawaran → persetujuan penawaran → Purchase Order (rfq_id)Datanya
| Tabel | Berisi |
|---|---|
ts_rfq | header: rfq_no, rfq_date, rfq_title, rfq_narrative, project_id, spb_id, category_id, quotation_deadline, required_date, delivery_place, deliver_to_id, syarat, dua set persetujuan (submit_approval / status_approval untuk RFQ-nya sendiri dan bid_submit_approval / bid_status_approval / bid_approved_by / bid_evaluation_date untuk evaluasi), is_sent, best_currency_id, list_powosc_number dan list_powosc_status untuk PO yang dibuat darinya, return_email_commercial, return_email_technical, list_milestone |
ts_rfq_item | item yang diminta |
ts_rfq_bidder_invited | vendor mana yang diundang |
ts_rfq_bid | satu baris per vendor dan item: bid_reference, bid_currency, price_unit, total_price, bid_discount, delivery_date, dan daftar periksa teknis (bid_techically_accept, bid_testing, bid_doc, suku cadang, coating, kemasan, transportasi, pihak ketiga, toleransi, validitas, titik dan jadwal pengiriman, termin pembayaran, kontak) |
ts_rfq_doc, ts_file_reference | dokumen terlampir dan hasil |
ts_vendor, ts_vendor_contact | register vendor dari Vendor Management |
Layarnya
rfq.php dengan rfq_browse.htm: grid, form header, item, dokumen terlampir dan, per RFQ, daftar bidder (cmd=list_bidder, list_bidder_invited, check_status_bidder), grid detail penawaran (cmd=grid_biddetail), ekspor penawaran (cmd=exportBid, memakai $pdo), cetak penawaran, dokumen hasil (cmd=generate_doc), kurs (cmd=get_rates) dan dialog kirim ke vendor (cmd=send_attachment_by_email). Toolbar menambah tab penawaran: tambah / hapus / refresh bid order, lampiran penawaran.
Dua persetujuan
- RFQ-nya sendiri. Submit mem-POST routing dengan
'rout_group_mod' => 'procurement', dilacak disubmit_approvaldanstatus_approval. Saat disetujuirfq.class.phpmembuat PDF RFQ dan mengarsipkannya di Procurement Documents, interface yang sama seperti Requisition. - Evaluasi penawaran. Setelah penawaran dimasukkan,
act=bid_tabdan layar evaluasi menghasilkan perbandingan; submit-nya mem-POST routing kedua (rfq_handler_post.php, tempatrout_group_modkedua) yang dilacak dibid_submit_approval,bid_status_approval,bid_approved_bydanbid_evaluation_date.bid.class.phpmengimplementasikan interface yang sama untuk dokumen evaluasi.
Penawaran yang disetujui adalah yang dirujuk Purchase Order lewat rfq_id dan vendor_prop_quo_id.
Yang masih memakai helper legacy
Dihitung pada 2026-09-06: 376 pemanggilan iw_mysql_query() berbanding 283 pemakaian $pdo.
| Jalur | Keadaan di tempat helper legacy melempar exception |
|---|---|
rfq.php, rfq_handler_main_form.php, rfq_handler_bidder_list_form.php, rfq_add_order_item.php, bid_export.php, rfq_print_process_2.php, rfq_bid_print_2.php, rfq_preview_3.php | memakai $pdo, bekerja |
rfq_handler_form.php (74 legacy, 112 PDO) dan rfq_handler_post.php (64 legacy, 104 PDO) | campuran |
rfq.inc.php (14 legacy, 12 PDO) | helper campuran |
layar tabulasi, kirim lewat email (rfq_sendmail_*), upload multi-file, rfq_bid_print.php yang lama | mati |
rfq_handler_form_041214.php | backup bertanggal, tidak dirutekan |
Hal yang perlu diwaspadai
is_sentdiset oleh jalur email, yang mati di tempat helper legacy melempar exception. RFQ bisa disetujui dan tidak pernah ditandai terkirim.- Baris penawaran per vendor dan per item. Satu baris item yang hilang untuk satu vendor membuat total tabulasi melenceng; ekspor menunjukkan celahnya.
- Dua status persetujuan di satu header. Grid yang menampilkan "approved" bisa berarti RFQ-nya, bukan evaluasinya. Baca kedua pasang kolom.
Perbedaan antar instance
Diperiksa pada 2026-09-06.
| Instance | Perbedaan |
|---|---|
| JOTRE | Terpasang, dengan bid_evaluation. Dokumen yang disetujui masuk ke cron sinkronisasi Accurate. Jalur legacy bekerja di sana. |
| Jadestone, Medco, Timas | Tidak terpasang di database QA mereka. Kode identik dengan master kecuali tiga atau empat file. |
Terkait
- Requisition: dokumen sumbernya.
- Purchase Order: apa yang menjadi hasil penawaran yang disetujui.
- Users dan Privilege: vendor yang diundang menawar adalah pengguna luar di register vendor, bukan resource.