Apabila Anda pengguna Accurate 5 dan membutuhkan sebuah laporan penjualan yang menampilkan barang / jasa yang TIDAK mengalami penjualan dalam periode tertentu, secara khusus laporannya tidak ada. Tetapi jangan khawatir pada artikel ini akan dibahas langkah-langkah untuk dapat menyajikan laporan tsb.
Secara default Laporan Sales By Item, hanya akan menampilkan barang dan jasa yang terjadi penjualan dalam periode tertentu, sedangkan yang tidak terjadi penjualan maka tidak akan ditampilkan. Sebagai ilustrasi berikut ini contohnya :
Bagaimana untuk dapat menyajikan barang-barang yang tidak terjadi penjualan selama periode 1 April 2019 sd 30 April 2019, berikut ini langkah-langkahnya :
1.Buka Laporan Sales By Item, kemudian tentukan parameter tanggal atas barang / jasa yang tidak terjadi penjualan pada periode yang ditentukan, kemudian dari Selected Column and Filter centang pada bagian Item No dan Total Data kemudian pindahkan agar Item No ada pada bagian paling atas di atas Item Description dengan mengklik tanda panah merah ke atas, kemudian klik OK.
2. Setelah tampil, klik Designer masuk tab Data, klik IBX lalu tekan F11 di keyboard kemudian pilih SQL.
3. Edit SQL-nya :
-Pada bagian “SELECT” ubah “GET_ITEMHASSALES_ITEMNO.ITEMNO COLUMNVALUE_1” menjadi “i.ITEMNO COLUMNVALUE_1”
-Pada bagian “SELECT” ubah “GET_ITEMHASSALES_ITEMNO.ITEMDESCRIPTION COLUMNVALUE_2,” menjadi “i.ITEMDESCRIPTION COLUMNVALUE_2,”
-Ubah baris “FROM” menjadi “FROM ITEM i”
-Ubah baris setelah “FROM” (“GET_ITEMHASSALES(:PARAMDATE1, :PARAMDATE2) GET_ITEMHASSALE”) menjadi “LEFT OUTER JOIN GET_ITEMHASSALES(:PARAMDATE1, :PARAMDATE2) GET_ITEMHASSALE on i.ITEMNO=GET_ITEMHASSALE.ITEMNO”
-Ubah baris “INNER JOIN ITEM GET_ITEMHASSALES_ITEMNO ON GET_ITEMHASSALES.ITEMNO=GET_ITEMHASSALES_ITEMNO.ITEMNO” menjadi “LEFT OUTER JOIN ITEM GET_ITEMHASSALES_ITEMNO ON GET_ITEMHASSALES.ITEMNO=GET_ITEMHASSALES_ITEMNO.ITEMNO”
-Ubah baris “AND ((GET_SALESPERITEM.SALESAMOUNT<>0) OR (GET_SALESPERITEM.SALESQTY<>0))” menjadi “AND ((GET_SALESPERITEM.SALESAMOUNT is null) OR (GET_SALESPERITEM.SALESQTY is null)) AND (i.ISROOT=0 OR i.ISROOT IS NULL) and (i.RGT-i.LFT=1”
-Ubah baris “GET_SALESPERITEM.SALESAMOUNT DESC” menjadi “i.ITEMNO ASC”
4. Sehingga formatnya menjadi sbb :
SELECT
i.ITEMNO COLUMNVALUE_1,
GET_ITEMHASSALES_ITEMNO.ITEMNO PRIMARYKEYVALUE_1,
i.ITEMDESCRIPTION COLUMNVALUE_2,
GET_SALESPERITEM.SALESQTY COLUMNVALUE_3,
GET_SALESPERITEM.ITEMNO PRIMARYKEYVALUE_30001,
GET_ITEMHASSALES_ITEMNO.UNIT1 COLUMNVALUE_4,
GET_SALESPERITEM.SALESAMOUNT COLUMNVALUE_5,
GET_SALESPERITEM.COGSAMOUNT COLUMNVALUE_6,
GET_SALESPERITEM.GROSSPROFIT COLUMNVALUE_7,
DATA_COUNT.DATACOUNT COLUMNVALUE_8,
DATA_COUNT.DATACOUNT PRIMARYKEYVALUE_60001
FROM ITEM i
LEFT OUTER JOIN GET_ITEMHASSALES(:PARAMDATE1, :PARAMDATE2) GET_ITEMHASSALES on i.ITEMNO=GET_ITEMHASSALES.ITEMNO
LEFT OUTER JOIN ITEM GET_ITEMHASSALES_ITEMNO ON GET_ITEMHASSALES.ITEMNO=GET_ITEMHASSALES_ITEMNO.ITEMNO
LEFT OUTER JOIN GET_SALESPERITEM (GET_ITEMHASSALES.ITEMNO, :PARAMDATE1, :PARAMDATE2) ON GET_SALESPERITEM.ITEMNO=GET_ITEMHASSALES.ITEMNO
LEFT OUTER JOIN GET_ENHANCEDUNITITEM_RPT (GET_ITEMHASSALES.ITEMNO, GET_SALESPERITEM.SALESQTY) ON GET_ENHANCEDUNITITEM_RPT.ITEMNO=GET_ITEMHASSALES.ITEMNO
LEFT OUTER JOIN GET_REPORTCUSTOMFIELD ON 1=1
LEFT OUTER JOIN DATA_COUNT ON 1=1
WHERE 1=1
AND ((GET_SALESPERITEM.SALESAMOUNT is null) OR (GET_SALESPERITEM.SALESQTY is null)) and (i.ISROOT=0 OR i.ISROOT IS NULL) and (i.RGT-i.LFT=1)
ORDER BY
i.ITEMNO ASC
5. Selanjutnya klik tanda Centang, lalu tekan tombol Preview untuk menampilkan hasilnya.
Hasilnya :
(Available for V5)