25 декабря 2014 г.

LibreOffice Writer: Связанные поля

Очень часто на форумах задают вопрос о том, как сделать связанные поля. Т.е. если в документе есть несколько повторяющихся фрагментов, то как сделать так, чтобы при вводе одного фрагмента, изменялись и другие.

Решить данную проблему можно двумя способами. Первый способ использует поле «Переменная» (или «Поле пользователя»). Второй способ использует базы данных модуля LibreOffice Base. Первый способ проще, второй не намного сложнее, но гораздо универсальнее.

Способ 1: Поле «Переменная»

Итак, первый способ прост. Сначала создадим переменное поле (нет, не магнитное).

  1. Открываем диалоговое окно «Поля» (Вставка → Поля → Дополнительно) на вкладке «Переменная».
  2. Выбираем пункт «Задать переменную» (или «Поле пользователя»). Задаем ей Имя, присваиваем Значение и нажимаем кнопку Вставить.
  3. Первая переменная вставлена. Теперь эту же переменную надо вставить в другое место. Устанавливаем туда курсор и снова идем в диалог полей (Вставка → Поля → Дополнительно) на вкладку «Переменная», но уже выбираем пункт «Показать переменную». Выбираем нашу переменную и жмем кнопку Вставить.

Все, теперь у нас вставлено несколько копий одного и того же поля. Чтобы изменить их значения дважды нажимаем на первое поле мышкой и в открывшемся диалоге меняем значение. Во всех остальных полях оно изменится автоматически.

На этом первый способ завершен. Но есть и второй, гораздо более универсальный и практичный.

Способ 2: Базы данных

Этот способ использует базы данных. Особых навыков он не требует, даже если вы никогда не работали с Base. К слову, я толком не умею работать с базами данных и Base изучал методом тыка, однако мне хватило моих знаний, чтобы придумать этот способ. Да-да, я его именно придумал, а не вычитал откуда-то.

Как ни крути, некоторые навыки иметь надо. На сайте Myooo.ru есть хорошее руководство по модулю Base. Рекомендую ознакомиться.

Итак, для начала надо будет создать небольшую базу данных. Достаточно иметь хотя бы одну запись в базе.

  1. Открываем модуль Base и создаем новую базу данных.
  2. Выбираем пункт Создать таблицу в режиме дизайна и задаем ей следующие параметры.
  3. После того как таблица создана, введем одно значение в таблицу и сохраним базу данных.
  4. На этом Base можно закрыть. Открываем Writer и создаем свой документ.
  5. Открываем Источники данных (Вид → Источники данных или F4). В открывшемся меню выбираем раннее созданную базу данных и открываем таблицу.
  6. Выделяем первую строку в таблице данных и нажимаем кнопку Данные в текст
  7. В появившемся диалоге ставим маркер напротив Поля и выбираем данные, которые должны быть вставлены и нажимаем Ок.

Все, данные вставлены. Теперь у нас есть два способа изменить данные. либо меняем первую строку в таблице, либо добавляем новую. Т.к. базы данных созданы для накопления информации, то рекомендую добавлять новую строку.

Добавим новую строку в таблицу.

Теперь выделяем вторую строку и нажимаем Данные в поля. Всё, значения изменены. Одно и то же поле, например, с суммой можно вставить сколько угодно раз.