Module
Contents
Index 🔎︎

# Definice podmínek

Podmínky jsou logické výrazy, které můžete použít pro ovládání zobrazení polí a sekcí dokumentu. Ačkoliv se následující příklady týkají polí, je možné je použít i na sekce.

Podmínky můžete definovat pro následující typy polí:

1. Podmíněný text: zobrazí text A, pokud podmínka platí, nebo text B, pokud podmínka neplatí.

2. Skrytý text: skryje obsah pole, je-li podmínka splněna.

3. Skrytý odstavec: skryje odstavec, je-li podmínka splněna.

4. Jakýkoliv záznam a Další záznam: řídí přístup k databázovým záznamům.

Nejjednodušší způsob, jak definovat podmínku, je zadat logický výraz přímo v políčku Podmínka použitím následujících hodnot:

TRUE | Podmínka je vždy splněna. Jako podmíněný text můžete také vložit libovolnou hodnotu různou od 0.
FALSE | Podmínka není splněna. Můžete také vložit hodnotu 0.

Pokud ponecháte políčko Podmínka prázdné, podmínka bude vyhodnocena jako nesplněná.

Když definujete podmínku, použijte stejné prvky jako při zápisu vzorce, konkrétně porovnávací operátory, matematické a statistické funkce, formáty čísla, proměnné a konstanty.

Při určení podmínky můžete použít následující typy proměnných:

1. Přednastavené proměnné LibreOffice, které obsahují statistické údaje o dokumentu

2. Vlastní proměnné, které vytvoříte pomocí pole "Nastavit proměnnou"

3. Proměnné založené na uživatelských údajích

4. Proměnné založené na obsahu databázových polí

V podmínce nemůžete použít interní proměnné, např. číslo stránky nebo kapitoly.

## Podmínky a proměnné

Následující příklady používají proměnnou pojmenovanou "x":

x == 1 nebo x EQ 1 | Podmínka je splněna, je-li "x" rovno 1.
x != 1 nebo x NEQ 1 | Podmínka je splněna, pokud "x" není rovno 1.
sinx == 0 | Podmínka je splněna, je-li "x" násobkem pí.

Chcete-li porovnávat řetězce, musíte operandy uzavřít do závorek:

x == "ABC" nebo x EQ "ABC" | Podmínka je splněna, pokud proměnná "x" obsahuje řetězec "ABC".
x == "" nebo x EQ "" nebo !x nebo NOT x | Podmínka je splněna, pokud proměnná "x" obsahuje prázdný řetězec.

Operátor "rovnosti" musí být v podmínce vyjádřen dvěma rovnítky (==). Např. jestliže definujeme proměnnou "x" s hodnotou jedna (1), můžeme podmínku zadat pomocí x==1.

## Uživatelské údaje

Do podmínek můžete zahrnout i uživatelské údaje. Chcete-li změnit vlastní uživatelské údaje, vyberte LibreOffice - Předvolby Nástroje - Možnosti
- LibreOffice - Uživatelské údaje. Uživatelské údaje musí být zadány jako textové řetězce. V podmínkách můžete použít operátory "==" (rovnost), "!=" (nerovnost) nebo "!"(logický zápor - NOT - pole je prázdné).

Následující tabulka obsahuje proměnné s uživatelskými údaji a jejich význam:

Proměnná | Význam
user_firstname | Jméno
user_lastname | Příjmení
user_initials | Iniciály
user_company | Společnost
user_street | Ulice
user_country | Země
user_zipcode | PSČ
user_city | Obec
user_title | Nadpis
user_position | Umístění
user_tel_work | Telefonní číslo do práce
user_tel_home | Telefonní číslo domů
user_fax | Faxové číslo
user_email | E-mailová adresa
user_state | Stav (není ve všech verzích LibreOffice)

Např. chcete-li schovat odstavec, text nebo sekci před uživatelem s určitými iniciály, např. "LM", zadejte podmínku: user_initials=="LM".

## Podmínky a databázová pole

V definici podmínek můžete použít databáze nebo databázová pole. Např. můžete v podmínce kontrolovat obsah databázového pole nebo použít databázové pole v logickém výrazu. V následující tabulce naleznete několik příkladů použití databází v podmínkách:

Příklad | Význam
Databáze.Tabulka.Společnost Databáze.Tabulka.Společnost NEQ "" Databáze.Tabulka.Společnost != "" | Podmínka je splněna, když pole COMPANY není prázdné. (V prvním příkladě není třeba žádný operátor.)
!Databáze.Tabulka.Společnost NOT Databáze.Tabulka.Společnost Databáze.Tabulka.Společnost EQ "" Databáze.Tabulka.Společnost == "" | Vrátí PRAVDA, jestliže je pole SPOLEČNOST prázdné.
Databáze.Tabulka.Společnost != "Sun" Databáze.Tabulka.Společnost NEQ "Sun" | Vrátí PRAVDA, jestliže aktuální obsah pole SPOLEČNOST není "Sun". (Vykřičník znamená logický zápor.)
Databáze.Tabulka.Jméno AND Databáze.Tabulka.Příjmení | Vrátí Pravda, jestliže záznam obsahuje jméno i příjmení.

Všimněte si rozdílu mezi logickým operátorem NOT (!) a srovnávacím operátorem není rovno NEQ (!=).

Když se odkazujete na pole databáze v podmínce, používejte formulaci JménoDatabáze.JménoTabulky.JménoPole. Jestliže jedno z těchto jmen obsahuje znak, který je operátorem - např. mínus (-) - uzavřete jméno do hranatých závorek. Např. JménoDatabáze.[Jméno-Tabulky].JménoPole. Nepoužívejte mezery ve jménech polí.

### Příklad: Skrytí prázdného databázového pole

Chceme-li vytvořit podmínku, která skryje prázdné pole, např. je-li pole Company u některých záznamů prázdné.

Vyberte Skrytý odstavec a zadejte následující podmínku: Adresář.Adresy.Jméno EQ ""

nebo zadejte

NOT Addressbook.Addresses.Company

Když je pole COMPANY prázdné, podmínka je splněna a odstavec je skryt.

Chcete-li zobrazit skryté odstavce, zvolte LibreOffice - Předvolby Nástroje - Možnosti
- LibreOffice Writer - Pomůcky pro formátování a zrušte zaškrtnutí pole Pole: Skryté odstavce.

## Příklady použití podmínek v polích

Následující příklady používají pole Podmíněný text, ale je možné je použít pro jakákoliv pole, která mohou být svázána s podmínkou. Uvedená syntaxe podmínek se používá též pro skrytý text, skrytý odstavec a pole jakýkoliv a další záznam.

## Chcete-li zobrazit podmíněný text v závislosti na číslování stránek:

1. Zvolte Vložit - Pole - Další pole a klepněte na kartu Funkce.

2. V seznamu Typ vyberte "Podmíněný text".

3. Do políčka Podmínka napište "page == 1".

4. Do políčka Potom napište "Dokument má pouze jednu stranu.".

5. Do políčka Jinak napište "Dokument má více stran.".

6. Klepněte na Vložit a poté na Zavřít.

## Chcete-li zobrazit podmíněný text v závislosti na uživatelem definované proměnné:

1. Zvolte Vložit - Pole - Další pole a klepněte na kartu Proměnné.

2. V seznamu Typ klepněte na "Nastavit proměnnou".

3. Do políčka Jméno zadejte "Zisk".

4. Do políčka Hodnota zadejte "5000".

5. Klepněte na Vložit.

6. Klepněte na kartu Funkce a poté na "Podmíněný text" v seznamu Typ.

7. Do políčka Podmínka zadejte "Zisk < 5000".

8. Do políčka Potom napište "Cíl nesplněn.".

9. Do políčka Jinak napište "Cíl splněn :-).".

10. Klepněte na Vložit.

Chcete-li upravit hodnotu proměnné "Zisk", poklepejte na pole proměnné.

## Chcete-li zobrazit podmíněný text v závislosti na poli databáze:

První část příkladu vloží mezeru mezi "Jméno" a "Příjmení" v dokumentu, druhá část vloží podmíněný text v závislosti na jménu. Pro správnou funkci příkladu je třeba v LibreOffice zaregistrovat zdroj adres.

1. Vyberte Vložit - Pole - Další pole a klepněte na kartu Databáze.

2. V seznamu Typ vyberte "Pole standardního dopisu".

3. V poli Výběr databáze poklepejte na adresář, klepněte na "Jméno" a poté na Vložit, opakujte pro "Příjmení".

4. V dokumentu umístěte kurzor mezi vložená pole, stiskněte mezerník a vraťte se do dialogu Pole.

5. Klepněte na kartu Funkce a klepněte na "Podmíněný text" v seznamu Typ.

6. Do pole Podmínka zadejte "Adresář.Adresy.Jméno".

7. Do políčka Potom zadejte mezeru a nechte políčko Jinak prázdné.

Nyní můžeme vložit text v závislosti na obsahu pole Jméno.

1. V dialogu Pole klepněte na kartu Funkce.

2. V seznamu Typ vyberte "Podmíněný text".

3. Do pole Podmínka zadejte: Adresář.Adresy.Jméno == "Michal"

4. Do políčka Potom zadejte "Milý".

5. Do pole Jinak zadejte "Dobrý den".

6. Klepněte na Vložit.