Если в шаблоне отчета в колонтитул вставить название объекта, от которого вызывается отчет, например, название процесса, то сразу при выполнении отчета это место в колонтитуле будет пустое. Что воспринимается как ошибка.
Такая ошибка - лишь особенность работы Word, который не обновляет поля в колонтитулах. Об этой ситуации даже где-то на сайте Microsoft написано.
Выйти из ситуации можно двумя путями:
«поиграв» со стилями;
в лоб через небольшой макрос.
Сегодня первый метод – «игра» со стилями.
Суть решения: вставляемое поле должно быть оформлено в основной части документа стилем, который больше нигде в документе не встречается. А в колонтитул вставить поле STYLEREF с указанием этого единственного стиля.
Задача: в нижний колонтитул отчета вставить название процесса, от которого вызывается отчет.
Допустим, что:
привязка типа объект, которая создана в Мастере отчетов, имеет название {DOCVARIABLE НазваниеПроцесса}
шаблон предварительно сгенерирован и не нуждается в последующей генерации;
мы находимся в режиме редактирования шаблона отчета.
1. Выделяем абзац с этой привязкой (в абзаце кроме нее не должно быть другого текста).
2. Необходимо назначить выделенной привязке стиль, который скорей всего не будем использовать, даже случайно не нажмем.
2.1. Для этого, на ленте «Главная» в группе «Стили» в нижнем правом углу нажимаем ссылку. Появится окно выбора стилей.
2.2 Выберем стиль, который больше не будем использовать в шаблоне. Например, «Название документа» и закрываем окно «Стили».
Примечание: Если стиль не подходит для вашего шаблона, то можно изменить внешний вид абзаца с {DOCVARIABLE НазваниеПроцесса} стандартными средствами (шрифт, размер, цвет и т.д.).
3. Переходим к нижнему колонтитулу, например через ленту «Вставка» - группу «Колонтитулы» - кнопку «Нижний колонтитул» - «Изменить нижний колонтитул».
4. Становимся в нижнем колонтитуле на то место, где необходимо будет выводить название процесса. Допустим, это крайняя левая позиция.
5. Вставляем поле через ленту «Вставка» - группу «Текст» - кнопку «Экспресс-блоки» - «Поле ».
6. Выбираем:
поле «StyleRef»
имя стиля «Название документа». Т.е. именно такой стиль, какой вы использовали в описании шагов выше.
и нажимаем ОК.
7. После этого в колонтитуле появился поле: {STYLEREF "Название документа" \* MERGEFORMAT}. Сохраняем и закрываем шаблон.
8. После выполнения такого отчета наша привязка будет сразу видна в колонтитуле.
Пример такого решения есть в поставляемых по умолчанию отчетах, например, в отчете «Регламент процесса IDEF0».
Плюсы решения:
Время, на то, чтобы обновились данные в колонтитуле можно считать нулевым. Все очень быстро.
Минусы решения:
Приходится поморочить голову со стилями.
Название процесса должно быть одно на весь абзац в основном документе. Т.е. нельзя использовать «Регламент процесса <НазваниеПроцесса>».
В этом случае можно выкрутиться 2 способами:
написав
Регламент процесса
<НазваниеПроцесса>
написав в отдельном абзаце <НазваниеПроцесса> и сделав текст белым. Т.е. текст будет не к месту в документе, но его не будет видно.