Menampilkan record Sales Invoice yang masing Outstanding pada saat mencetak Sales Invoice dan bagaimana jika Anda ingin setiap kali mencetak faktur penjualan dari suatu customer, di faktur penjualan yang dicetak tsb dapat menampilkan, berapa record invoice yang belum dibayar atau masih outstanding.

Berikut langkah-langkah menampilkan record Sales Invoice yang masing Outstanding :

1. Dari menu Setup | Form Template, double klik nama rancangan sales invoice yang akan ditambahkan variable invoice yang masih outstanding.

2. Selanjutnya klik Design as FRF, dan klik Page2, lalu pada IBX ke-2 tekan F11, dan dibagian Object Inspector, klik SQL.

3. Kemudian akan tampil SQL Editor, edit SQL-nya dengan cara menambahkan pada bagian SELECT yaitu “x.CountOutstanding“

4. Sebelum baris “Where a.ARInvoiceID=:ARINVOICEID” tambahkan baris

5. Left Outer Join (select count(arinvoiceid) CountOutstanding, customerid from arinv where ISOUTSTANDING=1 GROUP BY customerid) x on x.CustomerID=a.CustomerID

Sehingga keseluruhannya menjadi :

select a.*,

x1.TaxName TaxName1, x1.Rate Tax1Rate, x2.TaxName TaxName2,

c.ADDRESSLINE1, c.ADDRESSLINE2, c.CITY, c.CONTACT, c.COUNTRY, c.DEFAULTINVDESCRIPTION,

c.NAME, c.PERSONNO, c.PHONE, c.STATEPROV, c.ZIPCODE, c.TAX1EXEMPTIONNO, c.PersonMessage,

c.Fax, c.Email, c.WebPage, c.TaxAddress1, c.TaxAddress2, c.TAX2EXEMPTIONNO,

t.TERMNAME, t.NetDays, t.TERMMEMO, cu.CURRENCYNAME, s.FIRSTNAME, s.LASTNAME, v.NAME SHIPNAME,

w.Name WarehouseName, br.ExchangeRate BankRate

,c.CHRRESERVED1,c.CHRRESERVED2,c.CHRRESERVED3,c.CHRRESERVED4,

c.CHRRESERVED5,c.CHRRESERVED6,c.CHRRESERVED7,c.CHRRESERVED8,

c.CHRRESERVED9,c.CHRRESERVED10,c.CURRRESERVED1,c.CURRRESERVED2,

c.CURRRESERVED3,c.DATERESERVED1,c.DATERESERVED2, sn.SNList

,x.CountOutstanding

from ARINV a

Inner join PersonData c on a.CustomerID=c.ID

Inner Join Currency cu on c.CurrencyID=cu.CurrencyID

Left Outer Join TermOPmt t on t.termID=a.TermsID

Left Outer Join Salesman s on a.SalesmanID=s.SalesmanID

Left Outer Join Shipment v on a.ShipVia=v.ShipID

Left Outer Join Tax x1 ON x1.TaxID=a.Tax1ID

Left Outer Join Tax x2 ON x2.TaxID=a.Tax2ID

Left Outer Join WareHS w ON w.WarehouseID=a.WarehouseID

Left Outer Join Currency br on br.CurrencyID=(select CurrencyID from GLAccnt where GLAccount=a.DepositTo)

Left Outer Join View_SN_ByTrans(a.ARInvoiceID, ‘ARINV’) sn ON sn.ID=a.ARInvoiceID

Left Outer Join (select count(arinvoiceid) CountOutstanding, customerid from arinv where ISOUTSTANDING=1 GROUP BY customerid) x on x.CustomerID=a.CustomerID

Where a.ARInvoiceID=:ARINVOICEID

 

6. Setelah selesai klik tanda Centang atau OK, dan lanjutkan ke Page1, lalu klik menu File | Data Dictionary.

7. Pada Data Dictionary buat New Variable pada folder Invoice dengan nama “CountOutstanding” yang valuenya didapat dengan memilih “CountOutstanding” dari “DialogForm.qrySIARInv“.

8. Selanjutnya klik OK, dan klik Insert Rectangle Object, dan pada bagian Text Editor, klik Variable dan pada folder Invoice silahkan tunjuk pada variable CountOutstanding.

9. Klik OK,dan keluar dari rancangan dengan save changes pilih Yes.

10. Preview transaksi sales invoicenya kembali.

 

CATATAN :

Saat preview sales invoice yang baru dibuat maka, sales invoice tersebut juga dihitung sebagai invoice yang masih outstanding, jadi jika ingin menampilkan jumlah sales invoice yang masih outstanding SELAIN invoice yang sedang di preview, maka sebelum baris “Where a.ARInvoiceID=:ARINVOICEID” tambahkan script :

Left Outer Join (select count(arinvoiceid) CountOutstanding, customerid from arinv where ISOUTSTANDING=1 and arinvoiceid<>:ARInvoiceID GROUP BY customerid) x on x.CustomerID=a.CustomerID