GetKur Fonksiyonu

Tanım


Belirli bir tarihteki, bir döviz cinsinin, başka bir döviz cinsinden kur değerini veren fonksiyondur. Kur değerini, ondalık kısımda 6 (altı) haneye yuvarlayarak getirir. Yuvarlama yapılması istenmiyorsa fonksiyona belirtilmelidir. İstenen bilgilere göre bir kur değeri bulamadığı durumlarda, hata mesajı verebilir. GetKurN fonksiyonundan tek farkı budur.


İşlemleri günlük döviz kurları girişindeki verilere göre yapar. Çapraz kurları hesaplama yeteneği vardır. Örneğin eğer sisteme USD döviz kodunun, EURO döviz kodu cinsinden kur değeri girilmemişse, ilgili döviz kodlarının lokal para birimi cinsinden kur değerlerine bakar. Eğer her iki döviz kodunun da lokal para birimi cinsinden değeri var ise bunları kullanıp çapraz kur olarak bilgi geri döner.

Kullanım Şekli


Değişken = Document.GetKur(DövizKodu, ÇevrilecekDövizKodu, Tarih, KurTipi, HesaplamaSeçeneği)

Ana Nesne


Document (Doc) nesnesinin elemanıdır. Bir doküman nesnesi ile kullanılmak zorundadır.

Parametreler


Parametre

Açıklama

DövizKodu

Kur değeri bulunacak olan döviz kodu. Sistemde tanımlı olan para birimleri cinsinden girilmelidir.

ÇevrilecekDövizKodu

Kur değerinin hangi para biriminden bulunacağını gösteren döviz kodu. Sistemde tanımlı olan para birimleri cinsinden girilmelidir.

Tarih

Kur değerinin bulunacağı tarih. Tarih cinsinden girilmelidir.

KurTipi

Sistemde bir döviz koduna, bir tarihte 10 (on) farklı kur tipinde değer atanabilir. Bu kur tiplerinden, hangisinin değerinin getirileceğinin bu KurTipi parametresi belirtir. Karakter dizisi formatında girilmelidir. Boş değer girilirse “1” sistem döviz kuru seçeneği ile işlem görecektir. Hatalı değerlerde, özellikle hatalı kullanılmasın diye “45345” kodlu hata verilerek uygulamanın çalışması sonlandırılır.

Seçenekleri:

“1” : Sistem döviz kuru

“2” : Tahmini döviz kuru

“3” : TCMB döviz alış kuru

“4” : TCMB döviz satış kuru

“5” : TCMB efektif alış kuru

“6” : TCMB efektif satış kuru

Bundan sonraki seçenekler, şirket amaçlarına uygun olarak kullanılması için şirket kullanıcılarına bırakılmıştır. Genelde aşağıdaki şekilde kullanılırlar:

“7” : Banka döviz alış

“8” : Banka döviz satış

“9” : Banka efektif alış

“A” : Banka efektif satış

HesaplamaSeçeneği

Kur değerinin nasıl hesaplanacağı ile ilgili seçenek.

“-1” ve “0” : Belirtilen gün ve kur tipindeki kur değeri, hata mesajı verilmeden ve yuvarlama yapılarak geri dönülür. İlgili Kur değeri Girilmemişse 0 (sıfır) geri dönülür

“1” : Eğer belirtilen gün ve kur tipindeki kur değeri girilmemişse; ilgili kur tipinde değere bulana kadar önceki günlere bakar. Dikkatli kullanılmalıdır. Bu durumda GetKurN fonksiyonun işlevine sahip olur.

“4096” : Verilen bilgilere göre bir kur değeri bulunamazsa ekrana bir hata mesajı getirir.

“8192” : Kur değerini yuvarlama yapmadan getirir.


Geri Dönen Değerler


Verilen parametrelere göre, ondalıklı sayı cinsinden bir kur değeri geri dönülür. Bir değişkene atanarak kullanılmalıdır.

Hatırlatmalar


Eğer fonksiyona anlamlı ama geçersiz bir parametre kodu girilirse, geri dönüş değeri 0 (sıfır) olacaktır.

Eğer fonksiyona anlamsız ve geçersiz bir KurTipi değeri girilirse uygulamanın çalışmasını sonlandırır.

Para birimlerinin kodları tamamen “*PUNIT” grup kodunda girilmiş olan bilgilere bağlıdır.

Eğer HesaplamaSeçeneği paramatresi “1” seçilirse, GetKurN fonksiyonu ile aynı işlevi görür.

Örnek


Sub Makro1()

       Tarih = Doc.Bugun()

       USDTLKuru = Doc.GetKur("USD","TL",Tarih,"1",-1)        

       Mesaj = Tarih & " tarihindeki USD dövizinin TL döviz cinsinden kuru : " & USDTLKuru

       EUROTLKuru = Doc.GetKur("EURO","TL",Tarih,"1",-1)        

       Mesaj = Mesaj & chr(13) & Tarih & " tarihindeki EURO dövizinin TL döviz cinsinden kuru : " & EUROTLKuru

       USDEUROKuru = Doc.GetKur("USD","EURO",Tarih,"1",-1)        

       Mesaj = Mesaj & chr(13) & Tarih & " tarihindeki USD dövizinin EURO döviz cinsinden kuru : " & USDEUROKuru

       Doc.MsgBox Mesaj

End Sub




Yukarıdaki örnekte, istenilen kur değerleri aşağıdaki mesaj kutusunda gösterilmiştir. Üçüncü satırda USD döviz kodunun, EURO döviz kuru değeri görülmektedir. Bu bilgiyi ilk iki satırdaki bilgilerden kendimiz de üretebilirdik. Ama bu da üç (3) işlem demektir. Halbuki fonksiyon tek işlemde ilgili bilgiyi verebilmektedir.



USDTLKuru = Doc.GetKur("USD","TL",Tarih,"1",4096)        

Eğer yukarıdaki satırda gösterildiği gibi fonksiyondan, kur değeri olmayan bir günün kur değerini HesaplamaSeçeneği = 4096  olacak şekilde istemiş olsaydık, ilk olarak aşağıdaki gibi bir hata mesajı ekranı gelecekti.



Paylaşım Makrosu