title | description | documentationcenter | author | ms.prod | ms.topic | ms.devlang | ms.tgt_pltfrm | ms.workload | ms.search.keywords | ms.date | ms.author | ms.translationtype | ms.sourcegitcommit | ms.openlocfilehash | ms.contentlocale | ms.lasthandoff |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Как добавлять поля в макет отчета Word |
Описывается процедура добавления полей набора данных отчета в существующий макет отчета Word для отчета. |
jswymer |
dynamics-nav-2018 |
article |
na |
na |
na |
07/01/2017 |
jswymer |
HT |
4fefaef7380ac10836fcac404eea006f55d8556f |
1085c5390cf6f20cc2bd5c2a95057e6499dbac8c |
ru-ru |
10/16/2017 |
Практическое руководство. Добавление полей в макет отчета Word
Набор данных отчета может состоять из полей, отображающих метки, данные и изображения. В этом разделе описывается процедура добавления полей набора данных отчета в существующий макет отчета Word для отчета. Поля добавляются с использованием пользовательской части XML в Word для отчета и путем добавления элементов управления содержимым, сопоставляемых полям в наборе данных отчета. Добавление полей требует определенных знаний набора данных отчета, чтобы можно было идентифицировать поля, которые требуется добавить в макет.
[!NOTE]
Невозможно изменить встроенные макеты отчетов.
Открытие пользовательской части XML для отчета в Word
-
Если это еще не сделано, откройте макет отчета Word в Word.
Дополнительные сведения см. в разделе Практическое руководство. Создание и изменение пользовательского макета отчета.
-
Отобразите вкладку Разработчик на ленте Microsoft Word.
По умолчанию вкладка Разработчик не отображается на ленте. Дополнительные сведения см. в разделе Практическое руководство. Отображение вкладки разработчика на ленте.
-
На вкладке Разработчик выберите Область сопоставления XML.
-
В области Сопоставление XML в раскрывающемся списке Пользовательская XML-часть выберите пользовательскую XML-часть для отчета ADD INCLUDE, который обычно последний в списке. Имя пользовательской XML-части имеет следующий формат.
urn:microsoft-dynamics-nav/reports/имя_отчета/ИД
имя_отчета — это имя, назначенное отчету.
ИД — это идентификационный номер отчета.
После выбора пользовательской XML-части в области сопоставления XML отображаются метки и элементы управления полем, доступные для отчета.
Добавление поля метки или данных
-
Поместите курсор в документ, где требуется добавить элемент управления.
-
В области Сопоставления XML щелкните правой кнопкой мыши элемент управления, который требуется добавить, щелкните Вставить элемент управления содержимым и щелкните Обычный текст.
[!NOTE]
Невозможно добавить поле, вручную введя название поля набора данных в элементе управления содержимым. Необходимо использовать область Сопоставление XML для сопоставления полей.
Добавление повторяющихся строк полей данных для создания списка
-
В таблице добавьте строку таблицы со столбцом для каждого поля, которое должно повторяться.
Эта строка будет функционировать как местозаполнитель для повторяющихся полей.
-
Выберите всю строку.
-
В области Сопоставления XML щелкните правой кнопкой мыши элемент управления, соответствующий элементу данных отчета, который содержит повторяемые поля, щелкните Вставить элемент управления содержимым и выберите Повторяющийся.
-
Добавьте повторяющиеся поля на строку следующим образом.
-
Поместите указатель в столбец.
-
В области Сопоставления XML щелкните правой кнопкой мыши элемент управления, который требуется добавить, щелкните Вставить элемент управления содержимым и щелкните Обычный текст.
-
Для каждого поля повторите шаги а и б.
-
Добавление полей изображений
Набор данных отчета может включать поле, содержащее изображение, например логотип компании или изображение товара. Чтобы добавить изображение из набора данных отчета, вставьте элемент управления содержимым Изображение.
Изображения выравниваются в верхнем левом углу элемента управления содержимым и автоматически меняют свой размер пропорционально границе элемента управления содержимым.
[!IMPORTANT]
Можно добавить изображения только в формате, поддерживаемом Word, например BMP, JPEG и PNG. При добавлении изображения в формате, не поддерживаемом Word, получается ошибка при выполнении отчета из клиента ADD INCLUDE.
Добавление изображения
-
Поместите указатель в документ, где требуется добавить элемент управления.
-
В области Сопоставления XML щелкните правой кнопкой мыши элемент управления, который требуется добавить, щелкните Вставить элемент управления содержимым и щелкните Изображение.
-
Чтобы увеличить или уменьшить размер изображения, перетащите маркер размера по направлению к центру элемента управления содержимым или от него.
Обзор пользовательской XML-части
Макеты отчетов Word создаются на базе пользовательских XML-частей. Пользовательская XML-часть для отчета состоит из элементов, соответствующих элементам данных, столбцам и меткам, составляющим набор данных отчета. Пользовательская XML-часть используется для сопоставления данных в отчете при выполнении отчета.
Структура XML и пользовательская часть XML
В следующей таблице приведен упрощенный обзор XML пользовательской XML-части.
XML-элементы | Описанием |
---|---|
<?xml version="1.0" encoding="utf-16"?> |
Заголовок |
<WordReportXmlPart xmlns="urn:microsoft-dynamics-365/report/<reportname>/<id>/" |
Спецификация пространства имен XML. <reportname> — это имя, назначенное отчету. <id> — это ИД, назначенный отчету. |
..<Labels>
|
Содержит все метки отчета. — Элементы меток, связанные со столбцами, имеют формат <ColumnNameCaption>ColumnNameCaption</ColumnNameCaption> .— Элементы меток имеют формат <LabelName>LabelName</LableName .— Метки перечислены в алфавитном порядке. |
..<DataItem1>
|
Элементы данных и столбцы верхнего уровня. Столбцы перечислены в алфавитном порядке. |
....<DataItem2>
|
Элементы данных и столбцы, вложенные в элемент данных верхнего уровня. Столбцы перечислены в алфавитном порядке под соответствующим элементом данных. |
..</DataItem1>
|
Заключительный элемент. |
Пользовательская часть XML в Word
В Word следует открыть пользовательскую XML-часть в области Сопоставление XML, а затем воспользоваться этой областью для сопоставления этих элементов элементам управления содержимым в документе Word. Область Сопоставление XML можно открыть на вкладке Разработчик (для получения дополнительных сведений см. Практическое руководство. Отображение вкладки разработчика на ленте).
Элементы в области Сопоставление XML отображается в структуре, схожей с XML-источником. Поля меток группируются под общим элементом Метки, а элементы данных и столбцы упорядочены в иерархическую структуру, соответствующую источнику XML, где столбцы отображаются в алфавитном порядке. Элементы идентифицируются по имени, как определено свойством «Имя» в конструкторе наборов данных отчетов в ADD INCLUDE.
На приведенном ниже рисунке изображена простая пользовательская XML-часть из предыдущего раздела в области Сопоставление XML документа Word.
-
Для добавления метки или поля в макет вставьте элемент управления содержимым, соответствующий элементу в области Сопоставление XML.
-
Для создания повторяющихся строк столбцов вставьте элемент управления содержимым Повторяющийся для родительского элемента данных и добавьте элемент управления содержимым для столбцов.
-
Для меток фактический текст, отображаемый в созданном отчете, — это значение свойства Заголовок для поля в таблице элементов данных (если метка связана со столбцом в наборе данных отчета) или для метки в конструкторе меток отчетов (если метка не связана со столбцом в наборе данных).
-
Язык метки, отображаемый при выполнении отчета, зависит от настройки языка объекта отчета.
См. также
Практическое руководство. Создание и изменение пользовательского макета отчета
У меня есть файл xml, который я создал из электронной таблицы Excel. Этот xml представляет строки и столбцы электронной таблицы.
Например:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data-set xmlns="dummy.xsd">
<record>
<LastName>Smith</LastName>
<Sales>16753</Sales>
<Country>UK</Country>
<Quarter>Qtr 3</Quarter>
</record>
<record>
<LastName>Johnson</LastName>
<Sales>14808</Sales>
<Country>USA</Country>
<Quarter>Qtr 4</Quarter>
</record>
<record>
<LastName>Williams</LastName>
<Sales>10644</Sales>
<Country>UK</Country>
<Quarter>Qtr 2</Quarter>
</record>
<data-set>
Я хотел бы иметь возможность просматривать каждую строку и отображать каждую ее часть в виде компонента слова, чтобы я мог отформатировать ее с помощью форматов слова.
Итак, у меня было бы что-то вроде (с [[..]] символизацией компонентов и повторяющейся структурой)
[[
[[
[[Lastname]] - [[Sales]] - [[Contry]] - [[Repeat]]
]]
[[
[[Lastname]] - [[Sales]] - [[Contry]] - [[Repeat]]
]]
]]
Я уже открыл панель разработчика и загрузил свой xml с помощью функции (Добавить новую часть …) панели XML Mapping .
Когда я щелкаю правой кнопкой мыши тег иерархии XML и выполняю команду «Вставить элемент управления содержимым> Повторение», это создает компонент слова со следующим текстом:
«Введите любое содержимое, которое вы хотите повторить, включая другие элементы управления содержимым. Вы также можете вставить этот элемент управления вокруг строк таблицы, чтобы повторить части таблицы».
Если я помещу в него часть поля record ( Insert Content Control> PlainText ), это будет:
«Элементы управления обычным текстом не могут быть вставлены вокруг текущего выделения»
Я также попытался поместить схему в * Разработчик> Надстройки> Схема XML> Добавить схему «
2 ответа
Лучший ответ
Я наконец добился этого, сделав так:
- Активируйте «Панель разработчика» на «Ленте»
- Откройте «Панель сопоставления XML»
- Выберите «Разработчик> Сопоставление XML> Пользовательская часть XML> Добавить новую часть (…)» и выберите XML.
- Затем выберите файл XML в списке «Пользовательская XML-часть», щелкните правой кнопкой мыши элемент списка и выберите «Вставить элемент управления содержимым> Повторение». Это должно создать своего рода «двойные теги» в документе.
- Затем НЕ активируйте «Режим дизайна» («Разработчик> Режим дизайна») (иначе он будет жаловаться)
- Поместите курсор мыши внутри «двойных тегов», которые были созданы на странице (вместо «Введите любое содержимое, которое вы хотите повторить, включая другие элементы управления содержимым. Вы также можете вставить этот элемент управления вокруг строк таблицы в чтобы повторить части таблицы. «)
- Щелкните правой кнопкой мыши поле элемента на «Панели сопоставления XML» и выберите «Вставить элемент управления содержимым> Обычный текст». Это создаст новый «одиночный тег», который представляет поле на странице слова (вложенный в «двойной тег», представляющий «foreach»).
- Выключите режим дизайна (и снова включите и выключите, если необходимо). Элементы должны отображаться и содержать поле, которое было вставлено
Единственная проблема в том, что он очень медленный. Я попытался сопоставить 100 строк XML (только с двумя столбцами), и это заняло почти 5 минут.
2
matt
12 Фев 2015 в 09:12
У меня есть XML-файл, который я сгенерировал из таблицы Excel. Этот xml представляет строки и столбцы электронной таблицы.
Например:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data-set xmlns="dummy.xsd">
<record>
<LastName>Smith</LastName>
<Sales>16753</Sales>
<Country>UK</Country>
<Quarter>Qtr 3</Quarter>
</record>
<record>
<LastName>Johnson</LastName>
<Sales>14808</Sales>
<Country>USA</Country>
<Quarter>Qtr 4</Quarter>
</record>
<record>
<LastName>Williams</LastName>
<Sales>10644</Sales>
<Country>UK</Country>
<Quarter>Qtr 2</Quarter>
</record>
<data-set>
Я хотел бы иметь возможность проходить через каждую строку и отображать каждую ее часть в текстовом компоненте, так что я могу отформатировать его в форматах слова.
Так что я бы хотел что-то вроде (с [[..]] символизирующим компоненты и структурой повтора)
[[
[[
[[Lastname]] - [[Sales]] - [[Contry]] - [[Repeat]]
]]
[[
[[Lastname]] - [[Sales]] - [[Contry]] - [[Repeat]]
]]
]]
Я уже открыл панель разработчика и загрузил свой xml с помощью функции (Добавить новую деталь…) панели сопоставления XML.
Когда я щелкаю правой кнопкой мыши на теге иерархии XML и выполняю команду * Вставить управление содержимым> Повторение, это создает компонент слова со следующим текстом:
«Введите любой контент, который вы хотите повторить, включая другие элементы управления контентом. Вы также можете вставить этот элемент управления вокруг строк таблицы, чтобы повторить части таблицы».
Если я добавлю в него некоторые поля записи (вставьте элемент управления содержимым> PlainText), он скажет:
«Элемент простого текста не может быть вставлен в текущий выбор»
Я также попытался поместить схему в *Developer > Add-Ins > XML Schema > Add Schema»
2015-02-11 09:21
2
ответа
Решение
Я наконец добился этого, сделав так:
- Активируйте «Панель разработчика» в «Ленте»
- Откройте «Панель картирования XML»
- Выберите «Разработчик> Отображение XML> Пользовательская часть XML> Добавить новую часть (…)» и выберите XML
- Затем выберите файл XML в списке «Пользовательская часть XML» и щелкните элемент правой кнопкой мыши на элементе списка и выберите «Вставить управление содержимым> Повторение». Это должно создать вид «двойных тегов» в документе.
- Затем НЕ активируйте «Режим разработки» («Разработчик> Режим разработки») (иначе он будет жаловаться)
- Поместите курсор мыши внутри «двойных тегов», которые были созданы на странице (вместо «Введите любой контент, который вы хотите повторить, включая другие элементы управления контентом. Вы также можете вставить этот элемент управления вокруг строк таблицы, чтобы повторить части стола. «)
- И щелкните правой кнопкой мыши поле элемента в «Панели сопоставления XML» и выберите «Вставить элемент управления содержимым> Простой текст». Это создаст новый «одиночный тег», представляющий поле на странице слова (вложенный в «двойной тег». «которые представляют» foreach «)
- Выключите режим проектирования (и снова включите и выключите, если необходимо). Элементы должны отображаться и содержать поле, которое было вставлено
Единственная проблема в том, что это очень медленно. Я попытался отобразить XML на 100 строк (только с 2 столбцами) и занял почти 5 минут.
2015-02-12 09:12
0 / 0 / 1 Регистрация: 09.02.2018 Сообщений: 9 |
|
1 |
|
22.05.2018, 09:04. Показов 2405. Ответов 4
Друзья! Никак не могу разобраться с задачкой. Есть документ с XML-сопоставлением. В нем очень много повторяющихся слов, которые можно изменяя одно слово, менять все соответствующие. Спасибо!
0 |
l34ddx 65 / 62 / 23 Регистрация: 23.07.2014 Сообщений: 121 |
||||
22.05.2018, 13:55 |
2 |
|||
0 |
Kishhh 0 / 0 / 1 Регистрация: 09.02.2018 Сообщений: 9 |
||||
22.05.2018, 14:14 [ТС] |
3 |
|||
Это немного не то… Вы приводите просто замену текста, который есть в документе. Мне нужно найти элемент, например по тэгу, (SelectContentControlsByTag). И заменить его содержимое, тем самым изменив содержимое всех одинаковых элементов.
Вот так я могу найти по порядковому номеру. И присвоить содержание. Но не могу разобраться, как найти по тэгу или по названию.
0 |
l34ddx 65 / 62 / 23 Регистрация: 23.07.2014 Сообщений: 121 |
||||
22.05.2018, 14:53 |
4 |
|||
Так что ли?
0 |
0 / 0 / 1 Регистрация: 09.02.2018 Сообщений: 9 |
|
22.05.2018, 14:59 [ТС] |
5 |
contrls программа не воспринимает.
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
22.05.2018, 14:59 |
5 |
Здравствуйте.
Никогда не касался данной темы.
Суть в том, что когда я открываю документ Word из DocumentSet-а сайта SharePoint, то на панели MSWord во вкладке «Разработчик» можно кликнуть по иконке «Область сопоставления XML» — справа откроется панель «Сопоставление
XML»
В ней, можно выбрать пункт меню «http://schemas.microsoft.com/office/2006/metadata/properties»
И я увижу почти все поля моего ContentType привязаного к библиотеке документов. В Word-документ можно вставить такое «поле» (тег) и после повторного открытия будет видно значение этого тега. Очень удобно.
Вопрос в том, что почему то, в этом списке отображаются не все поля ContentType. Одно поле я добавил последним «CategorySAP» и не смотря на то что в ContentType оно есть, в списке «Сопоставление XML»
его нет.
Подскажите, куда посмотреть и что сделать, чтобы это поле так же отображалось в «Сопоставление XML» ?