Справка LibreOffice 24.8
Условия представляют собой логические выражения, которые можно использовать для управления отображением полей и разделов в документе. Несмотря на то, что последующие примеры касаются полей, они также применимы и к разделам.
Условия могут быть определены для следующих типов полей:
Текст с условием: отображает текст А, если условие истинно, или текст Б, если условие ложно.
Скрытый текст: скрывает содержимое поля, если условие истинно.
Скрытый абзац: скрывает абзац, если условие истинно.
Любая запись и Следующая запись: управляет доступом к записям базы данных.
Самый простой способ определить условие - ввести логическое выражение непосредственно в поле Условие , используя следующие значения:
| ИСТИНА | Условие всегда выполняется. В качестве текста условия можно также ввести любое значение, не равное 0. | 
| ЛОЖЬ | Условие не выполняется. Здесь также можно ввести значение 0. | 
Если оставить поле Условие пустым, условие будет считаться невыполненным.
При определении условия используйте те же элементы для определения формулы, а именно: операторы сравнения, математические и статистические функции, форматы чисел, переменные и константы.
При определении условия можно использовать следующие типы переменных:
Предварительно определённые переменные LibreOffice, используемые в статистике в свойствах документа.
Пользовательские переменные, созданные с помощью поля "Задать переменную".
Переменные на основе данных пользователя
Переменные на основе содержимого полей базы данных
В выражениях условий не могут использоваться внутренние переменные, такие как номера страниц и глав.
В следующих примерах используется переменная "х".
| x == 1 или x EQ 1 | Условие истинно, если "х" равно 1. | 
| x != 1 или x NEQ 1 | Условие истинно, если "х" не равно 1. | 
| sinx == 0 | Условие истинно, если "х" кратно пи. | 
Для использования операторов сравнения со строками операнды следует заключить в двойные кавычки:
| x == "ABC" или x EQ "ABC" | Проверяет, содержит ли переменная «х» строку «ABC» (ИСТИНА), или не содержит (ЛОЖЬ). | 
| 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==«ЛМ».
Можно определить условия для доступа к базам данных или полям баз данных. Например, можно проверить содержимое поля базы данных из условия или использовать поля базы данных в логических выражениях. В таблице приведено ещё несколько примеров использования баз данных в условиях:
| Пример | Значение | 
|---|---|
| Database.Table.Company Database.Table.Company NEQ "" Database.Table.Company != "" | Условие истинно, если поле COMPANY не пусто. (В первом примере оператор не требуется.) | 
| !Database.Table.Company NOT Database.Table.Company Database.Table.Company EQ "" Database.Table.Company =="" | При пустом поле COMPANY возвращает значение ИСТИНА. | 
| Database.Table.Company != "Sun" Database.Table.Company NEQ "Sun" | Возвращает значение ИСТИНА, если текущее значение в поле COMPANY отлично от «Sun». (Восклицательный знак обозначает отрицание.) | 
| Database.Table.Firstname AND Database.Table.Name | Возвращает значение ИСТИНА, если запись содержит имя и фамилию. | 
Обратите внимание на разницу между логическим НЕ ("!") и оператором сравнения "не равно" "!=" (NEQ).
При обращении к полю базы данных в условии используйте форму "Databasename.Tablename.Fieldname". Если одно из имён содержит символ, являющийся оператором, например, знак "минус" (-), заключите имя в квадратные скобки, например, Databasename.[Table-name].Fieldname. Никогда не используйте пробелы в имени поля.
Можно создать условие, которое скрывает пустое поле, например, если поле COMPANY пусто для некоторых записей данных.
Выберите элемент списка Скрытый абзац и введите следующее условие: Addressbook.Addresses.Company EQ ""
или
NOT Addressbook.Addresses.Company
Если поле базы данных COMPANY пусто, условие истинно и абзац будет скрыт.
Для отображения скрытых абзацев на экране выберите и снимите флажок Скрытые абзацы.
В следующих примерах используется поле "Текст с условием", однако они могут быть применены к любым полям, которые могут быть связаны с условием. Используемый для условий синтаксис используется также для полей "Скрытый текст", "Скрытый абзац", "Любая запись" или "Следующая запись".
Выберите пункты менюВставка - Поля - Дополнительно и откройте вкладку Функции.
В списке Тип выберите поле «Текст с условием».
В поле Условие введите "page == 1".
В поле Если выполняется введите "В документе только одна страница".
В поле Иначе введите "В документе несколько страниц".
Нажмите кнопку Вставить, затем нажмите кнопку Закрыть.
Выберите Вставка - Поля - Ещё поля, а затем щёлкните вкладку Переменные.
В списке Тип выберите поле «Задать переменную».
В поле Имя введите «Прибыль».
В поле Значение введите "5000".
Нажмите кнопку Вставить.
Откройте вкладку Функции и выберите поле «Текст с условием» в списке Тип.
В поле Условие введите «Прибыль < 5000».
В поле Если выполняется введите "Цель не достигнута".
В поле Иначе введите «Цель достигнута».
Нажмите кнопку Вставить.
Для изменения содержимого переменной "Прибыль" дважды щёлкните поле переменной.
В первой части данного примера в документ вставляется пробел между полями «Имя» и «Фамилия», а во второй части вставляется текст, основанный на содержимом поля. В данном примере требуется зарегистрированный в LibreOffice источник адресов.
Выберите пункты менюВставка - Поля - Дополнительно и откройте вкладку База данных.
В списке Тип выберите "Поля слияния".
В поле Выбор базы данных дважды щёлкните адресную книгу, щёлкните «Имя», затем нажмите кнопку Вставить. Повторите то же самое для поля «Фамилия».
В документе установите курсор между двумя полями, нажмите пробел и вернитесь в диалоговое окно Поля.
Откройте вкладку Функции и выберите «Текст с условием» в списке Тип.
В поле Условие введите: "Addressbook.addresses.firstname".
В поле Если выполняется введите пробел, а поле Иначе оставьте пустым.
Теперь можно использовать условие, чтобы вставить текст на основе содержимого поля «Имя».
В диалоговом окне Поля выберите вкладку Функции.
В поле Тип выберите «Текст с условием».
В поле Условие введите: Addressbook.addresses.firstname == "Михаил"
В поле Если выполняется введите «Уважаемый».
В поле Иначе введите «Добрый день».
Нажмите кнопку Вставить.