Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамWeb-расширения

1С:Предприятие 8.2 /
Разработчикам /
Web-расширения

Оглавление

Формат данных отчета в Web-расширении

Введение

Для создания отчета в Web-расширении используется объект V8ReportSource, который, в свою очередь, пользуется несколькими объектами. Среди них объекты: V8ReportBuilder, V8ReportFormatter и объект, отвечающий за механизм кеширования отчета.

Объект V8ReportBuilder предназначен для решения следующих задач:

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

Объект V8ReportFormatter – объект, задачей которого является преобразование данных отчета в формат оформленного отчета. Объекту V8ReportFormatter на вход подается некоторое количество данных отчета в формате XML документа и параметры оформления. На выходе получаются оформленные данные - также документ XML, но уже с несколько другой структурой.

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

После выполнения запроса объектом V8ReportBuilder полученные данные помещаются в кеш, из которого по мере необходимости эти данные извлекаются и передаются объекту V8ReportFormatter (в формате данных без оформления). Объект V8ReportFormatter , используя параметры оформления, возвращает отчет в формате данных с оформлением. Как оформленный, так и не оформленные отчеты представлены в формате XML. Целью данного раздела является описание формата представления данных отчета в Web-расширении.

Данные без оформления

Документ содержит параметры отчета, отборы, описания полей, описания группировок строк и колонок и, собственно, данные отчета, которые оформлены в виде таблицы .

Параметр отчета имеет имя и значение .

Отбор не имеет имени и характеризуется путем к данным, типом сравнения и, собственно, значением отбора (для интервалов двумя значениями).

Часть описания полей отчета содержит список полей и взаимосвязь между ними, а также содержит описание типа поля. Описание поля нужно для правильного форматирования значений типа Число и Дата. Кроме того, для автоматического форматирования отчета в описании поля содержится длина представления значения поля.

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

Описание элементов

Далее описываются элементы данных отчета без оформления. Колонка Количество показывает количество подчиненных (детей) элементов. Символ "*" означает любое количество элементов.

report

Корневой элементдокумента .

parameters

Список параметров отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
parameter0…*Параметры отчета

parameter

Параметр отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
name1Имя параметра
presentation1Представление параметра
value1Строковое представление значения параметра

filters

Список отборов отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
filter0...*Отбор отчета

filter

Отбор отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
dataPath1Путь к данным
comparisonType1Вид сравнения
value1Строковое представление значения отбора
valueFrom1Строковое представление значения нижней границы интервала отбора
valueTill1Строковое представление значения верхней границы интервала отбора

comparisonType

Вид сравнения. Может содержать значения: Equal, NotEqual, Contains, Greater, GreaterOrEqual, Less, LessOrEqual, Interval, IntervalIncludingBounds, IntervalIncludingLowerBound, IntervalIncludingUpperBound, InGroup, InList, InListByHierarchy, NotInGroup, NotInList, NotInListByHierarchy.

fieldInfos

Список описаний полей отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
fieldInfo*Описание поля отчета

fieldInfo

Описание поля отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
name1Имя поля
presentation1Представление поля
owner1Владелец поля
ownerPresentation1Признак, что является представлением владельца
resource1Признак, что поле ресурс
typeDescription1Строковое представление описания типа поля
presentationLength1Длина представления значения поля

rowGroupInfos

Список описаний группировок строк отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
rowGroupInfo*Описание группировки строк отчета

rowGroupInfo

Описание группировки строк отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
name1Имя группировки
presentation1Представление группировки

columnGroupInfos

Список описаний группировок колонок отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
columnGroupInfo*Описание группировки колонок отчета

columnGroupInfo

Описание группировки колонок отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
name1Имя группировки
presentation1Представление группировки

table

Элемент, описывающий табличную часть отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
column*Колонка отчета. Данный элемент только описывает колонку отчета, но не содержит данные. Не содержит элементов
row*Описывает строку таблицы. Может содержать элементы cell

column

Колонка отчета. Данный элемент только описывает колонку отчета, но не содержит данные. Не содержит элементов.

Подчиненные элементы:

НаименованиеКоличествоОписание
group1Колонка, содержащая имя группировки. Для детальных содержит зарезервированное имя "Detail"
groupNumber1Абсолютный номер группировки колонки. Идентифицирует группировку в отчете
level0-1Число, уровень вложенности группировки, к которой относится колонка
hasChild0-1Булево, имеются ли у данной колонки вложенные колонки. Имеются ли они вообще в отчете, а не в данном конкретном документе
isOpen0-1Булево, открыта или закрыта группировка. Имеет смысл, только если атрибутhasChildистина и часть, к которой относится колонка, является заголовком
groupPart0-1Является ли данная колонка заголовком группировки, подвалом или просто строкой. Установлен, только если сказано выводить данные по группировке в заголовке и в итогах. Для заголовка "header", для подвала "footer", для простого "none". Для колонки, не имеющей подчиненных колонок, вообще не установлен

Для указания левой (заголовка) и правой (итога) части группировок строк используются тоже элемент column.

row

Описывает строку таблицы. Может содержать элементы cell.

Подчиненные элементы:

НаименованиеКоличествоОписание
group1Строка, содержащая имя группировки. Для детальных содержит зарезервированное имя "Detail"
groupNumber1Абсолютный номер группировки строки. Идентифицирует группировку в отчете
level0-1Число, уровень вложенности группировки, к которой относится строка
hasChild0-1Булево, имеются ли у данной строки вложенные колонки. Имеются ли они вообще в отчете, а не в данном конкретном документе
isOpen0-1Булево, открыта или закрыта группировка. Имеет смысл, только если атрибут hasChildистина и часть, к которой относится строка, является заголовком
groupPart0-1Является ли данная колонка заголовком группировки, подвалом или просто строкой. Установлен, только если сказано выводить данные по группировке в заголовке и в итогах. Для заголовка "header", для подвала "footer", для простой "none". Для строки, не имеющей подчиненных строк, вообще не установлен

cell

Описывает отдельную ячейку отчета. Содержит элементы field.

Подчиненные элементы:

НаименованиеКоличествоОписание
rowGroupNumber1Номер группы
rowGroupPart0-1Является заголовком или подвалом
columnGroupNumber1Номер группы колонки
columnGroupPart0-1Является заголовком или подвалом
field*Значение поля

Элемент cell содержит все поля запроса. Для ячеек, описывающих область группировок строк и колонок, некоторые поля будут равны NULL. К таким полям относятся поля, принадлежащие вложенным группировкам, и их реквизиты .

field

Значение поля.

Подчиненные элементы:

НаименованиеКоличествоОписание
name1Строка, имя поля
value1Значение поля

value

Значение. Не содержит подчиненных элементов. Содержит символьные данные, являющиеся значением. Может содержать атрибуты nil и type. Атрибут nil булевого типа указывает, что данное значение равно Undefined. По умолчанию атрибут равен false. Атрибут type строкового типа есть только у полей составного типа или у значений типа NULLl. Содержит имя типа значения.

Данные с оформлением

Оформление отчета это добавление к данным отчета информации о способеразмещения данных в отчете, значений таких параметров, как цвет фона, текста, шрифты, наличие рамок и их толщина.

Оформление происходит только в момент получения конкретной страницы. Оформленный отчет можно любым доступным способом (например, с помощью XSL) конвертировать из XML формата в желаемый, например, в HTML или PDF.

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

Описание элементов

report

Корневой элемент документа. Подчиненные элементы должны следовать строго в той последовательности , в которой они описаны.

Подчиненные элементы:

НаименованиеКоличествоОписание
styles1Список стилей
title1Элементы, описывающие шапку отчета
body1Элементы, описывающие содержание отчета
total1Элементы, описывающие подвал отчета

styles

Список стилей.

Подчиненные элементы:

НаименованиеКоличествоОписание
styleDescription*Стиль оформления

styleDescription

Стиль оформления

Подчиненные элементы:

НаименованиеКоличествоОписание
name0-1Имя стиля
horizontalAlign0-1Горизонтальное выравнивание. Более подробно "Выравнивание"
verticalAlign0-1Вертикальное выравнивание. Более подробно "Выравнивание"
padding0-1Отступ от рамки объекта. Элемент padding сокращенно устанавливает значения для элементов paddingLeft, paddingTop, paddingRight, paddingBottom. Значения разделяются пробелами. Если задано одно значение, то отступ применяется для всех сторон. Если два, то первое значение применяется к верхней и нижней сторонам. Если три, то первое значение применяется к верхней стороне, второе к левой и правой, а третье к нижней. В случае, когда указаны все четыре значения, они применяются к верхней, правой, нижней, левой сторонам соответственно. Дополнительнов разделе "Отступ"
paddingLeft0-1Отступ, применяемый к левой стороне. Дополнительно в разделе "Отступ"
paddingTop0-1Отступ, применяемый к верхней стороне. Дополнительно в разделе "Отступ"
paddingRight0-1Отступ, применяемый к правой стороне. Дополнительно в разделе "Отступ"
paddingBottom0-1Отступ, применяемый к нижней стороне. Дополнительно в разделе "Отступ"
backgroundColor0-1Цвет фона. Описание формата строки, указывающей цвет.
textColor0-1Цвет текстовых данных. Описание формата строки, указывающей цвет.
font0-1Параметры шрифта
border0-1Настройка параметров рамки. Элемент border сокращенно устанавливает значения для элементов borderLeft, borderTop, borderRight, borderBottom. Применение значений к сторонам рамки, аналогично отступу. Дополнительно в разделе "Рамка"
borderLeft0-1Описание левой стороны рамки. Дополнительно в разделе "Рамка"
borderTop0-1Описание верхней стороны рамки. Дополнительно в разделе "Рамка"
borderRight0-1Описание правой стороны рамки. Дополнительно в разделе "Рамка"
borderBottom0-1Описание нижней стороны рамки. Дополнительно в разделе "Рамка"

title, body, footer

Элементы, описывающие шапку, содержание, подвал отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
text*Элемент, описывающий кусочек текста
table*Элемент, описывающий табличную часть отчета
class0-1Содержит имена классов стилей. Имена должны перечисляться через пробел. Подчиненных элементов не содержит

text

Элемент, описывающий кусочек текста.

Подчиненные элементы:

НаименованиеКоличествоОписание
details0-1Описывает расшифровку отдельного элемента отчета
left0-1Левая координата позиционирования объекта
top0-1Верхняя координата позиционирования объекта
width0-1Ширина объекта
height0-1Высота объекта
style0-1Стиль элемента
class0-1Содержит имена классов стилей. Имена должны перечисляться через пробел. Подчиненных элементов не содержит
value1Значение элемента

table

Элемент, описывающий табличную часть отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
column1...*Колонка отчета. Данный элемент только описывает колонку отчета, но не содержит данные
row1...*Описывает строку таблицы
left0-1Левая координата позиционирования объекта
top0-1Верхняя координата позиционирования объекта
width0-1Ширина объекта
height0-1Высота объекта
style0-1Стиль элемента
border0-1Список параметров оформления рамки
class0-1Содержит имена классов стилей. Имена должны перечисляться через пробел. Подчиненных элементов не содержит

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

column

Колонка отчета. Данный элемент только описывает колонку отчета, но не содержит данных.

Подчиненные элементы:

НаименованиеКоличествоОписание
width0-1Ширина колонки.
class0-1Содержит имена классов стилей. Имена должны перечисляться через пробел. Подчиненных элементов не содержит

row

Описывает строку таблицы.

Подчиненные элементы:

НаименованиеКоличествоОписание
cell1...*Описывает отдельную ячейку отчета
height0-1Высота строки в таблице
class0-1Содержит имена классов стилей. Имена должны перечисляться через пробел. Подчиненных элементов не содержит

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

cell

Описывает отдельную ячейку отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
table*Элемент, описывающий табличную часть отчета
text*Элемент, описывающий кусочек текста
rowSpan0-1Указывается, сколько строк таблицы будет занимать ячейка
colSpan0-1Указывается, сколько колонок таблицы будет занимать ячейка
toggle0-1Описание переключателя группировки
style0-1Стиль элемента
class0-1Содержит имена классов стилей. Имена должны перечисляться через пробел. Подчиненных элементов не содержит

style

Стиль элемента.

Подчиненные элементы:

НаименованиеКоличествоОписание
horizontalAlign0-1Горизонтальное выравнивание. Более подробно "Выравнивание"
verticalAlign0-1Вертикальное выравнивание. Более подробно "Выравнивание"
padding0-1Отступ от рамки объекта. Элемент padding сокращенно устанавливает значения для элементов paddingLeft, paddingTop, paddingRight, paddingBottom. Значения разделяются пробелами. Если задано одно значение, то отступ применяется для всех сторон. Если два, то первое значение применяется к верхней и нижней сторонам. Если три, то первое значение применяется к верхней стороне, второе - к левой и правой, а третье - к нижней. В случае, когда указаны все четыре значения, они применяются к верхней, правой, нижней, левой сторонам соответственно. Дополнительно в разделе "Отступ"
paddingLeft0-1Отступ, применяемый к левой стороне. Дополнительно в разделе "Отступ"
paddingTop0-1Отступ, применяемый к верхней стороне. Дополнительно в разделе "Отступ"
paddingRight0-1Отступ, применяемый к правой стороне. Дополнительно в разделе "Отступ"
paddingBottom0-1Отступ, применяемый к нижней стороне. Дополнительно в разделе "Отступ"
backgroundColor0-1Цвет фона. Описание формата строки, указывающей "Цвет"
textColor0-1Цвет текстовых данных. Описание формата строки, указывающей "Цвет"
font0-1Параметры шрифта
border0-1Настройка параметров рамки. Элемент border сокращенно устанавливает значения для элементов borderLeft, borderTop, borderRight, borderBottom. Применение значений к сторонам рамки, аналогично отступу. Дополнительно в разделе "Рамка"
borderLeft0-1Описание левой стороны рамки. Дополнительно в разделе "Рамка"
borderTop0-1Описание верхней стороны рамки. Дополнительно в разделе "Рамка"
borderRight0-1Описание правой стороны рамки. Дополнительно в разделе "Рамка"
borderBottom0-1Описание нижней стороны рамки. Дополнительно в разделе "Рамка"

toggle

Описание переключателя группировки.

Подчиненные элементы:

НаименованиеКоличествоОписание
state1Элемент state указывает, нужно ли рисовать раскрытие группировки, и если нужно, то в каком состоянии . Может принимать значения: none – не рисовать, close – рисовать закрытой, open – рисовать открытой. По умолчанию none
rowGroup0-1Номер группировки строк
columnGroup0-1Номер группировки колонок

details

Описывает расшифровку отдельного элемента отчета.

Подчиненные элементы:

НаименованиеКоличествоОписание
name1Наименование расшифровки
rowGroup0-1Содержит номер ячейки данных отчета в строке
columnGroup0-1Содержит номер ячейки данных отчета в колонке

font

Параметры шрифта.

Подчиненные элементы:

НаименованиеКоличествоОписание
fontFamily0-1Элемент является строкой и задает гарнитуру шрифта. По умолчанию используется гарнитура Arial
fontSize0-1Элемент задает размер шрифта . По умолчанию размер устанавливается в 10pt
fontStyle0-1Элемент является строкой и задает стиль начертания шрифта. Возможны варианты: normal, italic. Значением по умолчанию является normal
fontWeight0-1Элемент является строкой и задает толщину шрифта. Возможны варианты: normal, bold. Значением по умолчанию является normal
textDecoration0-1Элемент описывает, будет ли текст подчеркнут, зачеркнут, иметь линию над текстом или нет. Может принимать значения none, underline, overline, line-through. Значением по умолчанию является none

border, borderLeft, borderTop, borderRight, borderBottom

Свойства рамки.

Подчиненные элементы:

НаименованиеКоличествоОписание
borderSize0-1Элемент является строкой и задает толщину рамки
borderColor0-1Элемент задает цвет рамки
borderStyle0-1Элемент является строкой и задает стиль рисования рамки. Возможны варианты: none, doted, dashed, solid, double. Значением по умолчанию является normal

Размерность

Размерность указывается следом за величиной и может отделяться пробелом. Размерность может быть следующих вариантов:

Цвет

Цвет задается строкой либо как название цвета (предопределенные названия цветов Веб), либо в формате RGB. В формате RGB сначала идет символ '#', за которым следуют три шестнадцатеричных числа. Первые две цифры – красная составляющая, следующие две – зеленая, последние две цифры – синяя. Например, #FF0000 – красный, #008000 – lime, #00FF00 – зеленый.

Выравнивание

Выравнивание задает размещение содержания внутри элемента. Выравнивание может осуществляться по горизонтали и вертикали.

Для указания способа выравнивания по горизонтали используется элемент horizontalAlign. Он может содержать следующие значения:

Для указания способа выравнивания по вертикали используется элемент verticalAlign. Он может содержать следующие значения:

Отступ

Отступ – это расстояние между рамкой объекта и его содержанием. Отступы могут быть заданы для ячейки, текста и т. д.

Описание отступов может быть задано как в целом для всего элемента (элемент padding), так и по отдельным границам элемента. Отступы для отдельных границ элемента задаются элементами paddingLeft, paddingTop, paddingRight, paddingBottom. Если задано описание отступа в целом, а также и для отдельных границ одновременно, то приоритет имеет описание границы.

Отступы описываются числом и размерностью. По умолчанию отступа нет (=0).

Рамка

Описание рамки может быть задано как в целом для всего элемента (элемент border), так и по отдельным границам рамки. Рамка для отдельных границ задается элементами borderLeft, borderTop, borderRight, borderBottom. Если задано описание рамки для отдельных границ и для всей рамки одновременно, то приоритетом имеет описание границ рамки.

По умолчанию у элемента нет рамки, т. е. стиль рамки равен "none".

Стиль

Оформление элементов отчета может описываться не только соответствующими подчиненными элементами, но и стилями. Для этого в начале документа размещена секция "styles", в которой размещается список стилей с их именами. Каждому элементу документа можно поставить в соответствие свой стиль через подчиненный элемент class.

Все установки стиля наследуются, кроме описания рамки.

Пример отчета без оформления

<?xml version="1.0" encoding="UTF-8"?>
<v8:reportData xmlns:v8="http://v8.1c.ru/Вебreport/data/">
   <v8:filters>
      <v8:filter>
         <v8:dataPath>КоличествоОстаток</v8:dataPath>
         <v8:comparisonType>Great</v8:comparisonType>
         <v8:value>10</v8:value>
      </v8:filter>
   </v8:filters>
   <v8:fieldInfos>
      <v8:fieldInfo>
         <v8:name>Номенклатура</v8:name>
         <v8:presentation>Номенклатура</v8:presentation>
         <v8:owner />
         <v8:ownerPresentation>false</v8:ownerPresentation>
         <v8:resource>false</v8:resource>
         <v8:typeDescription>СправочникСсылка_Номенклатура</v8:typeDescription>
         <v8:presentationLength>25</v8:presentationLength>
      </v8:fieldInfo>
      <v8:fieldInfo>
         <v8:name>НоменклатураПредставление</v8:name>
         <v8:presentation />
         <v8:owner>Номенклатура</v8:owner>
         <v8:ownerPresentation>true</v8:ownerPresentation>
         <v8:resource>false</v8:resource>
         <v8:typeDescription>string(0,Varying)</v8:typeDescription>
         <v8:presentationLength>32</v8:presentationLength>
      </v8:fieldInfo>
      <v8:fieldInfo>
         <v8:name>Склад</v8:name>
         <v8:presentation>Склад</v8:presentation>
         <v8:owner />
         <v8:ownerPresentation>false</v8:ownerPresentation>
         <v8:resource>false</v8:resource>
         <v8:typeDescription>СправочникСсылка_Склады</v8:typeDescription>
         <v8:presentationLength>25</v8:presentationLength>
      </v8:fieldInfo>
      <v8:fieldInfo>
         <v8:name>СкладПредставление</v8:name>
         <v8:presentation />
         <v8:owner>Склад</v8:owner>
         <v8:ownerPresentation>true</v8:ownerPresentation>
         <v8:resource>false</v8:resource>
         <v8:typeDescription>string(0,Varying)</v8:typeDescription>
         <v8:presentationLength>32</v8:presentationLength>
      </v8:fieldInfo>
      <v8:fieldInfo>
         <v8:name>КоличествоОстаток</v8:name>
         <v8:presentation>КоличествоОстаток</v8:presentation>
         <v8:owner />
         <v8:ownerPresentation>false</v8:ownerPresentation>
         <v8:resource>true</v8:resource>
         <v8:typeDescription>decimal(0,0,Any)</v8:typeDescription>
         <v8:presentationLength>32</v8:presentationLength>
      </v8:fieldInfo>
      <v8:fieldInfo>
         <v8:name>СкладКод</v8:name>
         <v8:presentation>Код</v8:presentation>
         <v8:owner>Склад</v8:owner>
         <v8:ownerPresentation>false</v8:ownerPresentation>
         <v8:resource>false</v8:resource>
         <v8:typeDescription>string(7,Fixed)</v8:typeDescription>
         <v8:presentationLength>7</v8:presentationLength>
      </v8:fieldInfo>
   </v8:fieldInfos>
   <v8:rowGroupInfos>
      <v8:rowGroupInfo>
         <v8:name>Номенклатура</v8:name>
         <v8:presentation>Номенклатура</v8:presentation>
      </v8:rowGroupInfo>
   </v8:rowGroupInfos>
   <v8:columnGroupInfos>
      <v8:columnGroupInfo>
         <v8:name>Склад</v8:name>
         <v8:presentation>Склад</v8:presentation>
      </v8:columnGroupInfo>
   </v8:columnGroupInfos>
   <v8:table>
      <v8:column>
         <v8:group />
         <v8:groupNumber>0</v8:groupNumber>
         <v8:level>0</v8:level>
         <v8:hasChild>false</v8:hasChild>
         <v8:isOpen>true</v8:isOpen>
         <v8:groupPart>Header</v8:groupPart>
      </v8:column>
      <v8:column>
         <v8:group>Склад</v8:group>
         <v8:groupNumber>1</v8:groupNumber>
         <v8:level>0</v8:level>
         <v8:hasChild>false</v8:hasChild>
         <v8:isOpen>false</v8:isOpen>
         <v8:groupPart>None</v8:groupPart>
      </v8:column>
      <v8:column>
         <v8:group>Склад</v8:group>
         <v8:groupNumber>2</v8:groupNumber>
         <v8:level>0</v8:level>
         <v8:hasChild>false</v8:hasChild>
         <v8:isOpen>false</v8:isOpen>
         <v8:groupPart>None</v8:groupPart>
      </v8:column>
      <v8:column>
         <v8:group />
         <v8:groupNumber>0</v8:groupNumber>
         <v8:level>0</v8:level>
         <v8:hasChild>false</v8:hasChild>
         <v8:isOpen>true</v8:isOpen>
         <v8:groupPart>Footer</v8:groupPart>
      </v8:column>
      <v8:row>
         <v8:group />
         <v8:groupNumber>0</v8:groupNumber>
         <v8:level>0</v8:level>
         <v8:hasChild>false</v8:hasChild>
         <v8:isOpen>true</v8:isOpen>
         <v8:groupPart>Header</v8:groupPart>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Header</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>148</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value type="Null" />
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Header</v8:rowGroupPart>
            <v8:columnGroupNumber>1</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value>6064395d-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value>Основной склад</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>132</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value>1</v8:value>
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Header</v8:rowGroupPart>
            <v8:columnGroupNumber>2</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value>6064395e-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value>Склад отдела продаж</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>16</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value>2</v8:value>
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Header</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>148</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value type="Null" />
            </v8:field>
         </v8:cell>
      </v8:row>
      <v8:row>
         <v8:group>Номенклатура</v8:group>
         <v8:groupNumber>1</v8:groupNumber>
         <v8:level>0</v8:level>
         <v8:hasChild>true</v8:hasChild>
         <v8:isOpen>false</v8:isOpen>
         <v8:groupPart>Header</v8:groupPart>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Header</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value>6064392d-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value>Клавиатуры</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>61</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value type="Null" />
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Header</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value>6064392d-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value>Клавиатуры</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value>6064395d-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value>Основной склад</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>61</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value>1</v8:value>
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Header</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Header</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value>6064392d-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value>Клавиатуры</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>61</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value type="Null" />
            </v8:field>
         </v8:cell>
      </v8:row>
      <v8:row>
         <v8:group>Номенклатура</v8:group>
         <v8:groupNumber>2</v8:groupNumber>
         <v8:level>1</v8:level>
         <v8:hasChild>false</v8:hasChild>
         <v8:isOpen>false</v8:isOpen>
         <v8:groupPart>None</v8:groupPart>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>None</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value>60643934-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value>Клавиатура Keyboard PS/2</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>14</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value type="Null" />
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>None</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value>60643934-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value>Клавиатура Keyboard PS/2</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value>6064395d-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value>Основной склад</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>14</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value>1</v8:value>
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>None</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>None</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value>60643934-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value>Клавиатура Keyboard PS/2</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>14</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value type="Null" />
            </v8:field>
         </v8:cell>
      </v8:row>
      <v8:row>
         <v8:group />
         <v8:groupNumber>0</v8:groupNumber>
         <v8:level>0</v8:level>
         <v8:hasChild>false</v8:hasChild>
         <v8:isOpen>true</v8:isOpen>
         <v8:groupPart>Footer</v8:groupPart>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Footer</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>148</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value type="Null" />
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Footer</v8:rowGroupPart>
            <v8:columnGroupNumber>1</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value>6064395d-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value>Основной склад</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>132</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value>1</v8:value>
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Footer</v8:rowGroupPart>
            <v8:columnGroupNumber>2</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value>6064395e-497a-11d7-8c74-0048541c0980</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value>Склад отдела продаж</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>16</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value>2</v8:value>
            </v8:field>
         </v8:cell>
         <v8:cell>
            <v8:rowGroupNumber>0</v8:rowGroupNumber>
            <v8:rowGroupPart>Footer</v8:rowGroupPart>
            <v8:columnGroupNumber>0</v8:columnGroupNumber>
            <v8:columnGroupPart>None</v8:columnGroupPart>
            <v8:field>
               <v8:name>Номенклатура</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>НоменклатураПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>Склад</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>СкладПредставление</v8:name>
               <v8:value type="Null" />
            </v8:field>
            <v8:field>
               <v8:name>КоличествоОстаток</v8:name>
               <v8:value>148</v8:value>
            </v8:field>
            <v8:field>
               <v8:name>СкладКод</v8:name>
               <v8:value type="Null" />
            </v8:field>
         </v8:cell>
      </v8:row>
   </v8:table>
</v8:reportData>

Пример отчета с оформлением

<?xml version="1.0" encoding="UTF-8"?>
<v8:report xmlns:v8="http://v8.1c.ru/Вебreport/report/">
   <v8:styles>
      <v8:styleDescription>
         <v8:name>Report</v8:name>
      </v8:styleDescription>
      <v8:styleDescription>
         <v8:name>Cell</v8:name>
         <v8:border>
            <v8:borderStyle>Solid</v8:borderStyle>
            <v8:borderColor>Black</v8:borderColor>
            <v8:borderSize>1px</v8:borderSize>
         </v8:border>
      </v8:styleDescription>
      <v8:styleDescription>
         <v8:name>Склад</v8:name>
         <v8:textColor>#FFE0C0</v8:textColor>
      </v8:styleDescription>
      <v8:styleDescription>
         <v8:name>Left</v8:name>
      </v8:styleDescription>
      <v8:styleDescription>
         <v8:name>Right</v8:name>
      </v8:styleDescription>
      <v8:styleDescription>
         <v8:name>Номенклатура</v8:name>
      </v8:styleDescription>
      <v8:styleDescription>
         <v8:name>Header</v8:name>
         <v8:backgroundColor>#FFFFC0</v8:backgroundColor>
      </v8:styleDescription>
      <v8:styleDescription>
         <v8:name>Detail</v8:name>
      </v8:styleDescription>
      <v8:styleDescription>
         <v8:name>Footer</v8:name>
         <v8:backgroundColor>#C0FFC0</v8:backgroundColor>
      </v8:styleDescription>
      <v8:styleDescription>
         <v8:name>rightAlign</v8:name>
         <v8:horizontalAlign>right</v8:horizontalAlign>
      </v8:styleDescription>
   </v8:styles>
   <v8:title>
      <v8:class>Report</v8:class>
   </v8:title>
   <v8:body>
      <v8:class>Report</v8:class>
      <v8:table>
         <v8:column />
         <v8:column>
            <v8:class>Склад</v8:class>
         </v8:column>
         <v8:column>
            <v8:class>Склад</v8:class>
         </v8:column>
         <v8:column />
         <v8:row>
            <v8:cell>
               <v8:class>Cell Header Left</v8:class>
               <v8:rowSpan>2</v8:rowSpan>
               <v8:text>
                  <v8:value>Номенклатура</v8:value>
               </v8:text>
            </v8:cell>
            <v8:cell>
               <v8:class>Cell Header Склад Склад</v8:class>
               <v8:text>
                  <v8:value>Основной склад</v8:value>
               </v8:text>
            </v8:cell>
            <v8:cell>
               <v8:class>Cell Header Склад Склад</v8:class>
               <v8:text>
                  <v8:value>Склад отдела продаж</v8:value>
               </v8:text>
            </v8:cell>
            <v8:cell>
               <v8:class>Cell Header Right</v8:class>
               <v8:rowSpan>2</v8:rowSpan>
               <v8:text>
                  <v8:value>Итого</v8:value>
               </v8:text>
            </v8:cell>
         </v8:row>
         <v8:row>
            <v8:cell>
               <v8:class>Cell Header Left</v8:class>
               <v8:text>
                  <v8:value>1</v8:value>
               </v8:text>
            </v8:cell>
            <v8:cell>
               <v8:class>Cell Header</v8:class>
               <v8:text>
                  <v8:value>2</v8:value>
               </v8:text>
            </v8:cell>
         </v8:row>
      </v8:table>
   </v8:body>
   <v8:footer>
      <v8:class>Report</v8:class>
   </v8:footer>
</v8:report>

Подписка на новости RSS     Добавьте в закладки Google fusion     Мы в Google+    

 

Мы ВКонтакте

 

Мы на Facebook