Aşağıdaki formülü Filemaker 11 de uyguladım, kaydetmeden çıkamıyorum mutlaka kayıt butonuna basmak gerekiyor. (kaydet butonu çalışıyor).
"Uyarı" mesajı; "İptal" "Kaydetme" "Kaydet" seçenekleri gelmiyor. Yardımcı olursanız sevinirim (Filemaker 11) için.
Evet arkadaşlar öncelikle bu işlem için 3 adet script'e ihtiyacımız var.
1) KAYIT KONTROL
2) KAYDET
3) KAYDETMEDEN KAPAT
Layout setup içerisinde Save record changes automatically işaretli olmalıdır.
KAYIT KONTROL scriptini, Layout setup>Script Triggers>OnRecordCommit olayına bağlıyoruz.
GENEL: KAYIT KONTROL
If [ Get ( RecordOpenState ) ≠ 0 ]
If [ $$KAYIT=1 ]
Commit Records/Requests
[ Skip data entry validation; No dialog ]
Else
Halt Script
End If
End If
Layot'un içerisine Bir adet kaydet ve bir adet te kapat butonu ekliyoruz.
Kaydet buton setuptan KAYDET GENEL scriptini, Kapat buton setuptan KAPAT GENEL scriptini atıyoruz.
GENEL: KAYDET GENEL
Allow User Abort [ Off ]
Set Variable [ $$KAYIT; Value:1 ]
Commit Records/Requests
[ Skip data entry validation; No dialog ]
Set Variable [ $$KAYIT; Value:0 ]
GENEL: KAPAT GENEL
If [ $$KAYIT=0 and (Get ( RecordOpenState ) = 2 or Get ( RecordOpenState ) = 1) ]
Show Custom Dialog [ Title: "Uyarı"; Message: "Fişi kaydetmek ister misiniz ?"; Default Button: “İptal”, Commit: “No”; Button 2: “Kaydetme” , Commit: “No”; Button 3: “Kaydet” , Commit:
“No” ]
If [ Get ( LastMessageChoice )=2 ]
Revert Record/Request
[ No dialog ]
Close Window [ Current Window ]
Set Variable [ $$KAYIT ; Value:0 ]
Else If [ Get ( LastMessageChoice )=3 ]
Set Variable [ $$KAYIT ; Value:1 ]
Commit Records/Requests
[ Skip data entry validation; No dialog ]
Close Window [ Current Window ]
Set Variable [ $$KAYIT ; Value:0 ]
Else
Halt Script
End If
Else
Close Window [ Current Window ]
Set Variable [ $$KAYIT; Value:0 ]
End If