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
						

loop ile taksit tarihleri ayarlaması hk.

+2 oy
677 kez görüntülendi

Merhaba Dostlar,

Şu şekilde bir scriptim var.Sıkıntı;

3.ve sonrası aylar için tarihe 31 eklemiyor.sürekli 2.taksiti yineliyor.Neyi gözden kaçırıyorum acaba ?

26, Ocak, 2016 Scripts kategorisinde Mehmetblg (42,390 puan) tarafından soruldu

3 Cevaplar

+3 oy
 
En İyi Cevap
Loop içerisinde, Taksit Tarihi alanını set etmeden önce, $TTARIHI değişkeninizi tekrar set ederek gün sayınız ile toplatmalısınız.
26, Ocak, 2016 Recep Güney (70,020 puan) tarafından cevaplandı
26, Ocak, 2016 Mehmetblg tarafından seçilmiş
bu şekilde mi olmalı ?


Set Field [tAIL ORDER DATA: :TAKSIT TARIHI; $TTARIHI]

Set Field [MAIL ORDER DATA: :TAKSIT TARIHI; $TTARIHI + 31]

Set Field [MAIL ORDER DATA: :TAKSIT TUTARI; $U]

böyleyse çalışmadı yine ya da ben anlamadım ?
Set Variable [$TTARIHI; Value: $TTARIHI + 31]
Set Field [MAIL ORDER DATA: :TAKSIT TARIHI; $TTARIHI ]
Set Field [MAIL ORDER DATA: :TAKSIT TUTARI; $U]
Tamamdır.Şu Şekilde çalıştı.Teşekkür ederim.

Set Variable [SU; Value: MAIL ORDER DATA: :TAKSIT TUTARI]
Set Variable [$TTARIHI; Value: GetAsDate ( MAIL ORDER DATA: :TAKSIT TARİHİ )]
Set Variable [$TS; Value: MAIL ORDER: :TAKSIT SAYISI]
Loop
Go to Object [Object Name: ‘ORDERPORTAL”]
Go to Portal Row [Select; Last]
Set Field [NIAIL ORDER DATA: :TAKSIT TARİHİ; $TTARIHI + 31]
Set Variable [$TTARIHI; Value: MAIL ORDER DATA: :TAKSIT TARIHI]
Set Field [1AIL ORDER DATA: :TAKSIT TUTARI; $U]
Set Variable [$BULUNDUSAYISI; Value: Get ( ActivePortalRowNumber )]
Exit Loop If [$TS = SBULUNDUSAYISI)
End Loop
+2 oy
Degiskendeki ttarihi degerini text fonksiyonlarindan getasdate icine al ole dene
26, Ocak, 2016 Goksel_Gokce (98,530 puan) tarafından cevaplandı
yaptım olmadı :)
+3 oy

Tarihe döngü içerisinde 31 eklemek yanlış olur. Çünkü her ay 31 gün değil. Bunun yerine ;

 

Set Variable [$Tarih ; Value: Date ( Month ( $Tarih ) + 1 ; Day ( $Tarih ); Year ( $Tarih ))]

 

Şeklinde ayı bir artırarak gitmek daha uygun olur. Bu formülün tek sıkıntısı başlangıç tarihi ayın 29-30-31 i gibi son günlerine denk geldiğinde şubat ayında sıkıntı oluyor. Tabi ki onunda çözümü var.

 

If(Day ( $TaksitVade )>28 and Month ( $TaksitVade ) =2; 
Date ( Month ( $TaksitVade ) + 1; 28 ; Year ( $TaksitVade ))
;
Date ( Month ( $TaksitVade ) + 1; Day ( $TaksitVade ); Year ( $TaksitVade ))
)

27, Ocak, 2016 hyaprakci (8,300 puan) tarafından cevaplandı
teşekkürler kardeşim bu güzel bilgi için.......
...