FilemakerTurk, AYS Bilişim ve Beyaz.net tarafından desteklenmektedir.
Filemakerturk.com a Hoş geldiniz.

Mehmet KAYA
 0532 231 07 27
						
Filemaker Lisans İhtiyacınız için FilemakerTürk Yönetimi ile iletişime geçin
 
Alakalı Siteler:

AYS Bilişim


Cabitaş


FMK Solutions | Maatwerk Applicaties
 

Calculation alanda if script çalıştırma

+1 oy
127 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 toaceyhan (5,220 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 (40,900 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 (130,550 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.
...