Визначення умов
Умови являють собою логічні вирази, які можна використовувати для керування відображенням полів та розділів в документі. Незважаючи на те, що наведені приклади стосуються полів, вони також застосовні і до розділів.
Умови можуть бути визначені для наступних типів полів:
-
Текст з умовою: відображає текст, А, якщо умова істинна, або текст Б, якщо умова хибна.
-
Прихований текст: якщо умова істинна, то приховує вміст поля.
-
Прихований абзац: приховує абзац, якщо умова істинна.
-
Будь-який запис та Наступний запис: керування доступом до записів бази даних.
Найпростіший спосіб визначити умову - ввести логічний вираз безпосередньо у поле Умова , використовуючи такі значення:
TRUE |
Умова завжди виконується. Можна замість тексту умови ввести будь-яке значення, не рівне 0. |
FALSE |
Умова не виконується. Можна також ввести значення 0. |

Якщо залишити поле Умова порожнім, умова вважатиметься невиконаною.
Визначаючи умову, використовуйте такі ж елементи, як для визначення формули, а саме: оператори порівняння, математичні і статистичні функції, формати чисел, змінні і константи.
При визначенні умови можна використовувати такі типи змінних:
-
Передвизначені змінні LibreOffice, що використовуються в статистичних властивостях документа
-
Користувацькі змінні, створені за допомогою поля "Встановити змінну"
-
Змінні на основі даних користувача
-
Змінні на основі вмісту полів бази даних
У виразах умов не можна використовувати внутрішні змінні, такі як номери сторінок і розділів.
Умови і змінні
У наведених прикладах використовується змінна "х":
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 |
Адреса електронної пошти |
user_state |
Область (не у всіх версіях LibreOffice) |
Наприклад, щоб приховати абзац, текст або розділ від користувача з певними ініціалами, наприклад, «ЛМ», введіть умову: user_initials==«ЛМ».
Умови і поля бази даних
Можна визначити умови для доступу до баз даних або полів баз даних. Наприклад, можна перевірити вміст поля бази даних з умови або використати поля бази даних в логічних виразах. В таблиці наведено ще декілька прикладів використання баз даних в умовах:
Приклад |
Значення |
База даних.Таблиця.Компанія База даних.Таблиця.Компанія NEQ "" База даних.Таблиця.Компанія != "" |
Умова істинна, якщо поле COMPANY не порожнє. (У першому прикладі оператор не потрібен.) |
!База даних.Таблиця.Компанія Не база даних.Таблиця.Компанія База даних.Табиця.Компанія EQ "" База даних.Таблиця.Компанія =="" |
Повертає TRUE, якщо поле COMPANY порожнє. |
База даних.Таблиця.Компанія =="" База даних.Таблиця.Компанія NEQ "" |
Повертає TRUE, якщо поточне значення у полі COMPANY відрізняється від "Sun". (Знак оклику позначає логічне заперечення.) |
БазаДаних.Таблиця.Імя AND БазаДаних.Таблиця.Прізвище |
Повертає значення TRUE, якщо запис містить ім'я і прізвище. |

Зверніть увагу на відмінність між логічним НЕ ("!") й оператором порівняння "не дорівнює" "!=" (NEQ).
При звертанні до поля бази даних в умові використовуйте форму "БазаДаних.НазваТаблиці.НазваПоля". Якщо одна з назв містить символ, який є оператором, наприклад, знак "мінус" (-), візьміть назву в квадратні дужки, наприклад, БазаДаних.[Назва-Таблиці].НазваПоля. Ніколи не використовуйте пропуски в назвах полів.
Приклад: Приховування порожнього поля бази даних
Можна створити умову, яка приховує порожнє поле, наприклад, якщо поле КОМПАНІЯ порожнє для деяких записів даних.
Виберіть елемент списку Прихований абзац і введіть таку умову: АдреснаКнига.Адреси.Компанія EQ ""
або друкують наступне
Не адресна книга.Адреси.Компанія
Якщо поле бази даних КОМПАНІЯ порожнє, умова істинна і абзац буде приховано.

Для виведення на екран прихованих абзаців виберіть LibreOffice – ПараметриЗасоби - Параметри - LibreOffice Writer – Знаки форматування і зніміть прапорець Поля: приховані абзаци.
Приклади умов у полях
В наступних прикладах використовується поле "Текст з умовою", однак вони можуть бути застосовані до будь-яких полів, які можуть бути пов'язані з умовою. Синтаксис, що використовується для умов, також використовується для полів "Прихований текст", "Прихований абзац", "Будь-який запис" або "Наступний запис".
Щоб показати умовний текст на основі числа сторінок:
-
Виберіть Вставка - Поле - Інші поля і клацніть вкладку Функції.
-
У списку Тип виберіть поле «Текст з умовою».
-
У поле Умова введіть "page == 1".
-
У поле То введіть "Є лише одна сторінка".
-
У поле Або введіть "Є декілька сторінок".
-
Натисніть Вставити, і потім натисніть Закрити.
Щоб відобразити умовний текст на основі визначеної користувачем змінної
-
Виберіть Вставка - Поле - Інші поля і клацніть вкладку Змінні.
-
У списку Тип виберіть «Задати змінну».
-
У полі Назва, введіть "Profit".
-
У полі Значення, введіть "5000".
-
Натисніть Вставити.
-
Відкрийте вкладку Функції і виберіть поле «Текст з умовою» у списку Тип.
-
У поле Умова введіть «Прибуток < 5000».
-
У полі Або, введіть "Hello".
-
У полі Або, введіть "Hello".
-
Натисніть Вставити.
Для зміни вмісту змінної "Прибуток" двічі клацніть поле змінної.
Щоб відобразити умовний текст на основі вмісту поля бази даних:
У першій частині даного прикладу в документ вставляється пропуск між полями «Ім'я» та «Прізвище», а в другій частині вставляється текст, заснований на вмісті поля. В даному прикладі потрібне зареєстроване в LibreOffice джерело адрес.
-
Виберіть Вставка - Поле - Інші поля і клацніть вкладку База даних.
-
У списку Тип виберіть "Поля баз даних".
-
У полі Вибір бази даних двічі клацніть адресну книгу, натисніть «Ім'я», потім натисніть кнопку Вставити. Повторіть те ж саме для поля «Прізвище».
-
У документі встановіть курсор між двома полями, натисніть пропуск і поверніться в діалогове вікно Поля.
-
Відкрийте вкладку Функції і виберіть «Текст з умовою» у списку Тип.
-
У поле Умова введіть: "Addressbook.addresses.firstname".
-
У полі Якщо виконується поставте пробіл, а поле Інакше залиште порожнім.
Тепер можна використати умову, щоб вставити текст на основі вмісту поля «Ім'я».
-
У діалоговому вікні Поля відкрийте вкладку Функції.
-
У полі Тип виберіть «Текст з умовою».
-
У поле Умова введіть: Addressbook.addresses.firstname=="Михайло".
-
У полі Або, введіть "Hello".
-
У полі Або, введіть "Hello".
-
Натисніть Вставити.