Заметка о некоторых приемах форматирования макета в MS Word при разработке печатной формы

29.04.16

Разработка - Работа с интерфейсом

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

Довелось потратить кучу времени на разработку нескольких печатных форм. Макет решил делать в MS Word, чтобы сохранить нюансы форматирования предоставленного образца, т.к. заказчик наставивал на соблюдении всех деталей фирменного стиля. В процессе разработки столкнулся с разными проблемами, в том числе связанными с оформлением макета. Вариантами решения некоторых проблем захотелось поделиться, чтобы сохранить кому-нибудь время и нервы.

Регулируем высоту колонтитулов с помощью размеров шрифта

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

Вариант оформления подписей с помощью таблицы

Довелось видеть разные подходы к оформлению подписей сторон в договорах, обычно сделано это аляповато. Мой вариант оформления не претендует на оригинальность, но помогает сохранить презентабельный внешний вид документу.

Итак, задача: настроить вывод подписей сторон, включая должность, горизонтальную черту под подпись и ФИО ответственного лица. Подписи должны располагаться на одном уровне независимо от длины должности и ФИО.

Вариант реализации:

  • Создать таблицу. Пример:
  • Настроить форматирование таблицы
    • Установить фиксированную ширину столбцов
    • Выбрать выравнивание элементов в ячейках таблицы. Например, должность выравниваем по правому краю, а ФИО по левому, «м.п.» выравниваем по центру. ФИО и должность дополнительно выравниваем по нижнему краю ячейки.
    • Настроить отображение границ в зависимости от требований. Пример: используем вариант «Нет границ», а затем добавляем нижнюю границу в ячейке, где требуется горизонтальная черта для подписи.
  • Если подписи сторон нужны на каждой странице, помещаем таблицу в колонтитул.

Не показываем колонтитул на последней странице с помощью выражений

При разработке договора было необходимо на каждой странице выводить подписи сторон, при этом на последней странице договора выводились реквизиты сторон и ответственных лиц, подписывающих договор.

Решил подписи сторон поместить в колонтитул, но в Word не нашел настройки, которые бы позволяли управлять отображением колонтитулов на последней странице, поэтому поступил следующим образом:

  • Настроил форматирование нижнего колонтитула в виде таблицы без границ.
  • Добавил вывод номера страницы – с этим все просто, т.к. номер страницы выводится на всех листах
  • Для удаления горизонтальной черты под подпись и слов «Поставщик» и «Покупатель» на последней странице использовал выражения для описания вывода полей в MS Word. Пример:
    • { IF { PAGE   \* MERGEFORMAT } = { NUMPAGES   \* MERGEFORMAT } "" "Поставщик" \* MERGEFORMAT } , т.е. если страница последняя, то "Поставщик" заменяем на "".
    • На всякий случай:
      • Переключаем режим отображения поля (значение поля/выражение) с помощью ALT+F9  
      • Вставляем поле с помощью CTRL+F9. Поле всегда обрамляется скобками: { и } 
      • Тут написано об управлении нумерацией страниц с помощью выражений: https://support.microsoft.com/en-us/kb/95886 

Фиксируем ширину столбцов

Упоминал об этом выше, но повторюсь еще раз. Для корректного отображения таблиц в документе рекомендуем заранее описывать ширину столбцов в соответствии с образцом. Это может быть неудобно в некоторых случаях, например, когда вы выбрали ширину столбца под шестизначное число, а оно может быть восьмизначным, но позволяет соблюсти внешний вид документа.

Используем разрывы страниц внутри областей

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

Выравниваем рисунки в макете

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

Вариант реализации:

  • Вставить рисунок в макет Word
  • Открыть в контекстном меню рисунка форму «Размер и положение»
  • Обтекание текстом выбрать «Перед текстом»
  • Установить настройки положения. Например: Горизонтальное выравнивание = по правому краю относительно поля, Вертикальное выравнивание = по нижнему краю относительно поля. Если требуется разместить рисунок ниже нижнего колонтитула, то придется задать положение ниже относительно поля. 

Напоследок…

Если бы заранее знал, насколько трудоемко добиться четкого следования оформлению образца, то вместо 20 часов, запланированных на создание четырех форм, включая вникание в задачу, беседы с заказчиком, программирование и отладку, отвел бы часов 50.

А еще надо было до оценки работ подготовить макеты с параметрами и описать источники данных для параметров. Это помогло бы выявить неучтенные моменты:

  • Источники данных для некоторых параметров отсутствовали в базе заказчика. Пришлось добавлять доп.реквизиты и согласовывать их с заказчиком.
  • ФИО и должности надо склонять, а это может стать проблемой в некоторых конфигурациях.
  • Документ, оформленный вручную, и документ, сгенерированный программно, – это не одно и тоже. Во втором случае могут понадобиться компромиссы в оформлении, которые хорошо бы согласовать предварительно.

PS. Предлагаю в комментариях поделиться опытом решения конкретных задач при настройке макетов в Word или кинуть ссылки на на эту тему, которые могут оказаться полезными при разработке.

Word

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61795    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54402    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16697    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10736    750    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    9613    151    acces969    31    

118

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3665    kalyaka    2    

27

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12080    1    5    

10
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Поручик 4670 29.04.16 11:53 Сейчас в теме
Сам полтора года назад парился с упоротой печатной формой в Word. Это был мрак с различной ориентацией разделов, генерацией таблиц, графиков и статичных изображений.
2. jokereinherjar 29.04.16 15:55 Сейчас в теме
впервые узнал о возможности формирования макета в ворде, обычно ваял их в 1с или в экселе
3. Оберон 16 04.05.16 10:25 Сейчас в теме
здорово! давайте еще и инструкции по Ворду писать.
жаль что "антилайк" сделать нельзя
4. DonAlPatino 176 04.05.16 10:34 Сейчас в теме
(3) Оберон, ну посоветуйте тогда решение. Ибо требование "хочу в ворде с подчеркиваниями, курсивами, болдами, шестью видами шрифтов,15 картинками и прочим..." выдвигается постоянно. И каждый раз приходится нудно и долго пилить индивидуальные формы.
5. Yashazz 4709 04.05.16 17:34 Сейчас в теме
Плюс за героизм. С этой хренью можно и больше 50 часов прокопаться без внятного результата.
6. v3rter 04.05.16 17:49 Сейчас в теме
Вариант оформления подписей с помощью таблицы

А чем плоха табуляция с настроенным подчеркиванием?
7. sergeevcorp 29 04.05.16 22:31 Сейчас в теме
(6) v3rter, а можно поподробнее? Или пример? Что-то понять не могу, как вы предлагаете сделать.
8. v3rter 05.05.16 09:48 Сейчас в теме
Есть в ворде такая штука - табуляция с заполнением. Правая кнопка мыши - абзац - табуляции. Если ее совместить с выравниванием табуляции по правому краю, а после нее вписать фамилию, получается "резиновый" нижний прочерк.
Табуляции есть во всех самоучителях по ворду, навскидку http://www.taurion.ru/word/13/11 из http://www.taurion.ru/word/13

Единственный минус - при выходе строки за пределы доступного места текст сдвигается вправо,в отличии от таблицы, поэтому способ с табуляциями хорош только при дополнительном контроле/ограничении длины данных.

Не показываем колонтитул на последней странице

Есть альтернативный вариант - перед последней страницей вставить разрыв раздела (панель разметка страницы - разрывы - разрывы разделов: следующая страница), зайти в колонтитул на предпоследней странице, скопировать его в буфер, отжать кнопку "как в предыдущем разделе" (на панели колонтитулов). Если колонтитул пропадет (бывает) - вставить из буфера или из резервной копии. Важный момент - параметры страниц разных разделов не связаны между собой .
teflon; Оберон; +2 Ответить
9. sergeevcorp 29 08.05.16 14:08 Сейчас в теме
(8) v3rter, спасибо! Почитал о возможностях табуляции. И спасибо за альтернативный вариант вывода колонтитула. Как-нибудь попробую.
10. K_A_O 538 18.05.16 16:54 Сейчас в теме
(8) >Есть альтернативный вариант - перед последней страницей вставить разрыв раздела
1C не анализирует разделы. В итоговом документе либо не будет колонитула, либо будет один на всех станицах.
11. v3rter 18.05.16 17:02 Сейчас в теме
(10) K_A_O, Если разрыв со всеми настройками сделан непосредственно в шаблоне, то всё должно быть ОК, 1С только вставит данные.
12. ZMD2065 14 08.02.18 11:59 Сейчас в теме
Коллеги, добрый день. Столкнулся с тем что в ЗУП 3.1 платформа 8.3.10.2667 при загрузке шаблона word 2013 не подтягиваются колонтитулы и рисунки. Может нужны какие-то специальные настройки в 1С или в word? Подскажите пожалуйста.
Оставьте свое сообщение