Bağlantıları atla

FileMaker veritabanlarında olayları kaydetme.

FileMaker eğitimi, kursları, koçluğu

FileMaker'da olayları otomatik olarak kaydetmeHepimizin başına gelmiştir: bir veri kaydı artık mevcut değildir veya değiştirilmiştir, ancak kimse bunu yapmak istemez. Bu durum özellikle de alanlarda daha önce hangi değerlerin olduğu bilinmediğinde can sıkıcıdır. Eğer varsa, bir yedekleme bu gibi durumlarda yardımcı olabilir, ancak bir yedeği geri yüklemek genellikle oldukça zaman alıcıdır.

Bir alan değerindeki değişiklik doğrudan kaydedilirse (veya "izlenirse") bu tür sorunlarla başa çıkmak çok daha kolaydır. Önceki FileMaker sürümlerinde bu, giriş diyalogları kullanılarak gerçekleştirilebiliyordu, örneğin [OK] düğmesine tıklayarak ve bir Senaryo işlemi kaydetmek için çağrıldı. Daha yeni FileMaker sürümleri ile, tüm bunlar aşağıdakiler sayesinde mümkündür Senaryo tetikleyicisi çok daha kolay hale gelmiştir. Bu makale, ilgili bir örnek dosya ile bunun nasıl yapılacağını göstermektedir.

Olayları kaydetmenin avantajları

Müşteri ile ilgili olay günlüğüSaha olayları ve rutinler FileMaker veritabanlarına tutarlı bir şekilde kaydedilirse, çalışma sırasında somut avantajlar elde edilir. Her değişiklik yapıldığında, olay eksiksiz bir günlük olarak görüntülenebilen veya başka bir günlüğe bağlanabilen bir günlüğe kaydedilir. Veritabanı görüntülenebilir. Örneğin, müşteriyle ilgili tüm olaylar bir düzende görüntülenebilir ve çağrılan müşteriyle bağlantılı olarak gerçekleştirilen tüm olaylara genel bir bakış elde edilebilir. Ayrıca Tablo olay günlüğü için tarih, kullanıcı adı, tablo veya diğer bilgiler gibi standart bilgileri içerir. Birincil anahtar alan değişiklikleri için, değişiklik yapılmadan önceki ve sonraki gerçek alan değerleri. Bu, değiştirilen verilerin kurtarılması (herhangi bir sırada sınırsız geri alma) gibi daha ileri işlevleri mümkün kılar - belki de uzaktan "veriler için görsel sesli mesaj" ile karşılaştırılabilir ;-)

İşe koyulalım: Neye ihtiyaç var?

Mevcut bir FileMaker çözümü için bir olay günlüğü geliştirmek, yönetilebilir kaynaklarla gerçekleştirilebilir. İlk olarak, olayları yönetmek için ilgili tüm alanları içeren yeni bir tablo gereklidir. Örnek dosyada tablo "Olay günlüğü" olarak adlandırılmıştır.

Alan açıklaması Olay günlüğü

Kaydedilen her olay bu tabloda bir veri kaydına karşılık gelir, otomatik birincil anahtar _pk_Ereignis_ID olarak adlandırılır. Olayın ilgili olduğu referans anahtarı _fk_Fremdschlüssel anahtar alanına kaydedilir. Örneğin, bir müşteri veritabanındaki bir alan değiştirilirse, bu alan müşteri veritabanının birincil anahtarı ile doldurulur. Bu alanda hangi anahtarın olduğu alana girilir Yabancı anahtar Yazılı.

Alan değişiklikleri için bu tablo şu alanları da içerir Field_content_before ve Field_content_afteryapılan değişiklikten önceki ve sonraki alan içeriğini içerir.

İki senaryo yeterlidir.

Bir olayı kaydetmek için artık tabloya ek olarak iki komut dosyası gereklidir: Bir komut dosyası tablodaki saf giriş için kullanılır Olay günlüğü ve kod parametreleri ile çağrılır ve alan değişikliklerini kaydetmek için ilgili alanda kod tetikleyicisi aracılığıyla çağrılan başka bir kod gereklidir.

Bir etkinlik girme

İlk olarak aşağıdaki kod parametrelerini kabul eden saf giriş koduna [ts.event log] bakalım:

  • Yabancı anahtar
  • Dosya
  • Menşei (senaryo/alan, vb.)
  • Durum (Tamam, hata)
  • Tablo
  • Metin
  • İşlem türü
  • Yabancı anahtar türü
  • Önce alan içeriği
  • Sonrasında alan içeriği

Komut dosyasının kendisi basit bir şekilde yapılandırılmıştır, komut dosyası parametresinde bulunan değerleri önce değişkenlere ve ardından Olay günlüğü tablosundaki yeni bir veri kaydına yazar.

Olay günlüğü: Komut Dosyası 1

Bu komut dosyası, olay günlüğüne giriş yapacak başka herhangi bir komut dosyası tarafından çağrılabilir. Örnek çözümde, bu komut dosyasının da çağırdığı saha olaylarının kaydı da gerçekleştirilmiştir.

Komut Dosyası [ts.record_field_event]

Senaryo ts.record_field_event her alan için [OnObjectEnter] ve [OnObjectExit] kod tetikleyicisi olarak ayarlanır. Alan bir sekme kontrolünün bir alanında bulunuyorsa, isteğe bağlı bir kod parametresi olarak bir sekme kontrolünün sekmesini kabul edebilir. Bu, günlük veri kaydı oluşturulduktan sonra kodun doğru sekmeye geçebilmesi için gereklidir. Kayıt kontrolü hedef düzende.

Kod ilk olarak sistem değişkeninin $$field dolu veya boş olduğunu belirtir. Bu sistem değişkeni boşsa, kullanıcı bir alan girmiştir ve kod sistem değişkenini doldurur $$field ile aktif alan adı ve $$field_content_before değişiklikten önceki alan içeriğiyle birlikte. Ardından koddan çıkılır, çünkü kodun bir alana girerken başka bir şey yapması gerekmez.

Eğer sistem değişkeni $$field zaten doldurulmuşsa, kullanıcı alan içeriğini değiştirmiş ve alandan çıkmış olabilir. Kod şimdi alan içeriğinin değiştirilip değiştirilmediğini kontrol eder ve alt kodu çağırarak bir değişiklik yapılmışsa olay günlüğünde bir veri kaydı oluşturur ts.olay günlüğü. Alan bir sekme kontrolündeyse ve sekmenin adı bir kod parametresi olarak sağlanmışsa, kod artık belirtilen sekmeye geçer, aksi takdirde girişten sonra varsayılan sekme kontrolüne geçer. Son olarak, kod değişkenleri tekrar siler 1TP4rider, $$field, $$field_content_before ve $$field_content_afterve oyun baştan başlayabilir, çünkü sistem değişkeni $$field artık tekrar boştur.

Olay günlüğü: Kayıt alanı olayı

Kod tetikleyicileriyle alanlar atama

Son adımda, bir alan değiştirildiğinde olay günlüğüne giriş yapılabilmesi için istenen alanlara artık kod tetikleyicileri sağlanmalıdır. Her alan için, her biri aynı komut dosyasını çağıran iki komut dosyası tetikleyicisi ayarlanmalıdır:

Alan değeri kaydı ve olay günlüğü için komut dosyası tetikleyicisi

  • WithObjectEnter ["ts.field_event_record"; {parameter: "tab"}]
  • WithObjectExit ["ts.field_event_record"; {parameter: "tab"}]

"Tab" kod parametresi isteğe bağlıdır ve yalnızca alan örnek dosyada olduğu gibi bir sekme kontrolünde bulunuyorsa belirtilir. Sekmenin adı belirtilir ve bu ad Müfettiş içinde [Konum] sekmesi altında İsim belirtilmelidir.

Alan değeri kaydı için örnek dosya

Bu makalenin sonunda FileMaker 12 için alan değeri kaydı ile olay günlüğünün gerçekleştirildiği örnek bir dosya indirebilirsiniz. Bu örnek dosyayı kendi veritabanınız için temel olarak kullanabilir veya işlevleri kendi FileMaker çözümünüze aktarabilirsiniz.

Örnek dosyadaki olay listesi

FileMaker 12 için örnek dosyayı indirin

FileMaker örnek dosyasını indirin

Örnek dosyadaki komut dosyalarını çözümünüze aktarma

Komut dosyaları, pano aracılığıyla bir FileMaker çözümünden diğerine kolayca aktarılabilir. Diyaloğu açmanız yeterlidir Komut dosyalarını yönetmeİstediğiniz kodu fare ile seçin ve [Düzenle - Kopyala] menüsünü veya [Ctrl/Cmd-C] tuş kombinasyonunu kullanarak kodu panoya kopyalayın. Ardından hedef çözümde aynı diyaloğu açın ve [Düzenle - Yapıştır] menü komutunu kullanarak önceden kopyalanan kodu tekrar yapıştırın.

Tabloları örnek dosyadan çözümünüze aktarmak için

Tablolar mevcut bir çözüme birkaç şekilde eklenebilir. En kolay yol, diyalog penceresindeki [İçe Aktar...] düğmesini kullanarak tabloyu içe aktarmaktır Veritabanını yönetin. Kaynak çözümden içe aktarılacak tüm tablolar daha sonra bir diyalog penceresinde seçilebilir. Bu nedenle bu yöntem, aynı anda birden fazla tablo içe aktarılacaksa özellikle uygundur. Yalnızca bir tablo içe aktarılacaksa, bu bir komut dosyası gibi pano aracılığıyla da yapılabilir. Bir tablo verileriyle birlikte içe aktarılacaksa, bu işlem [Dosya > Kayıtları içe aktar > Dosya] komutuyla yapılabilir. İçe aktarma diyaloğunda, hedef tablo Yeni masa belirtilmelidir.

Değer listelerini örnek dosyadan çözümünüze aktarmak için

Değer listeleri, pano aracılığıyla bir FileMaker çözümünden diğerine kolayca aktarılabilir. Bunun için [Dosya/Dosya > Yönet > Değer listeleri] altındaki diyaloğu açmanız, istediğiniz değer listesini seçmeniz ve [İçe aktar] düğmesine tıklamanız yeterlidir. Değer listesi fare ile seçin ve [Düzenle - Kopyala] menüsünü veya [Ctrl/Cmd-C] tuş kombinasyonunu kullanarak değer listesini panoya kopyalayın. Ardından hedef çözümde aynı diyaloğu açın ve [Düzenle - Yapıştır] menü komutunu kullanarak önceden kopyalanan değer listesini yapıştırın.

Kendi fonksiyonlarınızı örnek dosyadan çözümünüze nasıl aktarabilirsiniz?

Dosya > Yönet > Özel fonksiyonlar...] diyaloğunda [İçe aktar] düğmesine tıklayın ve ardından örnek dosyayı seçin. Aşağıdaki diyalogda istediğiniz özel fonksiyonları seçin ve diyalogu onaylayın. Bu işlevin yalnızca FileMaker Pro Advanced'de kullanılabildiğini, FileMaker Pro'da kullanılamadığını lütfen unutmayın.

Bir yorum bırakın

  1. Harika bir şey, bize çok yardımcı oldu. Her şey için çok teşekkürler!

Bu sayfayı paylaşın:

Şirketiniz kadar esnek ERP yazılımı.
Size tavsiyede bulunmaktan memnuniyet duyarız.

Mac, Windows ve iOS için özelleştirilebilir ERP yazılımı.

Buradasınız: FileMaker veritabanlarında rastgele olayları kaydetme