Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

4 Декабрь 2021, 07:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Вы можете задать вопрос по LibreOffice или Apache OpenOffice без регистрации, используя форму
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Текстовый документ с ограниченным изменением  (Прочитано 8411 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Вадим
Новичок
*
Offline Offline

Сообщений: 2


« Стартовое сообщение: 17 Ноябрь 2010, 14:45 »

Здравствуйте!
Пожалуйсто помогите.
Нужно создать текстовый документ содержащий часть не подлежащую изменению и часть для ввода личных данных.
Пример-договор.
В договоре текст является неизменной частью, а данные о подрядчике вносятся в установленных местах (желательно с автоматическим определением длинны строки).
Записан
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #1: 17 Ноябрь 2010, 16:06 »

И тебе не хворать, тёзка! Пожалусто помогём  Смеющийся

Такая задача имеет множество решений, но главное в них всех - защита от изменения части документа (вверху форума есть ссылка на Часто задаваемые вопросы - так это вот оттуда)

Самое красивое (хотя и не самое быстрое и простое!) решение:
Берем готовый документ со всем нужным форматированием. Это чтобы больше о форматировании не думать.
Перед самой первой строчкой документа вставляем новый лист (Вставка-Разрыв-Разрыв страницы).
На этой чистой странице пишем большими буквами
Заполни таблицу — получи договор или пакет документов или премию или еще что-то по смыслу
и ниже рисуем таблицу такого вида:
НазваниеЗначение
Условия договора
НомерДоговора__
Первая строчка - заголовки колонок (для тех, кто будет потом этим всем пользоваться)
Вторая строчка - название группы параметров. Ведь в договоре, например, этих групп должно быть несколько: "Условия договора", "Исполнитель", "Заказчик"... Это чтобы не лазить по всей таблице вверх-вниз, когда нужно поменять только одно-два значения,
В общем, это все оформительские заморочки. А вот дальше уже интереснее
Начиная с третьей строчки таблицы описываем те самые "личные данные", которые нужны будут по всему тексту документа.
В первой колонке пишем название пользовательской переменной (без пробелов), а во вторую - вставляем поле!
То есть, как в нашем примере, написали одним словом НомерДоговора, выделили его (хоть Ctrl+Home, хоть двойным щелчком мыши), скопировали в буфер обмена (Ctrl+Ins или Ctrl+C или еще как), стрелкой вправо перепрыгнули во вторую колонку, нажали Ctrl+F2 (открыли окошко ввода поля).
Там выбрали закладку Переменные, в тип поля отметили Поле пользователя (это нужно сделать один раз, в следующие разы так оно и будет открываться).
В Название вставляем из буфера обмена наш "НомерДоговора", а в Значение пишем чего-то умолчальное. Я обычно пишу пачку подчеркиваний - если перед печатью значение не изменят, то получат "пустографку".
Формат нужно в зависимости от типа данных в поле. Для номера договора можно, например, указать Текст - что введут, то и получат.
Теперь Enter (Вставить) и Esc (Закрыть).
Tab чтобы начать новую строку...
Трудно только первые три-четыре поля создать, дальше легче.
Когда все переменные параметры будущего документа уже будут собраны в таблицу, нужно будет пройтись по тексту документа и вставить поля на их места.
Находим номер договора (старый, отформатированный), выделяем, жмем те же самые Ctrl+F2, в списке Выбор дважды щелкаем на НомерДоговора.
Что приятно - окно Поля можно даже не закрывать, просто переключаться между ним о окном документа.
Когда закончишь расставлять поля по всему документу - еще проще: выделяешь всё от первой до последней строчки, из меню Вставка выбираешь пункт Раздел, ставишь птичку на Защита от изменений-Защищено.
Сохраняешь.

Теперь чтобы создать новый договор достаточно в таблице на первой странице дважды щелкнуть на нужном поле и ввести нужное значение - по всему документу они поменяются.

Ну, при печати первую страницу можно игнорировать...

Как-то так, в общем
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
Вадим
Новичок
*
Offline Offline

Сообщений: 2


« Ответ #2: 18 Ноябрь 2010, 10:08 »

Большое спасибо
Записан
Aville
см.ссылки
Новичок
*
Offline Offline

Пол: Мужской
Сообщений: 3

Ё моЁ


WWW
« Ответ #3: 1 Июль 2014, 19:07 »

почитал, очень интересные я тут идеи увидел...
но вот как бы придумать, что-то с правильностью колонтитулов, а именно, я вот в верхний пишу: договор/номер/тип/дата, а в нижний: страница/страниц и почти всегда в PDF вывожу. как мне сделать правильные колонтитулы?
Записан

--
Cегодня у меня: LibreOffice | Версия: 4.2.4.2 | ID сборки: 420m0(Build:2) на Ubuntu 14.04 LTS
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 368



« Ответ #4: 1 Июль 2014, 22:33 »

но вот как бы придумать, что-то с правильностью колонтитулов, а именно, я вот в верхний пишу: договор/номер/тип/дата, а в нижний: страница/страниц и почти всегда в PDF вывожу. как мне сделать правильные колонтитулы?
вставьте поля в колонтитулы...принцип тот же самый
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 368



« Ответ #5: 1 Июль 2014, 22:36 »

мне тут пришел в голову вопрос поинтереснее:
есть у меня шаблон договора, в котором есть условия на все случаи жизни. можно ли сделать так, чтобы
1) по условию, заданному в первой странице (беру пример JohnSUN), некоторый текст УДАЛЯЛСЯ из шаблона, естественно так, чтобы пробелов вместо удаленного текста не оставалось?
2) один из абзацев заполнялся на выбор из нескольких вариантов, которые уже набраны на первой странице и доступны для включения в шаблон?
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #6: 2 Июль 2014, 09:48 »

Всё верно, хороший договор именно так и делается. Только не "некоторый текст УДАЛЯЛСЯ из шаблона", а "некоторый текст СКРЫВАЛСЯ при просмотре/печати/экспорте в PDF"
Шаблон в этом случае действительно содержит все-все-все возможные формулировки, которые по условиям с первого листа отображаются в тексте или скрываются


* Отображение текста по условию.png (10.1 Кб, 545x230 - просмотрено 135 раз.)
« Последнее редактирование: 2 Июль 2014, 09:50 от JohnSUN » Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 368



« Ответ #7: 2 Июль 2014, 10:59 »

хм, спасибо, поэксперементирую на работе.
в понятие абзац входит пункт списка? скажем у меня весь договор в пунктах, которые оформлены списком и, скажем, п.3.12 (а всего их с 3.1 до 3.23) нужно скрыть. это получится?
« Последнее редактирование: 2 Июль 2014, 11:01 от kompilainenn » Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
JohnSUN
Капитана в тот день называли на "ты"
Гуру
*******
Offline Offline

Пол: Мужской
Расположение: Киев
Сообщений: 2 764


Помогаю людям и компьютерам понимать друг друга


WWW
« Ответ #8: 2 Июль 2014, 11:46 »

В смысле, чтобы нумерация при этом сдвинулась дальше по списку?..
Не уверен, что такой геморрой офису под силу... Абзац с номером 3.12 мы, конечно же, скрыть сможем. Но сама нумерация при этом не изменяется - пункт 3.13 и все последующие как нумеровались с учетом невидимого 3.12, так и будут нумероваться. А выкручиваться с вычисляемыми значениями переменных и их отображением в виде номеров пунктов - слишком муторно. Это же надо отследить и все возможные ссылки на эти пункты где-то в тексте.
Нет, настоящий программист за такое не возьмётся: скажет "Нельзя такое сделать"  и займется чем-то более интересным
Записан

Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне
rami
Гуру
*******
Offline Offline

Пол: Мужской
Сообщений: 3 117


iMac, LibreOffice и Apache OpenOffice


« Ответ #9: 2 Июль 2014, 12:04 »

Нет, настоящий программист за такое не возьмётся: скажет "Нельзя такое сделать"  и займется чем-то более интересным
Да, ты настоящий программист!  Всё хорошо
Записан

kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 368



« Ответ #10: 2 Июль 2014, 13:13 »

Печально, но можно сделать возможно убираемые пункты последними в статье...
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!