Зміст

# Визначення умов

Умови являють собою логічні вирази, які можна використовувати для керування відображенням полів та розділів в документі. Незважаючи на те, що наведені приклади стосуються полів, вони також застосовні і до розділів.

Умови можуть бути визначені для наступних типів полів:

1. Текст з умовою: відображає текст, А, якщо умова істинна, або текст Б, якщо умова хибна.

2. Прихований текст: якщо умова істинна, то приховує вміст поля.

3. Прихований абзац: приховує абзац, якщо умова істинна.

4. Будь-який запис та Наступний запис: керування доступом до записів бази даних.

Найпростіший спосіб визначити умову - ввести логічний вираз безпосередньо у поле Умова , використовуючи такі значення:

TRUE | Умова завжди виконується. Можна замість тексту умови ввести будь-яке значення, не рівне 0.
FALSE | Умова не виконується. Можна також ввести значення 0.

Якщо залишити поле Умова порожнім, умова вважатиметься невиконаною.

Визначаючи умову, використовуйте такі ж елементи, як для визначення формули, а саме: оператори порівняння, математичні і статистичні функції, формати чисел, змінні і константи.

При визначенні умови можна використовувати такі типи змінних:

1. Передвизначені змінні LibreOffice, що використовуються в статистичних властивостях документа

2. Користувацькі змінні, створені за допомогою поля "Встановити змінну"

3. Змінні на основі даних користувача

4. Змінні на основі вмісту полів бази даних

У виразах умов не можна використовувати внутрішні змінні, такі як номери сторінок і розділів.

## Умови і змінні

У наведених прикладах використовується змінна "х":

x == 1 або x EQ 1 | Умова істинна, якщо "х" дорівнює 1.
x != 1 або x NEQ 1 | Умова істинна, якщо "х" не дорівнює 1.
sinx == 0 | Умова істинна, якщо "х" кратне пі.

Щоб застосувати оператори порівняння до рядків, операнди слід брати у подвійні лапки:

x == "ABC" або x EQ "ABC" | Перевіряє, чи містить змінна "х" рядок "ABC" (true), чи не містить (false).
x == "" або x EQ "" або !x або NOT x | Перевіряє, чи містить змінна "х" порожній рядок.

Оператор порівняння "дорівнює" в умові слід записувати двома знаками рівності (==). Наприклад, якщо змінній "х" надано значення 1, умову можна ввести у вигляді x==1.

## Відомості про користувача

Визначаючи умови, можна включати відомості про користувача. Щоб змінити дані користувача виберіть LibreOffice - Параметри Засоби - Параметри - LibreOffice - Відомості про користувача. Відомості про користувача вводяться у вигляді рядків. Для запиту користувацьких даних можна використовувати оператори "==" (EQ), "!=" (NEQ) або "!"(NOT).

В таблиці перелічено змінні для користувацьких даних та їхні значення:

Змінна | Значення
--- | ---
user_firstname | Ім'я
user_lastname | Прізвище
user_initials | Ініціали
user_company | Компанія
user_street | Вулиця
user_country | Країна
user_zipcode | Поштовий індекс
user_city | Місто
user_title | Заголовок
user_position | Позиція
user_tel_work | Робочий телефонний номер
user_tel_home | Номер домашнього телефону
user_fax | Номер факсу
user_email | Email address
user_state | Область (не у всіх версіях LibreOffice)

Наприклад, щоб приховати абзац, текст або розділ від користувача з певними ініціалами, наприклад, «ЛМ», введіть умову: user_initials==«ЛМ».

## Умови і поля бази даних

Можна визначити умови для доступу до баз даних або полів баз даних. Наприклад, можна перевірити вміст поля бази даних з умови або використати поля бази даних в логічних виразах. В таблиці наведено ще декілька прикладів використання баз даних в умовах:

Приклад | Значення
--- | ---
База даних.Таблиця.Компанія База даних.Таблиця.Компанія NEQ "" База даних.Таблиця.Компанія != "" | Умова істинна, якщо поле COMPANY не порожнє. (У першому прикладі оператор не потрібен.)
!База даних.Таблиця.Компанія Не база даних.Таблиця.Компанія База даних.Табиця.Компанія EQ "" База даних.Таблиця.Компанія =="" | Повертає TRUE, якщо поле COMPANY порожнє.
База даних.Таблиця.Компанія =="" База даних.Таблиця.Компанія NEQ "" | Повертає TRUE, якщо поточне значення у полі COMPANY відрізняється від "Sun". (Знак оклику позначає логічне заперечення.)
БазаДаних.Таблиця.Імя AND БазаДаних.Таблиця.Прізвище | Повертає значення TRUE, якщо запис містить ім'я і прізвище.

Зверніть увагу на відмінність між логічним НЕ ("!") й оператором порівняння "не дорівнює" "!=" (NEQ).

При звертанні до поля бази даних в умові використовуйте форму "БазаДаних.НазваТаблиці.НазваПоля". Якщо одна з назв містить символ, який є оператором, наприклад, знак "мінус" (-), візьміть назву в квадратні дужки, наприклад, БазаДаних.[Назва-Таблиці].НазваПоля. Ніколи не використовуйте пропуски в назвах полів.

### Приклад: Приховування порожнього поля бази даних

Можна створити умову, яка приховує порожнє поле, наприклад, якщо поле КОМПАНІЯ порожнє для деяких записів даних.

Виберіть елемент списку Прихований абзац і введіть таку умову: АдреснаКнига.Адреси.Компанія EQ ""

або друкують наступне

Не адресна книга.Адреси.Компанія

Якщо поле бази даних КОМПАНІЯ порожнє, умова істинна і абзац буде приховано.

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

## Приклади умов у полях

В наступних прикладах використовується поле "Текст з умовою", однак вони можуть бути застосовані до будь-яких полів, які можуть бути пов'язані з умовою. Синтаксис, що використовується для умов, також використовується для полів "Прихований текст", "Прихований абзац", "Будь-який запис" або "Наступний запис".

## Щоб показати умовний текст на основі числа сторінок:

1. Виберіть Вставка - Поле - Інші поля і клацніть вкладку Функції.

2. У списку Тип виберіть поле «Текст з умовою».

3. У поле Умова введіть "page == 1".

4. У поле То введіть "Є лише одна сторінка".

5. У поле Або введіть "Є декілька сторінок".

6. Натисніть Вставити, і потім натисніть Закрити.

## Щоб відобразити умовний текст на основі визначеної користувачем змінної

1. Виберіть Вставка - Поле - Інші поля і клацніть вкладку Змінні.

2. У списку Тип виберіть «Задати змінну».

3. У полі Назва, введіть "Profit".

4. У полі Значення, введіть "5000".

5. Натисніть Вставити.

6. Відкрийте вкладку Функції і виберіть поле «Текст з умовою» у списку Тип.

7. У поле Умова введіть «Прибуток < 5000».

8. У полі Тоді, введіть "Мета не досягнута".

9. У полі Або, введіть "Мета досягнута".

10. Натисніть Вставити.

Для зміни вмісту змінної "Прибуток" двічі клацніть поле змінної.

## Щоб відобразити умовний текст на основі вмісту поля бази даних:

У першій частині даного прикладу в документ вставляється пропуск між полями «Ім'я» та «Прізвище», а в другій частині вставляється текст, заснований на вмісті поля. В даному прикладі потрібне зареєстроване в LibreOffice джерело адрес.

1. Виберіть Вставка - Поле - Інші поля і клацніть вкладку База даних.

2. У списку Тип виберіть "Поля баз даних".

3. У полі Вибір бази даних двічі клацніть адресну книгу, натисніть «Ім'я», потім натисніть кнопку Вставити. Повторіть те ж саме для поля «Прізвище».

4. У документі встановіть курсор між двома полями, натисніть пропуск і поверніться в діалогове вікно Поля.

5. Відкрийте вкладку Функції і виберіть «Текст з умовою» у списку Тип.

6. У поле Умова введіть: "Addressbook.addresses.firstname".

7. У полі Якщо виконується поставте пробіл, а поле Інакше залиште порожнім.

Тепер можна використати умову, щоб вставити текст на основі вмісту поля «Ім'я».

1. У діалоговому вікні Поля відкрийте вкладку Функції.

2. У полі Тип виберіть «Текст з умовою».

3. У поле Умова введіть: Addressbook.addresses.firstname=="Михайло".

4. У полі Тоді, введіть "Шановний".

5. У полі Інакше, введіть "Здрастуйте".

6. Натисніть Вставити.