Sisukord
Register 🔎︎

# Tingimuste kirjeldamine

Tingimused on loogilised avaldised, mida saab kasutada väljade ja sektsioonide kuvamise kontrollimiseks dokumendis. Kuigi järgnevad näited on väljade kohta, kehtivad nad ka sektsioonide kohta.

Tingimusi on võimalik kirjeldada järgnevatele väljatüüpidele:

1. Tingimuslik tekst: kui tingimus on täidetud, kuvatakse teksti A, kui mitte, siis teksti B.

2. Peidetud tekst: kui tingimus on täidetud, peidetakse välja sisu.

3. Peidetud lõik: kui tingimus on täidetud, peidetakse lõik.

4. Any record and next record: controls the access to database records.

The simplest way to define a condition is to type the logical expression directly in a Condition box using the following values:

TÕENE | Tingimus on alati täidetud. Tingimusliku tekstina võib sisestada ka suvalise nulliga mittevõrdse väärtuse.
VÄÄR | Tingimus pole täidetud. Võid sisestada väärtuseks ka 0.

Jättes kasti Tingimus tühjaks, interpreteeritakse seda mittetäidetud tingimusena.

When you define a condition, use the same elements for defining a formula, namely comparative operators, mathematical and statistical functions, number formats, variables and constants.

Tingimuse kirjeldamiseks on võimalik kasutada järgnevaid muutujatüüpe:

1. Predefined LibreOffice variables that use statistics on document properties

2. Custom variables, that are a created with the "Set variable" field

3. Kasutaja isikuandmetel põhinevad muutujad

4. Andmebaasi väljade sisul põhinevad muutujad

You cannot use internal variables, such as page and chapter numbers, in condition expression.

## Tingimused ja muutujad

Järgnevad näited kasutavad muutujat nimega "x":

x == 1 või x EQ 1 | Tingimus on tõene, kui "x" võrdub 1.
x != 1 või x NEQ 1 | Tingimus on tõene, kui "x" ei võrdu 1.
sinx == 0 | Tingimus on tõene, kui "x" on pii kordne.

Võrdlustehete tegemiseks stringidega peavad võrreldavad stringid olema jutumärkidega eraldatud:

x == "ABC" või x EQ "ABC" | Kontrollib, kas muutuja "x" sisaldab (tõene) stringi "ABC" või mitte (väär).
x == "" või x EQ "" või !x või NOT x | Kontrollib, kas muutuja "x" on tühistring.

The "equal" comparative operator must be represented by two equal signs (==) in a condition. For example, if you define a variable "x" with the value of 1, you can enter the condition as x==1.

## Isikuandmed

You can include user data when you define conditions. To change your user data, choose LibreOffice - PreferencesTools - Options - LibreOffice - User data. User data must be entered in the form of strings. You can query the user data with "==" (EQ), "!=" (NEQ), or "!"(NOT).

Järgnev tabel kirjeldab isikuandmete muutujaid ja nende tähendusi:

Muutuja | Tähendus
--- | ---
user_firstname | Eesnimi
user_lastname | Perekonnanimi
user_initials | Initsiaalid
user_company | Ettevõte
user_street | Tänav
user_country | Riik
user_zipcode | Sihtnumber
user_city | Linn
user_title | Tiitel
user_position | Amet
user_tel_work | Töötelefon
user_tel_home | Kodune telefon
user_fax | Faksinumber
user_email | Email address
user_state | Maakond (mitte kõigis LibreOffice'i versioonides)

Näiteks, kui soovid peita lõiku, teksti või sektsiooni kasutaja eest, kelle initsiaalideks on "LM", siis sisesta tingimuseks user_initials=="LM".

## Tingimused ja andmebaasiväljad

You can define conditions for accessing databases, or database fields. For example, you can check the contents of a database field from a condition, or use database fields in logical expressions. The following table lists a few more examples of using databases in conditions:

Näide | Tähendus
--- | ---
Andmebaas.Tabel.Ettevõte Andmebaas.Tabel.Ettevõte NEQ "" Andmebaas.Tabel.Ettevõte != "" | Tingimus on tõene, kui väli ETTEVÕTE ei ole tühi. Esimeses näites polegi tehtemärki vaja.
!Andmebaas.Tabel.Ettevõte NOT Andmebaas.Tabel.Ettevõte Andmebaas.Tabel.Ettevõte EQ "" Andmebaas.Tabel.Ettevõte == "" | Returns TRUE if the COMPANY field is empty.
Andmebaas.Tabel.Ettevõte !="Sun" Andmebaas.Tabel.Ettevõte NEQ "Sun" | Returns TRUE if the current entry in the COMPANY field is not "Sun". (Exclamation sign represents a logical NOT.)
Andmebaas.Tabel.Eesnimi AND Andmebaas.Tabel.Nimi | Tagastab tõese väärtuse, kui kirje sisaldab nii ees- kui perekonnanime.

Note the difference between the boolean NOT "!" and the comparative operator not equal "!=" (NEQ).

When you refer to a database field in a condition, use the form Databasename.Tablename.Fieldname. If one of the names contains a character that is an operator, such as a minus sign (-), enclose the name in square brackets, for example, Databasename.[Table-name].Fieldname. Never use spaces inside field names.

### Näide: tühja andmebaasivälja peitmine

Sul võib tekkida soov luua tingimus, mis peidab tühja välja. Näiteks, kui mõnede kirjete väli ETTEVÕTE on tühi.

Select the Hidden Paragraph list entry, and type the following condition: Addressbook.Addresses.Company EQ ""

või sisesta järgnev

NOT Aadressiraamat.Aadressid.Ettevõte

Kui väli ETTEVÕTE on tühi, siis on tingimus tõene ja lõik peidetakse.

To display hidden paragraphs on the screen, choose LibreOffice - PreferencesTools - Options - LibreOffice Writer - View, and clear the Hidden paragraphs check box.

## Examples of Conditions in Fields

The following examples use the Conditional text field, although they can be applied to any fields that can be linked to a condition. The syntax used for conditions is also used for the Hidden text, Hidden paragraph, Any record or Next record fields.

## Tingimusliku teksti kuvamine vastavalt lehekülgede arvule:

1. Vali Lisamine - Väljad - Muud ja klõpsa kaardil Funktsioonid.

2. Klõpsa loendis Tüüp oleval kirjel "Tingimuslik tekst".

3. Sisesta kasti Tingimus väärtuseks "page == 1".

4. In the Then box, type "There is only one page".

5. In the Or box, type "There are several pages".

6. Klõpsa Lisa ja seejärel Sulge.

## To display conditional text based on a user-defined Variable

1. Vali Lisamine - Väljad - Muud väljad - kaart Muutujad.

2. In the Type list, click "Set Variable".

3. In the Name box, type "Profit".

4. In the Value box, type "5000".

5. Klõpsa Lisa.

6. Click the Functions tab, and click "Conditional text" in the Type list.

7. Sisesta kasti Tingimus väärtuseks "Kasum < 5000".

8. In the Then box, type "Target is not met".

9. In the Or box, type "Target is met".

10. Klõpsa Lisa.

Muutuja "Kasum" sisu redigeerimiseks tee topeltklõps muutuja väljal.

## To display conditional text based on the contents of a database field:

The first part of this example inserts a space between the "First Name" and "Last Name" fields in a document, and the second part inserts text based on the contents of a field. This example requires that an address data source is registered with LibreOffice.

1. Vali Lisamine - Väljad - Muud - kaart Andmebaas.

2. In the Type list, click "Mail merge fields".

3. Tee topeltklõps mõnel andmebaasivaliku välja aadressiraamatul, klõpsa "Eesnimel" ja seejärel klõpsa Lisa. Korda protseduuri "Perekonnanime" jaoks.

4. In the document, place the cursor between the two fields, press Space, and then return to the Fields dialog:

5. Click the Functions tab, and then click "Conditional text" in the Type list.

6. In the Condition box, type: "Addressbook.addresses.firstname".

7. In the Then box, type a space and leave the Or box blank.

You can now use a condition to insert text based on the contents of the First Name field.

1. In the Fields dialog, click the Functions tab.

2. Klõpsa loendis Tüüp oleval kirjel "Tingimuslik tekst".

3. In the Condition box, type: Addressbook.addresses.firstname == "Michael"

4. In the Then box, type "Dear".

5. In the Else box, type "Hello".

6. Klõpsa Lisa.