Report Documents Library
Kode report: documents. Membuka modul documents dengan cmd=print_costume, form kustomisasi, yang tombol Preview-nya mengirim print=print_all ke modul yang sama. Tidak ada handler terpisah: report ini adalah query grid library yang dicetak sebagai tabel, dirender documents_print_all.htm, dengan satu header grup per folder root. Grid dan report selalu sepakat, karena menjalankan SQL yang sama.
Cara halaman ini diverifikasi
Ditelusuri di master pada 2026-09-06; jalur cetaknya sama di big five dan KTP kecuali kolom yang ditambahkan tiap fork ke grid. Screenshot dari inact-ktp.eris.place, project SNS.
Form kustomisasi

| Kontrol | Field | Efek |
|---|---|---|
| Project | project | |
| Filter By | field[], operator[], what[] | kolom grid lewat alias SQL-nya (d.doc_number, d.issued_code, d.doc_res_id, d.library_code2, ...); operator contains, start with, not contain, equals, not equal, greater than, less than |
| All / By Date | print_type | all mencetak "As Of hari ini"; perday mencetak "As of <dari> to <sampai>" dan mengambil rentangnya dari filter tanggal |
| Show All Revisions | print_all_revision | satu baris per baris library, bukan satu per dokumen |
| Tanpa comment sheet | print_without_commentsheet | menambah doc_rev NOT LIKE '%_C' |
| Hanya vendor / subcontractor | print_only_vendor_subcontractor, print_vendor_subc_opt | membatasi ke folder yang library_code-nya diawali 13 (vendor), 14 (subcontractor) atau keduanya |
| Sort | sortby[], sorttype[] | Preview mengirim doc_send_received desc secara default |
Catatan di bawah form adalah aturan yang penting: secara default report menampilkan revisi terakhir dan revisi ber-comment terakhir tiap dokumen.
Query-nya
Query grid di documents.php: ts_map_documents_library map di-join ke ts_doc_library dan ts_documents, untuk project, dengan map.stat_id = 0 (tidak dihapus dari folder), daftar akses folder group user (admin melewatinya), baris filter, dan:
- default: satu baris per
doc_number, yang pertama dalam urutandoc_send_received DESC, doc_rev DESC. MySQL melakukannya denganGROUP BY d.doc_no, doc_numberatas subquery terurut; SQL Server dan PostgreSQL denganROW_NUMBER() OVER (PARTITION BY d.doc_number ORDER BY d.doc_due_date DESC, d.doc_send_received DESC ...). Seperti di MDR Report Summary, kedua urutan itu tidak sama. - Show All Revisions:
GROUP BY d.doc_no, semua baris.
Baris lalu dilewati urut dokumen. Loop cetak menerapkan satu aturan lagi saat Show All Revisions mati: setelah baris pertama sebuah dokumen, baris berikutnya dari dokumen yang sama dicetak hanya kalau revisinya diawali karakter yang sama dengan yang terakhir dicetak. Begitulah B dan B_C (comment sheet) dicetak bersama sementara A dibuang. Baris dikelompokkan di bawah header per folder root (getRootParent(library_code), "None" kalau dokumen tidak punya folder).
Kolomnya


Dari documents_print_all.htm di master: ID (doc_no), Library (library_desc), Document Number, Rev, Title, Result Code (doc_res_id), Issued Status (issued_code), Submission Date (doc_send_received), Issued Date (doc_issued_date), Due Date, Originator (doc_originator_person_id), Lead Reviewer, Notes, dan Expiration Date kalau enable_doclib_retention menyala. Template KTP memberi label tanggal "Received Date" dan tidak punya kolom Lead Reviewer, seperti terlihat di screenshot. Header membawa perusahaan dari inact_report_title_company dan "Documents: All, As Of <tanggal>" atau rentang By Date.
Tombol Print di grid itu sendiri (grid=1, documents_print_grid.inc.php) adalah hal lain: ia mencetak XML grid saat ini dengan kolom yang dicentang user, tanpa grouping, tanpa aturan revisi.
Masalah yang diketahui
- Aturan revisi berdasarkan karakter pertama. Revisi
1dan10dicetak bersama;BdanB1juga. Dokumen dengan revisiA,BmencetakBsaja, yang memang dimaksud, tetapiB,A_CmencetakBsaja dan membuang comment sheet revisi yang lebih lama. - Folder vendor dan subcontractor dikenali dari awalan kode
13dan14, konvensi dari project-project pertama yang tidak diikuti semua instance. - By Date membaca rentangnya dari baris filter tanggal; tanpa baris tanggal header mencetak rentang kosong.
Perbedaan antar instance
Diperiksa 2026-09-06.
| Instance | Perbedaan |
|---|---|
| Semua big five, plus Timas dan KTP | Jalur cetaknya sama (documents_print_grid.inc.php Prima Energy identik byte per byte dengan master); perbedaannya ada di get_doc_column(), daftar kolom grid yang diperluas tiap fork (system_code, well_site_code, function_code, doc_classification, ...). Kolom report ditetapkan template dan tidak mengikuti grid. |
Terkait
- Document Library: modulnya.
- Report DMS.