FilemakerTurk, AYS Bilişim ve Beyaz Net tarafından desteklenmektedir.
Filemaker Danışmanınız
AYS Bilişim
Mehmet KAYA
 0532 231 07 27
 0216 318 55 80
 mkaya@aysbilisim.net
						

Tam bir ay (yada N ay) sonraki tarihi bulan hesaplama nasıl yapılır?

+1 oy
1,365 kez görüntülendi
Burada da sorulmuştur belki ama arama kısmından hızlı bir arama yapınca bulamadım. Bu yüzden anahtar kelimleri tizizlikle yazıyorum, bir daha ararsam bulayım :)

 

Bir hesaplamam olsun, bana başlangıç tarihini ve ay sayısını sorsun. Sonuç olarak da başlangıç tarihine eklemek istediğim ayı ekleyip sonucu versin.

 

Küçük zorluk/problem her ayda eşit sayıda gün olmaması. Fonskiyonum şu değerler için şu sonuçları vermeli;

15 Ocak 2016 + 3 Ay = 15 Nisan 2016

31 Aralık 2016 + 2 Ay = 28 Şubat 2017 (ayın son günü olduğu varsayarak)

30 Mart 2016 + 4 Ay = 30 Temmuz 2016

31 Mart 2016 + 3 Ay = 30 Haziran 2016
23, Ağustos, 2016 Custom Functions kategorisinde F. Osman Cabi (200,020 puan) tarafından soruldu

3 Cevaplar

0 oy
 
En İyi Cevap

En basit hali aşağıdaki gibi olabilir. Şemsi beyin gönderdiğini  biraz düzelttim:

 

Let ( 
[trh = GetAsDate ( Tarih );
ytrh = Date ( Month ( trh ) + Ay; Day ( trh ) ; Year ( trh ) )  ];
If ( Day ( trh ) = Day ( ytrh ) ; ytrh ; Date ( Month ( ytrh ) ; 1 ; Year ( ytrh ) ) - 1)

)

http://filemakerturk.com/?qa=blob&qa_blobid=3311937101126213942

24, Ağustos, 2016 hyaprakci (8,300 puan) tarafından cevaplandı
25, Ağustos, 2016 F. Osman Cabi tarafından seçilmiş
+1 oy

EDIT:Fonksiyon Çalışmıyor..

Hocam şuradaki fonksiyon bu iş için uygun gibi (telefonda olduğum için deneyemedim)..Fonksiyon eklenecek ya da çıkarılacak Yıl,Ay ve Gün sayılarını istiyor..Yıl ve gün (0) girildiğinde sadece ay alanı ile işe yarayabilir...

 


 


 

 

Onun Yerine  Tarih,Tarih2 ve AyEkleme Alanları ile aşağıdaki kod ile.....

 

Let ( [ trh = GetAsDate ( Tarih )];
Case( Day ( trh ) ≠ Day ( Date ( Month (trh ) + AyEkleme; Day ( trh ) ; Year ( trh ) ) ); 
Date ( Month ( trh ) + 2; 1 ; Year ( trh  ) ) - 1; 
Date ( Month ( trh ) + AyEkleme; Day ( trh ) ; Year ( trh ) ))
)

 

Örnek Dosya

23, Ağustos, 2016 Şemsi Saracoğlu (135,530 puan) tarafından cevaplandı
23, Ağustos, 2016 Şemsi Saracoğlu tarafından düzenlendi
teşekkür ederim, çok fonksiyonlu güzel bi fonksiyonmuş :)
ama yazan arkadaş tarihi gün/ay/yıl olarak kullanmamış, bende çalışmadı :(
Yeni örnek çalışıyor hocam..
Beta testinde "tester" fareyi alır almaz alakasız bir yere tıklar ve "exception" olur ya, öyle oldu herhalde. 31.12.2015, ay ekleme de 2 girince 31.01.2016 diyor. Halbuki 29.02.2016 demesi lazımdı (Şubat 2016'da 29 çekiyor)
Evet Hocam yılı değiştirmeden denemiştim,yıl değişince bozuluyor...
+3 oy

Osman bey 2004 denberi kullandığım taksit oluşturma scriptini ekteki örnekten inceleyebilirsiniz. Yılın her günü he ayı şubatın 29 çektiği yıllar dahil kapsar.

Taksit oluştur bölümünde;

  • Toplam tutarı ve taksit sayısını yazmanız yeterlidir. Yuvarlama durumuna  göre taksitleri hesaplar. artık kalan tutarı ilk taksit veya son takside ekler.
  • Taksit tutarını ve toplam tutarı yazarsanız kaç taksit olacağını hesaplar. (Ör. müşteri dedi ki ayda 85 TL ödeyebilirim ona göre senet yapın)
  • Taksit Sayısı ve Taksit tutarını yazarsanız hesap yapmadan taksitleri ekler taksitleri ekler. 
  • 3 bilgiyi aynı anda girerseniz (Taksit tutar, Taksit Sayısı ve Toplam Tutar) ne yapacağını deneyip görebilirsiniz :)

 

Dosya : http://filemakerturk.com/?qa=blob&qa_blobid=8092754223891718804

23, Ağustos, 2016 hyaprakci (8,300 puan) tarafından cevaplandı
Çok teşekkürler Halil bey,

Taksit oluşturamayağım, ceza bitiş tarihi için lazımdı. Sanki bende bir yerlerde bunu hesaplatmıştım ama aramaya erindim :)

Hesaplamayı custom functionlaştırıp briandunning.com'a yükleyelim?
Çok güzel bir uygulama ellerinize sağlık.

Bu işlemi portal içine nasıl yaptırabiliriz.
...