Menampilkan Record Sales Invoice Yang Masing Outstanding Pada Saat Mencetak Sales Invoice

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 ini langkah-langkah untuk menjalankannya di ACCURATE.

  • Dari menu Setup | Form Template,┬ádouble klik nama rancangan sales invoice yang akan ditambahkan variable invoice yang masih outstanding.
  • Selanjutnya klik Design as FRF, dan klik Page2, lalu pada IBX ke-2 tekan F11, dan dibagian Object Inspector, klik SQL.
  • Kemudian akan tampil SQL Editor, edit SQL-nya dengan cara menambahkan pada bagian SELECT yaitu “x.CountOutstanding
  • Sebelum baris “Where a.ARInvoiceID=:ARINVOICEID” tambahkan baris

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

  • Setelah selesai klik tanda Centang atau OK, dan lanjutkan ke Page1, lalu klik menu File | Data Dictionary.
  • Pada Data Dictionary buat New Variable pada folder Invoice┬ádengan nama “CountOutstanding” yang valuenya didapat dengan memilih “CountOutstanding” dari “DialogForm.qrySIARInv“.
  • Selanjutnya klik OK, dan klik Insert Rectangle Object, dan pada bagian Text Editor, klik Variable dan pada folder Invoice silahkan tunjuk pada variable CountOutstanding.
  • Klik OK,dan keluar dari rancangan dengan save changes pilih Yes.
  • 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

(Available for v4)