Gelişmiş Form özellikleri

Alanların Koşullu Gizleme/Görünme Özelliği

Mobidi’de oluşturduğumuz alanları bir koşula bağlayarak gizleyebilir yada görünür hale getirebiliriz.

  • Yeni bir alan oluştururken gelişmiş sekmesine tıklayalım.
  • Gelişmiş sekmesinde “Gösterme Kuralı” veya “Gizleme Kuralı” alanlarına aşağıdaki kuralları yazabiliriz.

alan_id değeri Makro sekmesinden alınabilir.

Örnek Açıklama
formData[‘alan_id’] alan_id alanına değer girildiğinde göster/gizle
formData[‘alan_id’] == ‘Ankara’ alan_id alanının değeri “Ankara” olduğunda göster/gizle
formData[‘alan_id1’] == ‘Ankara’ && formData[‘alan_id2’] == ‘Çankaya’ alan_id1 alanına “Ankara” ve alan_id2 alanına “Çankaya” yazılırsa göster/gizle
[‘Ankara’,’İstanbul’].indexOf(formData[‘alan_id’])>=0 alan_id alanının değeri Ankara veya İstanbul ile göster/gizle
formData[‘alan_id’] > 3 alan_id alanının değer 3’ten büyükse göster/gizle
items.length > 0 Alanı kayıtta en az 1 fotoğraf ekli ise göster/gizle

Makrolar

Makrolar ile bazı form değerleri otomatik olarak doldurulur. il/ilçe/Şantiye/Bölge/Bina/Tesis gibi bilgiler bulunduğunuz konuma otomatik gelir. Bu şekilde hatalı girilebilecek ve ek zaman alacak verileri girmenize gerek kalmaz. Bu değerleri rapor ve panellerlerde kullanabilirsiniz.

Makrolar için 3 seçenek sunulur

Coğrafi İlişki – VT

Bu seçenek konumsal bilgi içeren bir tablodan veya shapedosya gibi bir kaynaktaki bilgileri kullanır. MOBIDI ile oluşturduğunuz kaydın konumuna göre 40metre çevrredeki en yakın kayıt alınır ve kuralınıza göre değer yazılır.

Bu seçenek için MOBIDI Ofis’in kurulu olduğu sunucuda olmalısınız. Geçerli bir bağlantıyı kurduktan sonra yazılım size kullanılacak tablo ve alanı soracaktır.


Coğrafi İlişki – Sorgu

Bu seçenek ile bir MOBIDI Ofis sorgusu kaynak olarak kullanılır. MOBIDI Ofis kayıtları çok özel durumlar haricinde mutlaka konumsal bilgi içerirler. Bu bilgiyi kullanarak alan değerlerinin otomatik dolmasını sağlayabililirsiniz.

Şantiye Yönetimi için formlar oluşturduğunuzu varsayalım. Birden çok lantiyeniz varsa her bir kayıtta hangi şantiyeden alındığını yazmanız gereklidir. Aksi durumda şantiye bazlı bir analiz yapamazssınız. Ancak her kayda bir seçim listesinden şantiyenin adını yazmak da hataya çaık ve gereksiz zaman kaybedilen bir yol olur.

İlişki tanımları ile bu problem kolayca çözülüyor.

“Şantiye” adlı bir form tasarlayalım. Bu form bir şantiyenin özelliklertini içersin. Yapılan iş, Proje yöneticisin adı, Şantiyenin kurulacağı yerin fotoğrafları ve ve diğer bilgiler bu kayıtta olsun.

Bir form daha oluşturalım, adına “Faaliyetler” diyelim ve faaliyet, miktar vs gibi değerleri tanımlayalım.

Faaliyetler formunda şantiye bilgisinin olmasını istiyorsak “Coğrafi İlişki – Sorgu” kullanmalıyız.

Yukarıdaki örnek senaryo için

  1. Faaliyetler formuna bir metin alan ekleyelim, adı “Şantiye Bilgisi” olsun
  2. Bu alanın Makro değerindeki Sorgu2da “Şantiye” formunu seçelim.
  3. Tebrikler, İlişkiyi tanımladınız!. Şantiye Bilgisi alanına Şantiye Formunun “Form Başlığı” bilgisi gelecektir. Dilerseniz “Harita etiketi” bilgisini de kullanabilirsiniz.

Gelişmiş İlişki Makrosu

Coğrafi İlişiki seçenekleri ihtiyacınızı karşılamıyorsa, kullanabilceğiniz bir seçenektir. Kullanımı orta/ileri düzey IT bilgisi gerektirebilir.

Örnek Açıklama
context.Data.GetAttribute(“select_id”) == “Ankara” ? “değer1“ : context.Data.GetAttribute(“select_id”) == “İstanbul” ? “değer2“ Değer, seçilen bir alana bağlıdır. Ankara için 1, İstanbul için Değer2.
d.GetAttribute(“field_id1”) == “100” ?d.GetAttribute(“field_id2”)*5 Field_id1 1000 ise, değerimiz field_id2’nin değerinin 5 katı olacaktır.
context.Data.record.GeometryObj!=null ? “Geo” : “Non Geo” Kaydın geometrisine sahip olup olmadığı.
d.record.Device.MobileLicenseDepartment Bu alan kullanıcının departmanı olacaktır.
c[“mobidi”].CreateID(d,”field_id”,”Start_”) Field_id için otomatik “ID” ayarlayın. Start_1, Start_2 vb.

Makrolar hakkında daha fazla bilgi için lütfen aşağıdaki sayfalara bakınız

alan_id değeri makrolar içinde alanlara erişmek için kullanılır.


Sadece boş değerleri güncelle?

Bu seçenek işaretli değilse tanımlanan makro her durumda yazılan değerleri ezer. İşaretli ise daha önceden farklı şekillerde girilmiş değerler korunur. Bu değerler manuel olarak veya farklı bir makro ile girilmiştir. Çok özel durumlar haricinde işaretlemeniz gerekmez.