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
						

Calculation alanda if script çalıştırma

+1 oy
598 kez görüntülendi
Selamlar.
Calculation alanlarda if script çalışmıyor mu. İlişkiye göre 1 yada 0 değeri alan bir calculation alan var. OnValidate script tanımlıyorum. Eğer alan 0 ise uyarı ver diye. Fakat bir türlü çalıştıramadım. Öneriniz var mıdır? (not : OnEnter vs diğer ihtimalleride denedim)
17, Kasım, 2018 Scripts kategorisinde aceyhan (5,500 puan) tarafından soruldu

2 Cevaplar

+1 oy
 
En İyi Cevap

Herkese selam ederim;

 

Eğer doğru anladıysam; Dosyanızda düzenleme düzenleme yaptım. Umarım işinize yarar.

 

Örnek Dosya

Herkese hayırlı günler dilerim

Saygılarımla.

17, Kasım, 2018 ercanD (73,590 puan) tarafından cevaplandı
19, Kasım, 2018 F. Osman Cabi tarafından seçilmiş
Direk nokta atışı çözüm sunmuşsunuz. Teşekkürler Ercan Hocam.
+1 oy
OnValidate işlemi calculation alanda gerçekleşmez. Buradaki validate filemaker field options'daki ve alan türüne göre yapılan validation. Calculation sonucu 0 olması yada 1 olması önemli değil hepsi "valid" dir. Dolayısıyla validasyon triger'ı çalışmaz.

 

Validation triger'ı text, date, number gib alanlarda değişiklik yapıldığında alandan çıkarken otomatik yapılır. Örneğin tarih alanında tarih dışında bir değer girmeye veya 30 Şubat gibi geçersiz tarih yazdığınızda yapılan validation ile sağlanır. Veya max 100 değeri alabilir şeklinde ayarladığınız number alanda 100'den büyük değer girip girmedğinizi kontrol etmek yine validation işidir.

 

OnValidate scripti ise bu validasyondan hemen önce çalışır. Bu sayede valid olmayan bilgiyi scriptle düzeltebilirsiniz. Mesela tarih alanına +3 yazdığınızı varsayalım. Onvalidate scripti orada tarih olmadığını görüp otomatik olarak Get(currentdate)+3 yaparak 3 gün sonrasını yazabilir.

 

Size çözüm olması için onRecordCommit'de bu kontrolleri yapabilirsiniz.
17, Kasım, 2018 F. Osman Cabi (200,340 puan) tarafından cevaplandı
Osman hocam,
Aşağıdaki linkteki dosyada BarkodCikis layout 'da söylediğiniz gibi OnRecord Commit yaptım fakat yine çalışmadı. Portal üzerindeki alana seri giriyorum. Seri alani uniqe eğer aynı seri var ise Onvalide script çalışıyor ve uyarı veriyor. Bu alandaki bilgiye göre T2T... alanı calculation "E" yada "H" değerini alıyor.  ( Yani değer "H" ise girişi olmayan seri çıkıyor demek )  OnRecordCommite tanımladığım script çalışmıyor. Acaba neyi gözden kaçırıyorum.?

https://www.dropbox.com/s/6n5mfjmr7ganwca/SeriNoTest.fmp12?dl=0
validate scripti de commit triger'ı da çalışıyor gibi toolsdan dataviewer'a bakınca.

tam olarak senaryo nasıl? neyi kontrol etmek istiyoruz, bir kaç örnek yazabilir misin?
Öncelikle Barkod Giriş layout 'dan seri noları giriyoruz.
Daha sonra Barkod Çıkıştan seri noların çıkışını yapıyoruz. Yapmak istediğim girişi olmayan serinin çıkşına izin vermesin. Ve bu kontrolu calculation alandaki 1 ve 0 değerine göre yapsın. Yani rakam 1 ise problem yok. 0 ise girişi olmayan seri demek uyarı versin. Ve portaldaki bu satırdaki kaydı silsin.
...