Rekenen en Vergelijkingen Samenvatting: verschil tussen versies

Uit ZaaksysteemWiki
Ga naar: navigatie, zoeken
(Operators)
(Troubleshooting)
 
(21 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 2: Regel 2:
  
 
= Algemeen =
 
= Algemeen =
Rekenen en vergelijkingen met waarden van [http://wiki.zaaksysteem.nl/Catalogus_kenmerk Kenmerken] kunnen op meerdere plekken in het systeem gebruikt worden, namelijk:
+
Zie ook de volgende overzichten:
 +
<ul>
 +
<li>[[systeemkenmerken_overzicht|Systeemkenmerken]]</li>
 +
<li>[[Kenmerktypen_overzicht|Kenmerktypen]]</li>
 +
<li>[[Kenmerkformatting_overzicht|Kenmerkformatting]]</li>
 +
</ul>
  
 +
Dit is een samenvatting van [[Rekenen_en_Vergelijkingen|Rekenen en vergelijken uitgebreid]]. Zie de uitgebreide documentatie voor meer voorbeelden en complexere situaties.
 +
 +
Rekenen en vergelijkingen met waarden van [[Catalogus_kenmerk|Kenmerken]] kunnen op meerdere plekken in het systeem gebruikt worden, namelijk:
 
<ul>
 
<ul>
 
<li>Direct in magicstrings</li>
 
<li>Direct in magicstrings</li>
<li>[http://wiki.zaaksysteem.nl/Zaaktypebeheer_Regels#Vul_waarde_in_met_formule Regel: Vul waarde in met formule]</li>
+
<li>[[Zaaktypebeheer_Regels#Vul_waarde_in_met_formule|Regel: Vul waarde in met formule]]</li>
<li>[http://wiki.zaaksysteem.nl/Catalogus_documentsjabloon#Variabele_teksten Variabele teksten] in documentsjablonen</li>
+
<li>[[Catalogus_documentsjabloon#Variabele_teksten|Variabele teksten]] in documentsjablonen</li>
 
</ul>
 
</ul>
  
 
= Rekenen =
 
= Rekenen =
Met formules kan de output aangepast worden door te rekenen met de kenmerkwaarde(n):
+
Formules kunnen gebruikt worden bij regels van het type 'vul waarde in met formule' en in vergelijkingen. De rekentekens die hierbij gebruikt kunnen worden zijn:
<ul>
 
<li>Met elk type kenmerk kan gerekend worden, zolang de waarde een correct getal is</li>
 
<li>Waardes die geen getal zijn worden als 0 geïnterpreteerd</li>
 
<li>Delen door 0 geeft geen output</li>
 
</ul>
 
  
=== Rekentekens ===
 
De rekentekens die gebruikt kunnen worden zijn:
 
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
 
|-
 
|-
Regel 40: Regel 41:
 
|<nowiki>-</nowiki>
 
|<nowiki>-</nowiki>
 
|}
 
|}
 +
In regels:
 +
<pre>
 +
voorbeeld_kenmerk * 5
 +
5 * ( voorbeeld_kenmerk - 2)
 +
</pre>
 +
In zttscript:
 +
<pre>
 +
show_when { voorbeeld_kenmerk * 5 == 20 }
 +
show_when { 5 * ( voorbeeld_kenmerk - 2 ) == 20 }
 +
</pre>
  
=== Afronding ===
+
Zie voor meer informatie en complexere situaties: [[Rekenen_en_Vergelijkingen#Rekenen|Rekenen uitgebreid]].
Formules worden afgerond op 10 cijfers achter de komma. Een uitkomst die in als waarde in een kenmerk wordt opgeslagen wordt afgerond op twee cijfers achter de komma.
 
 
 
Tip: Gebruik eventueel [http://wiki.zaaksysteem.nl/Kenmerkformatting_overzicht Kenmerkformatting] om de getallen af te ronden op gehele waarden.
 
  
 
= Vergelijken =
 
= Vergelijken =
Met vergelijkingen kan gecontroleerd wordt of een waarde aan een bepaalde conditie voldoet. De output is dan "1" als de conditie waar is en "" als de conditie niet waar is. In deze vergelijkingen kunnen ook berekeningen opgenomen worden.
+
Met vergelijkingen kan gecontroleerd wordt of een waarde aan een bepaalde conditie voldoet. In deze vergelijkingen kunnen ook berekeningen opgenomen worden.
  
 
=== Operators ===
 
=== Operators ===
De operators die gebruikt kunnen worden zijn:
+
{|
 +
|- style="vertical-align:top;"
 +
|
 +
De operators die gebruikt worden<br>
 +
voor kenmerken met één waarde:
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
 
|-
 
|-
Regel 77: Regel 89:
 
|<nowiki>~=</nowiki>
 
|<nowiki>~=</nowiki>
 
|}
 
|}
<pre>show_when { voorbeeld_kenmerk == "tekst" }</pre>
+
|
 
+
De operator die gebruikt wordt voor
===== in-operator =====
+
<br>kenmerken met meerdere waarden:
De meeste kenmerken bevatten één waarde, maar 'meervoudige keuze'-kenmerken bevatten vaak meer dan één waarde. Om te kunnen vergelijken met één van die waarden moet de 'in'-operator gebruikt worden.
 
 
{| class="wikitable" style="text-align:center;"
 
{| class="wikitable" style="text-align:center;"
 
|-
 
|-
Regel 89: Regel 100:
 
|<nowiki>in</nowiki>
 
|<nowiki>in</nowiki>
 
|}
 
|}
<pre>show_when { "tekst" in "meervoudig_kenmerk" }</pre>
+
|-
 +
|<pre>show_when { voorbeeld_kenmerk == "tekst" }</pre>
 +
|<pre>show_when { "tekst" in meervoudig_kenmerk }</pre>
 +
|}
  
 
=== Functies ===
 
=== Functies ===
De AND functie is 'waar' als alle voorwaarden 'waar' zijn. De voorwaarden moeten worden gescheiden door een komma.
+
De AND functie is 'waar' als alle voorwaarden 'waar' zijn, terwijl de OR functie 'waar' is als minimaal één van de voorwaarden 'waar' is. De voorwaarden worden gescheiden door een komma.
 
<pre>
 
<pre>
 
show_when { and( voorbeeld_kenmerk == "Appel", example_kenmerk == "Peer" ) }
 
show_when { and( voorbeeld_kenmerk == "Appel", example_kenmerk == "Peer" ) }
</pre>
+
show_when { or( voorbeeld_kenmerk == "Appel", example_kenmerk == "Peer" ) }
De OR functie is 'waar' als minimaal één van de voorwaarden 'waar' is. De voorwaarden moeten worden gescheiden door een komma.
 
<pre>
 
show_when { or( voorbeeld_kenmerk == "Appel", example_kenmerk == "Peer" ) }
 
 
</pre>
 
</pre>
 
De NOT functie is 'waar' als de voorwaarde 'niet waar' is, en omgekeerd, is 'niet waar' als de voorwaarde 'waar' is.
 
De NOT functie is 'waar' als de voorwaarde 'niet waar' is, en omgekeerd, is 'niet waar' als de voorwaarde 'waar' is.
Regel 104: Regel 115:
 
show_when { not( voorbeeld_kenmerk == "Appel" ) }
 
show_when { not( voorbeeld_kenmerk == "Appel" ) }
 
</pre>
 
</pre>
 +
 +
Zie voor meer informatie en complexere situaties: [[Rekenen_en_Vergelijkingen#Vergelijken|Vergelijken uitgebreid]].
 +
 +
= Troubleshooting =
 +
Veel voorkomende foutjes zijn:
 +
 +
{| class="wikitable" style="text-align:center"
 +
|-
 +
!Omschrijving
 +
!width="50px"|
 +
!width="600px"|Voorbeeld
 +
|-
 +
|rowspan="2" style="text-align:left"|Script heet niet 'zttscript'
 +
|Fout
 +
|JavaScript
 +
|-
 +
|Goed
 +
|zttscript
 +
|-
 +
|rowspan="2" style="text-align:left"|Kijken of het kenmerk voorkomt in de waarde, ipv andersom
 +
|Fout
 +
|show_when { magic_string in "waarde" }
 +
|-
 +
|Goed
 +
|show_when { "waarde" in magic_string }
 +
 +
|-
 +
|rowspan="2" style="text-align:left"|Aanhalingstekens uit Microsoft Word gebruiken
 +
|Fout
 +
|show_when { magic_string == “waarde” }
 +
|-
 +
|Goed
 +
|show_when { magic_string == "waarde" }
 +
 +
|-
 +
|rowspan="2" style="text-align:left"|Magicstring met blokhaken geschreven
 +
|Fout
 +
|<nowiki>show_when { [[magic_string]] == "waarde" }</nowiki>
 +
|-
 +
|Goed
 +
|<nowiki>show_when { magic_string == "waarde" }</nowiki>
 +
 +
|-
 +
|rowspan="2" style="text-align:left"|Niet letten op hoofdlettergevoeligheid
 +
|Fout
 +
|show_when { magic_string == "Waarde" }
 +
|-
 +
|Goed
 +
|show_when { magic_string == "waarde" }
 +
|-
 +
|rowspan="2" style="text-align:left"|Enkelvoudige operator gebruikt voor meervoudig kenmerk<br>Let op: Dit werkt wel, maar is enkel 'waar' wanneer er niet meerdere opties aangevinkt zijn
 +
|Fout
 +
|show_when { "waarde" == meervoudige_keuze }
 +
|-
 +
|Goed
 +
|show_when { "waarde" in meervoudige_keuze }
 +
|-
 +
|rowspan="2" style="text-align:left"|
 +
|Fout
 +
|
 +
|-
 +
|Goed
 +
|
 +
|-
 +
|rowspan="2" style="text-align:left"|
 +
|Fout
 +
|
 +
|-
 +
|Goed
 +
|
 +
|}

Huidige versie van 15 mrt 2017 om 03:29

Algemeen

Zie ook de volgende overzichten:

Dit is een samenvatting van Rekenen en vergelijken uitgebreid. Zie de uitgebreide documentatie voor meer voorbeelden en complexere situaties.

Rekenen en vergelijkingen met waarden van Kenmerken kunnen op meerdere plekken in het systeem gebruikt worden, namelijk:

Rekenen

Formules kunnen gebruikt worden bij regels van het type 'vul waarde in met formule' en in vergelijkingen. De rekentekens die hierbij gebruikt kunnen worden zijn:

Naam Teken
Haakjes: ()
Keer/maal: *
Gedeeld door: /
Plus: +
Min: -

In regels:

voorbeeld_kenmerk * 5
5 * ( voorbeeld_kenmerk - 2)

In zttscript:

show_when { voorbeeld_kenmerk * 5 == 20 }
show_when { 5 * ( voorbeeld_kenmerk - 2 ) == 20 }

Zie voor meer informatie en complexere situaties: Rekenen uitgebreid.

Vergelijken

Met vergelijkingen kan gecontroleerd wordt of een waarde aan een bepaalde conditie voldoet. In deze vergelijkingen kunnen ook berekeningen opgenomen worden.

Operators

De operators die gebruikt worden
voor kenmerken met één waarde:

Naam Teken
is gelijk aan ==
is niet gelijk aan !=
groter dan >
kleiner dan <
groter of gelijk aan >=
kleiner of gelijk aan <=
bevat tekst ~=

De operator die gebruikt wordt voor
kenmerken met meerdere waarden:

Naam Teken
komt voor in in
show_when { voorbeeld_kenmerk == "tekst" }
show_when { "tekst" in meervoudig_kenmerk }

Functies

De AND functie is 'waar' als alle voorwaarden 'waar' zijn, terwijl de OR functie 'waar' is als minimaal één van de voorwaarden 'waar' is. De voorwaarden worden gescheiden door een komma.

show_when { and( voorbeeld_kenmerk == "Appel", example_kenmerk == "Peer" ) }
show_when {  or( voorbeeld_kenmerk == "Appel", example_kenmerk == "Peer" ) }

De NOT functie is 'waar' als de voorwaarde 'niet waar' is, en omgekeerd, is 'niet waar' als de voorwaarde 'waar' is.

show_when { not( voorbeeld_kenmerk == "Appel" ) }

Zie voor meer informatie en complexere situaties: Vergelijken uitgebreid.

Troubleshooting

Veel voorkomende foutjes zijn:

Omschrijving Voorbeeld
Script heet niet 'zttscript' Fout JavaScript
Goed zttscript
Kijken of het kenmerk voorkomt in de waarde, ipv andersom Fout show_when { magic_string in "waarde" }
Goed show_when { "waarde" in magic_string }
Aanhalingstekens uit Microsoft Word gebruiken Fout show_when { magic_string == “waarde” }
Goed show_when { magic_string == "waarde" }
Magicstring met blokhaken geschreven Fout show_when { [[magic_string]] == "waarde" }
Goed show_when { magic_string == "waarde" }
Niet letten op hoofdlettergevoeligheid Fout show_when { magic_string == "Waarde" }
Goed show_when { magic_string == "waarde" }
Enkelvoudige operator gebruikt voor meervoudig kenmerk
Let op: Dit werkt wel, maar is enkel 'waar' wanneer er niet meerdere opties aangevinkt zijn
Fout show_when { "waarde" == meervoudige_keuze }
Goed show_when { "waarde" in meervoudige_keuze }
Fout
Goed
Fout
Goed