Paytrans tablosundaki kayıtlar üzerinde program tarafından yaptığımız borç kapatma işlemini LObjects ile yapmamıza yarar. Kapatılacak borç miktarlarının tutması önemli değildir. Sadece girilen referansların birlerini kapatacak cinsten olması gerekir.
Yani bir referans borç tipinde iken parametrelerde geçilen ikinci referans alacak tipinde olmalıdır. Kapanan miktar kadar kapatma işlemi yapılır, eğer açıkta kalan bir miktar daha varsa bunlar için ikinci fişler açılmaktadır.
Parametrelerde geçilen referansların aynı cari hesaba ait olması gerekmektedir. Kapan borçlar programdan geri alınabilmektedir. Programdan borç kapatmayla bir farkı yoktur. Fonksiyon geriye boolean tipinde bir değer döndürür.
Bu değer işlemin başarılı bir şekilde yapılıp yapılamadığını bildirir. TRUE dönerse sorunsuz bir şekilde tamamlanmış, FALSE dönerse işlem başarılı bir şekilde sonuçlandırılamamıştır. İşlemin çıkardığı hata mesajlarına GetLastError ve GetLastErrorString methodlarından ulaşılabilir.
Bu methodların döndüreceği hata numaraları ve anlamları hakkındaki açıklayıcı bilgileri Unity Objects Hataları bölümünde bulabilirsiniz.
Parametre | Type | Açıklama |
---|---|---|
pTrFRecRef | int | Kapanacak olan Paytrans tablosundaki bir hareket. (Borç veya alacak) |
pTrSRecRef | int | Kapanacak olan Paytrans tablosundaki bir hareket. (Borç veya alacak) |
DebtAmount | Double | Fişler arasında kapatılacak fiyat miktarı |
DebtRate | Double | Kapanan fişin döviz kuru |
PayRate | Double | Kapatan fişin döviz kuru |
Return Type | Açıklama | |
Boolean | İşlemi başarıyla gerçekleştirirse TRUE, diğer durumlarda FALSE döner. |
if UnityApp.DebtClose(18 , 4,1000,2.505,2.36)then
MsgBox ("Borç Kapatma İşlemi Başarıyla Gerçekleştirildi.")
else
MsgBox ("Error : (" + CStr(UnityApp.GetLastError) ") + - "+ UnityApp.GetLastErrorString)
PayTrans tablosundaki 18 ve 4 Logical Reference numaralarına sahip olan kayıtları kapatır.
Eğer bir sorun çıkarsa hata yakalama rutiniyle çıkan hataları yakalar.
int creditRef = 18;
int debitRef = 4;
bool ok = Global.UnityApp.DebtClose(creditRef, debitRef, 7000, 1, 2.5);
if (ok==true)
{
MessageBox.Show("İşlem tamamlanmıştır");
}
else
{
MessageBox.Show(Global.UnityApp.GetLastError() +" "+Global.UnityApp.GetLastErrorString());
}
Eski Hali :
DebtClose(pTrFRecRef, pTrSRecRef: Integer;
tot: Double = 0): WordBool;
Yeni Hali :
DebtClose(pTrFRecRef, pTrSRecRef: Integer;
DebtAmount: Double = 0,
DebtRate: Double = 0,
PayRate: Double = 0): WordBool;
Eski halinde "tot" parametresine girilen değer hem "kapatan" hem "kapanan" alanına yazılıyordu ve bu yöntem farklı döviz birimleriyle borç kapatma işleminde hatalı değerler çıkmasına neden oluyordu.
Yeni halinde şu şekilde çalışmaktadır;
- Opsiyonel parametreler girilmeden "DebtClose(1001,1002)" şeklinde çalıştırıldığında DebtAmount, DebtRate ve PayRate borcun tamamını kapatabilmek veya tahsilatın tamamını kullanmak üzere default değerlerle doldurulur.
- DebtAmount parametresine "0"dan büyük değer girilmedikçe DebtRate veya PayRate parametresine girilen değerlerin bir hükmü yoktur.
- Kapanan fişin para birimi "TL" ise DebtRate parametresinin değeri ne olursa olsun "1"e dönüşür.
- Kapatan fişin para birimi "TL" ise PayRate parametresinin değeri ne olursa olsun "1"e dönüşür.
- PayAmount parametre olarak alınmaz, program DebtAmount, DebtRate ve PayRate parametrelerine göre PayAmount değeri hesaplanır.
NOT : Bu fonksiyonun farklı para birimleriyle çalışabilmesi için ilgili cari hesabın "Ticari Bilgiler" sayfasında "Ödeme İzleme" alanının değeri "Değişik Dövizli İşlemlerle" olmalıdır.