Outdated documentation

The latest documentation was moved to docs.qfield.org

Attribute Form Configuration

QField creează formulare similare, dar nu identice cu cele din QGIS.

Suprimare Formular Entitate

The setting „suppress attribute form” is directly applied to the QField form.

Controalele grafice de tip câmp

Controalele grafice de tip câmp din QGIS sunt permise, datorită unui efort susținut.

Widget type Acceptat Observații
Editare Text
  • Codul HTML nu este acceptat
  • Introducerea valorilor numerice are loc în funcție de tip.
Casetă de Bifare  
Hartă de Valori  
Ascuns  
Attachment This field is combined with camera integration. It is also able to open other files like pdf and doc (if the user has an appropriate viewer) Attachment (photo settings)
Data și Ora  
Referința Relației  
Relation Widget  
Value Relation  
Altele Finanțare

Relation Widget

For more information refer to the relations chapter of the official QGIS Documentation.

../_images/relation_editor_widget_list.png

The relation widget shows all the referencing child features in a list. It is possible to add, delete and open them.

The visual identification of the list entries are done via the „Display Expression” of the child layer.

Key handling

Since the parents primary keys are used as foreign keys on the referencing child features, these primary keys must be save to use even after the synchronization back to the original data. Therefore we recommend to use stable values such as UUIDs for primary keys.

It is possible to already add children from a parent that is about to be added. This possibility will be blocked if there is no valid primary key on the parent or the constraints are violated. In case the adding of the parent feature is canceled after some children have been added already, the children are deleted as well.

Relații Many-To-Many

On many-to-many relationships, according to the cardinality setting in the QGIS Vector Layer Properties, on adding, deleting or opening an entry in the list effects directly the child layer (on direct cardinality) or the linking table (on many-to-one cardinality).

The second case is usually used when there are additional relation information (e.g. percentage) in the linking table.

../_images/relation_widget_cardinality.png

In case of the many-to-one cardinality on many-to-many relations the Display Expression needs to be set on the linking table.

Attachment (photo settings)

The widget type „Attachment” is used with fields that store the path to files.

It can be used to:

  • show and take photos
  • show links to external files like pdfs or documents
Attachement field settings

The path should be set to relative. The pictures, pdf and docs are stored then in a sub-directory of the project, where the link stored in the textfield is pointing to.

In QField the picture is displayed. By clicking the camera symbol the camera is started to update the picture with a new photo.

Picture in QField

On synchronization the sub-directory with the pictures, pdf and docs has to be copied as well.

The option „hyperlink” on the attachment widget will disable the camera functionality and enable a hyperlink to open a document (pdf, doc, …).

hyperlink_option

Value Relation

The widget „Value Relation” offers values from a related table in a combobox. You can select layer, key column and value column. Several options are available to change the standard behaviors: allow null value, order by value and allow multiple selections. The widget will display a drop-down or multiple-select list of the referenced features.

value_relation_widget

Proiectare de tip drag and drop pentru formulare

Designerul Drag and Drop al formularelor permite crearea de Grupuri și File.

Vizibilitate condiționată

Grupurile pot fi ascunse în baza unei expresii. Acest lucru este util atunci când unele atribute sunt cerute doar în anumite condiții. Un astfel de exemplu o reprezintă cartografierea copacilor. Unii dintre ei s-ar putea să fie atacați de o anumită boală, iar dvs. aveți o listă cu posibile afecțiuni. Pentru a nu aglomera cu multe câmpuri formularul, creați un grup și stabiliți o expresie de vizibilitate pentru grupul „boli”. Adăugați câmpul „boli” și o casetă de bifare. Numai atunci când este bifată caseta de selectare, lista bolilor va fi disponibilă utilizatorului.

Conditional visibility configuration

Configurarea unui grup de casete, care va fi afișat numai dacă este bifată opțiunea «measures_taken».

Let’s see what we got on the field:

Constrângeri

Câmpurilor atributelor li se pot atașa constrângeri. Constrângerile reprezintă expresii care, pentru a se putea salva formularul, trebuie evaluate la True (sau 1). Constrângerile sunt configurate per câmp, putându-se adăuga o descriere, care va indica utilizatorului cazul în care o constrângere nu este îndeplinită.

Constraint configuration

Configurarea unei constrângeri în cadrul unui interval

Cazuri obișnuite de utilizare

Nu puteți introduce o valoare cu o altitudine mai mare decât a celui mai înalt munte din această țară.

"elevation" < 5000

Este necesar să introduceți un identificator.

"identifier" IS NOT NULL

Valori implicite

Pentru câmpuri se pot configura valori implicite. Acestea vor fi automat inserate în formularul cu atribute la digitizarea unei noi entități. Ele sunt vizibile pentru utilizator și pot fi modificate atât timp cât este posibilă editarea în câmpul respectiv. De asemenea, pot fi construite pe baza unor variabile sau expresii geometrice.

Default value configuration

Configurarea ca valoare implicită a unei date formatate

Variabile adiționale

For more information regarding storing information related to your position in object attributes, refer to the deticated GNSS documentation.

Cazuri obișnuite de utilizare

Introduceți ca variabile informațiile de poziționare:

@position_horizontal_accuracy

Introduceți data și ora curente:

now()

Inserați lungimea liniei digitizate:

length($geometry)

Configurați variabilele globale ale dispozitivului și introduceți-le.

@operator_name

În cazul în care doriți să alocați un cod de regiune, în funcție de locația din care se introduce o entitate nouă, puteți face acest lucru prin utilizarea unei expresii de agregare:

aggregate( layer:='regions', aggregate:='max', expression:="code", filter:=intersects( $geometry, geometry( @parent ) ) )

To transform the coordinates received from @position_coordinate to the coordinate system of your project:

x(transform(@position_coordinate, 'EPSG:4326', @project_crs ))
y(transform(@position_coordinate, 'EPSG:4326', @project_crs ))

If you want to use the snapping results after drawing a line, you can use the @snapping_results variable. The following code extracts the value of the attribute id of the snapping match of the first point of a line.

with_variable(
  'first_snapped_point',
  array_first( @snapping_results ),
  attribute(
    get_feature_by_id(
      @first_snapped_point['layer'],
      @first_snapped_point['feature_id']
    ),
    'id'
  )

)

Editabil

Se respectă fanionul editabil al câmpurilor.

Memorarea ultimelor valori

QField oferă un control mult mai fin asupra ultimei valori utilizate, ignorând setarea din QGIS.

Auto-complete value

The “Use completer” checkbox must be checked to be able to use the auto-complete in the value relation.

../_images/autocomplet_form.png

Here a video showing how it works on QField Search in value list.