/
Advanced Form Features

Advanced Form Features

Conditionally Hide or Show a Field

Any field in MOBIDI can be conditionally visible. This I set in Advanced tab in the field. Following is the samples for Show and Hide rules.

field_id value is on the Macro tab.

Örnek

Açıklama

Örnek

Açıklama

formData['field_id']

if field_id has value then show/hide

formData['field_id'] == 'Ankara'

if field_id has value of “Ankara” then show/hide

formData['field_id1'] == 'Ankara' && formData['field_id2'] == 'Çankaya'

if field_id1 value is “Ankara” and field_id2 value is “Çankaya” then show/hide

['Ankara','İstanbul'].indexOf(formData['afield_id])>=0

if value is field_id is Ankara or İstanbul than show/hide

formData['field_id'] > 3

if value of field_id is greater than show/hide

items.length > 0

if record has at least one attachments(photo, video..) than show/hide

 

Macros

Macros is used to automatically fill the field. For example, the county/region/building or facility may be filled by your location. This feature not only makes data entry faster but also error-prone.

There are 3 choices for macros.

Spatial Relation - DB

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.

This option gets information from a spatial table from an external source. A shapefile or a spatial table in PostGIS. The tolerance is 40m.

This option works only if you are on the same server as MOBIDI Office installed.

 


Spatial Relation - Query

Almost Every record hence Query has location information. This choice uses a Query as the spatial data source.

Suppose you create a project for Site Management. If you have more than one site, every record must have site information in order to report or analyze per site. But entering site info for every record is a boring and error-prone method.

Spatial Relation - Query solves this problem.

Let's design a form called "Construction Site". Let this form contain the features of a construction site. The name of the site, the manager, photos of the place where the construction site will be set and more may in this form.

Let's create another form and call it "Activities" and define values ​​such as activity, quantity, etc.

If we want to have site information in the activities form, we must use "Spatial Relation - Query"

To implement the above scenarios:

  1. Add a field named “Site info” to activities form.

  2. Select Construction Site record in the Query.

  3. Congrulations1. İt’s done. Now you will see the information about the site in every activity. You may choose to get Form Caption or Map Label.


Advanced Relation Macro

If the above features do not meet your needs this macro may solve them. This choice may require some IT knowledge.

Örnek

Açıklama

Örnek

Açıklama

context.Data.GetAttribute("select_id") == "Ankara" ? “değer1“ : context.Data.GetAttribute("select_id") == "İstanbul" ? “değer2“

The value depends on a slect filed. Value1 for Ankara, Value2 for İstanbul.

d.GetAttribute("field_id1") == "100" ?d.GetAttribute("field_id2")*5

If field_id1 is 1000 then our value will be 5 times the value of field_id2.

context.Data.record.GeometryObj!=null ? "Geo" : "Non Geo"

Whether the record has geometry or not.

d.record.Device.MobileLicenseDepartment

This field will be department of the user.

c["mobidi"].CreateID(d,"field_id","Start_")

Set and automatic ID for the field_id. That sequence Start_1, Start_2 and so.

For more please check the Macros page.

field_id value is on the Macro tab.


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.