Описание формата. Версия 2.0.2
Авторские права © 2009, 2010, 2011 Фирма «1С»
В настоящем документе приведено описание формата электронных сообщений (файлов) для обмена данными отчетности при использовании решений фирмы «1С» для государственного сектора, разработанных на технологической платформе «1С:Предприятие 8».
Содержание
В настоящем документе приведено описание формата электронных сообщений (файлов) для обмена данными отчетности при использовании решений фирмы «1С» для государственного сектора, разработанных на технологической платформе «1С:Предприятие 8».
Формат может быть использован для организации обмена данными бюджетной отчетности между программными продуктами для государственных учреждений разработки как «1С», так и других разработчиков.
Формат базируется на языке разметки XML, в связи с чем неотъемлемой частью настоящей спецификации являются файлы с XML-схемами.
Формат не используется для обмена налоговой и статистической отчетностью, формируемой в продуктах фирмы «1С» для бухгалтерского учета.
Содержимое конечного файла определяется тремя факторами: требованиями настоящей спецификации, структурой отчета в терминах «1С:Свода отчетов», непосредственными данными отчета. Структура отчета определяется при разработке комплекта отчетности.
[Определение: Набор описаний отчетов, где определены формы ввода, печатные формы, структура, правила заполнения отчетов, правила расчета вычисляемых показателей, а также определения видов аналитик, набор контрольных соотношений и набор правил проверки отчетов называется комплектом отчетности.]
Для обмена данными экземпляров отчетов в формате «1С:Свод отчетов» 2.0 необходимо, чтобы как импортирующее, так и экспортирующее приложение содержали в памяти необходимые компоненты комплекта отчетности: описания отчетов в части структуры и определения видов аналитики, как минимум.
При разработке отчетов в «1С:Своде отчетов» создаются элементы структуры отчета следующих видов:
Определяет вид аналитического учета, а также класс (справочник) объектов аналитики.
Виды аналитики определяются разработчиком для всего комплекта отчетности.
«Корень» структуры.
У вида отчета могут быть определены: строки, колонки, показатели, «группы раскрытия» (перечень измерений строки), «дополнительные реквизиты» отчета, «параметры» отчета.
Статичная или раскрываемая строка одной из таблиц отчета.
Если для строки определена группа раскрытия, то строка «раскрываемая».
В экземпляре отчета для раскрываемой строки всегда присутствует строка с итоговыми данными в дополнение к детальным.
Статичная строка может содержать подчиненные статичные и раскрываемые строки. Раскрываемая строка не содержит подчиненных строк.
Колонка таблиц отчета.
Колонка не может содержать подчиненные колонки.
Группа раскрытия содержит перечень аналитических разрезов раскрываемой строки отчета в форме указателей на виды аналитики.
К раскрываемой строке всегда прикреплена группа раскрытия.
Одна и та же группа раскрытия не может быть определена более, чем у одной строки отчета. Группы раскрытия могут иметь одинаковый состав видов аналитик.
Для группы раскрытия может быть определено требование уникальности, что означает, что строки с детальными данными в экземпляре отчета не могут иметь одинаковые комбинации значений измерений. В данном случае группа раскрытия по сути определяет состав ключа экземпляра строки.
Группа раскрытия может не содержать ни одного измерения. В этом случае требование уникальности не устанавливается.
Группа раскрытия не может содержать вид аналитики, если он уже используется в дополнительных реквизитах.
Определяет ячейку таблицы отчета.
Для показателя определены строка и колонка, которым он принадлежит.
Показатели могут существовать не для всех возможных комбинаций строки и колонки.
У любой строки и любой колонки есть как минимум один показатель.
Определяет вид аналитики для отчета.
Отчет может содержать несколько дополнительных реквизитов, при этом виды аналитики, на которые указывают дополнительные реквизиты, не должны повторяться в рамках вида отчета.
Дополнительная информация об экземпляре отчета. Может быть только примитивного типа: булево, число, строка, дата.
Показатель раскрываемой строки считается раскрываемым. Состав измерений раскрываемого показателя определяется объединением наборов измерений строки (перечисленных в группе раскрытия) и дополнительных реквизитов отчета.
Документ XML в формате «1С:Свод отчетов» 2.0 может содержать неограниченное количество экземпляров отчетов различного вида. [Определение: XML-документ с данными отчетов называется конвертом]. По своей структуре конверт представляет иерархию групп, характеризуемых непустым набором значений измерений (ключом), уникальным в пределах родительской группы.
[Определение: Группа в конверте обязательно содержит ключ, может содержать вложенные группы и ресурсы]. Объединение наборов значений измерений конечной — не содержащей вложенных — группы и всех вышестоящих групп уникально в пределах конверта и по сути представляет собой уникальный ключ группы.
Конверту соответствует элемент envelope
, группе — group
.
В группы отображаются: логическая группировка по периоду, логическая группировка по сценарию, логическая группировка по субъекту, экземпляр отчета, нераскрываемая (статичная) строка отчета, итоги раскрываемой строки отчета, экземпляр раскрываемой строки отчета. Узел группы, соответствующей экземпляру отчета, должен быть типа Report (наследник типа Group). Например:
<envelope xmlns="urn:schemas-1c-ru:reports/data"
xmlns:core="urn:schemas-1c-ru:reports/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="2.0"
created="2011-10-11T17:47:40"
generator="СводОтчетовПРОФ/3.4.4.3"
reportCount="1">
<group>(1)
<key about="http://purl.org/dc/terms/coverage">(2)
<value xsi:type="core:Coverage" startDate="2009-01-01T00:00:00" duration="P1Y"/>
</key>
<group>(3)
<key about="http://purl.org/dc/terms/source">
<value xmlns:example="http://www.example.com/reports" xsi:type="example:Subject"(4)>id0020331</value>
</key>
<group xsi:type="Report"(5)>
...
</group>
</group>
</group>
</envelope>
Логическая группировка по периоду, представленная группой. | |
Измерение период, представленное элементом | |
Логическая группировка по субъекту, представленная группой. | |
Пример обозначения субъекта отчетности. | |
Группа, соответствующая экземпляру отчета, представлена элементом |
Логические группировки по периоду, сценарию и субъекту не обязательно могут формироваться в такой комбинации и последовательности. Например, допустима группировка по периоду и субъекту одновременно.
В продуктах фирмы «1С» формируются отдельные группы по периоду, сценарию и субъекту. Группировка по периоду — корневая, по сценарию — может отсутствовать, по субъекту — подчинена группировке по периоду или по сценарию, если таковая присутствует.
Элементы XML экземпляра и строк отчета, помимо значений измерений и вложенных групп, могут включать значения ресурсов. Для экземпляра отчета ресурсами представлены параметры отчета и значения технических свойств экземпляра, таких как точность значений финансовых показателей, дата формирования отчета и т. п. Для строк отчета ресурсами представлены показатели отчета. Любой ресурс строки отчета соответствует одной из колонок отчета. Ресурсы отображаются элементом resource
.
<group xsi:type="Report"> <key about="urn:entities-1c-ru:reports/form-ref"> <value xsi:type="xs:string">Ф0503169</value> </key> <group> <key about="urn:entities-1c-ru:reports/row-ref"> <value xsi:type="xs:string">Итоги</value> </key> <resource about="urn:entities-1c-ru:user/resource/Долг" code="Итоги_Долг">(1) <value xsi:type="xs:decimal">-9624.57</value> </resource> </group> <resource about="http://purl.org/dc/terms/created">(2) <value xsi:type="xs:dateTime">2010-02-12T10:57:33</value> </resource> </group>
key
, могут быть: дополнительные реквизиты отчета, аналитики раскрываемой строки (указанные в группе раскрытия, прикрепленной к строке), а также системные измерения период, сценарий, субъект. Помимо перечисленного, измерениями также являются ссылка на вид отчета, ссылка на описание строки в пределах вида отчета, порядковый номер экземпляра раскрываемой строки отчета, для которой в группе раскрытия снято требование уникальности.
Измерения, представляемые элементом key
, идентифицируются публичными идентификаторами. Публичные идентификаторы считаются глобальными. В качестве идентификаторов используются URI.
Идентификатор указывается в атрибуте about
элемента key
.
<key about="urn:entities-1c-ru:budget/classification/kbk"(1)> <value xmlns:budg="urn:schemas-1c-ru:reports/budget/base" xsi:type="budg:КБКР2009"> <budg:ППП>004</budg:ППП> <budg:ФКР> <budg:Раздел>0106</budg:Раздел> <budg:ЦелеваяСтатья>0021500</budg:ЦелеваяСтатья> <budg:ВидРасхода>012</budg:ВидРасхода> </budg:ФКР> </value> </key> <key about="urn:entities-1c-ru:budget/classification/kosgu"(2)> <value xmlns:budg="urn:schemas-1c-ru:reports/budget/base" xsi:type="budg:КОСГУ2009">211</value> </key>
Для системных измерений используются зарезервированные идентификаторы. Для измерений — видов аналитики идентификаторы определяются в комплекте отчетности.
Таблица 1. Зарезервированные публичные идентификаторы системных измерений
Измерение | Идентификатор |
---|---|
Период отчетности | http://purl.org/dc/terms/coverage |
Субъект отчетности | http://purl.org/dc/terms/source |
Профиль отчетности | http://purl.org/dc/terms/accrualPolicy |
Код формы | urn:entities-1c-ru:reports/form-ref |
Код строки | urn:entities-1c-ru:reports/row-ref |
Индекс строки в группе | urn:entities-1c-ru:reports/accrualIndex |
В продуктах фирмы «1С» в рамках разрабатываемых ей же комплектов отчетности, в основном, используются типы пространства имен urn:schemas-1c-ru:reports/budget/base
. Схема budgbase.xsd
прилагается к настоящей спецификации.
У групп, соответствующих экземпляру отчета, должно присутствовать измерение с публичным идентификатором urn:entities-1c-ru:reports/form-ref
. Значение измерения представляется типом xs:string и должно соответствовать внутреннему коду вида отчета, определенному в комплекте отчетности.
У групп, соответствующих статичной строке, должно присутствовать измерение с публичным идентификатором urn:entities-1c-ru:reports/row-ref
. Значение измерения представляется типом xs:string и должно соответствовать внутреннему коду строки, определенному в комплекте отчетности.
У групп, соответствующих экземпляру раскрываемой строки, у которой в группе раскрытия не установлено требование уникальности, помимо аналитических измерений должно присутствовать измерение с публичным идентификатором urn:entities-1c-ru:reports/accrualIndex
. Значение измерения представляется типом xs:decimal и является счетчиком строк.
[XML] World Wide Web Consortium. Extensible Markup Language (XML) 1.0. Fifth Edition. W3C Recommendation. 2008-11-26. См. http://www.w3.org/TR/REC-xml.
[XMLSchema] World Wide Web Consortium. XML Schema, Parts 0, 1, and 2. Second Edition. W3C Recommendation. 2004-10-28. См. http://www.w3.org/TR/xmlschema-0/, http://www.w3.org/TR/xmlschema-1/, http://www.w3.org/TR/xmlschema-2/.
[XMLNames] World Wide Web Consortium. Namespaces in XML 1.0. Second Edition. W3C Recommendation. 2006-08-16. См. http://www.w3.org/TR/REC-xml-names/.