Утвержден приказом Росстата
от 28 октября 2010 г. № 372
УНИФИЦИРОВАННЫЙ ФОРМАТ ЭЛЕКТРОННЫХ ВЕРСИЙ ФОРМ
СТАТИСТИЧЕСКОЙ ОТЧЕТНОСТИ
2010 г.
В настоящем документе приводится описание Унифицированного формата электронных версий форм статистической отчетности в электронном виде.
Настоящий документ разработан в результате выполнения работ по проекту «Создание электронного архива электронных версий форм статистической отчетности, полученной от респондентов с ЭЦП, и развитию Единой системы сбора, обработки, хранения и представления статистических данных (ЕССО) в части электронного сбора данных».
Документ состоит из 4 разделов.
В первом разделе приведена общая информация о цели создания документа, области его применения, особенностях и условиях его использования.
Во втором разделе содержится описание структуры элементов отчета, содержащего данные, полученные от Респондента в результате электронного сбора статистической отчетности.
В третьем разделе содержится описание структуры элементов электронной версии формы федерального статистического наблюдения.
В четвертом разделе содержится описание языка описания контролей (языка описания арифметических и логических проверок, выполняемых при заполнении формы).
Содержание
1.3. Условия и особенности использования документа
2. Описание структуры элементов отчета-эвф
2.1. Структура имени файла отчета-ЭВФ
3. Описание структуры элементов xml-шаблона статистической отчетности
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И УСЛОВНЫХ НАИМЕНОВАНИЙ
Росстат |
Федеральная служба государственной статистики
|
ТОГС |
Территориальный орган Федеральной службы государственной статистики и его обособленные подразделения в районах и городах, ответственные за сбор первичных статистических данных по формам федерального статистического наблюдения от Респондентов, осуществляющих деятельность на территории Субъекта Российской Федерации.
|
Респондент |
Юридическое лицо, обособленное подразделение или индивидуальный предприниматель, осуществляющий деятельность без образования юридического лица, представляющие первичные статистические данные в территориальные органы государственной статистики в соответствии с действующим законодательством
|
ПО |
Программное обеспечение
|
ЕССО |
Единая система сбора, обработки, хранения и предоставления статистической информации
|
Отчет-ЭВФ |
Электронная версия формы статистической отчетности с данными в XML-формате, предоставляемая Респондентом в ТОГС
|
XML-шаблон |
Электронная версия формы федерального статистического наблюдения в XML-формате, содержащая описание показателей, контроли первичных статистических данных, нормативно-справочную информацию, используемую Респондентом при заполнении отчета
|
Настоящий документ определяет требования к структуре элементов и правилам формирования отчетов-ЭВФ, используемых в процессе электронного сбора статистической отчетности, а так же описывает правила и структуру файлов XML-шаблонов форм.
Целью документа является описание унифицированных форматов отчета-ЭВФ и XML-шаблона форм статистической отчетности, содержащих информацию, необходимую для формирования отчетов-ЭВФ в процессе электронного сбора статистической отчетности Росстата.
Унифицированный формат электронных версий форм статистической отчетности применяется при проектировании и разработке программных средств подготовки отчетов-ЭВФ на основе XML-шаблонов, содержит описание структуры, правила формирования отчетов-ЭВФ, информацию, которая должна быть в отчете-ЭВФ для однозначной идентификации формы отчета-ЭВФ при приеме в ЕССО, .а также описание структуры XML-шаблонов - элементы визуализации и контроля правильности заполнения данных.
Унифицированный формат обязателен для использования в любых программно-технических средствах подготовки и формирования отчетов-ЭВФ для электронного сбора статистических данных Росстата.
Структура отчетов-ЭВФ, предназначенных для использования в процессе электронного сбора статистической отчетности Росстата, должна соответствовать требованиям, описанным в настоящем документе (требования к структуре элементов, иерархии элементов, атрибутам, обязательности атрибутов, формату данных).
Для обеспечения возможности загрузки данных, содержащихся в отчетах, в базу данных ЕССО требуется строгое соответствие структуры и формата формируемых отчетов-ЭВФ требованиям настоящего унифицированного формата.
Для формирования отчетов-ЭВФ необходимо использовать информацию, содержащуюся в XML-шаблоне для данной формы статистической отчетности.
XML-шаблон разрабатывается для каждой формы статистической отчетности отдельно на основании ее экономического описания. Актуальные XML-шаблоны размещаются на официальном сайте Росстата и доступны для общего пользования. Структура и атрибуты XML-шаблонов описаны в разделе 3 настоящего документа. Информации, содержащейся в соответствующем XML-шаблоне, достаточно для правильного формирования отчета-ЭВФ и последующей его загрузки в базу данных ЕССО.
Источником информации для формирования правил арифметического, логического контроля является Экономическое описание статистической работы, содержащее описание входных данных, контроля информации, нормативно-справочную информацию для данной работы.
Имя файла отчета должно формироваться в соответствии с шаблоном:
OKUD_IDF_IDP_OKPO_PERIOD_EXTINFO__DATE_SYSINFO.xml, где
Элемент |
Обязательность |
Комментарий |
OKUD |
обязательный |
Идентификатор формы: код формы по ОКУД - 7 знаков, включая ведущие нули |
IDF |
обязательный |
Идентификатор формы: тип формы (соответствует значению атрибута idf XML-шаблона формы) – 3 знака, включая ведущие нули |
IDP |
обязательный |
Идентификатор формы: тип периодичности формы (соответствует значению атрибута idp XML-шаблона формы) – 3 знака, включая ведущие нули |
OKPO |
обязательный |
Код предприятия по ОКПО |
PERIOD |
обязательный |
Отчетный период. Определяется по дате начала отчетного периода и имеет вид ГОД_НОМЕР, где: - ГОД – год отчетного периода (4 знака) соответствует значению атрибута year элемента report; НОМЕР – номер периода отчета (максимально допустимо 4 знака) соответствует значению атрибута period элемента report. |
EXTINFO |
необязательный |
Идентификационные признаки: поле предназначено для отображения в имени файла отчета-ЭВФ дополнительной (по отношению к коду ОКПО) идентификационной информации, заполняемой в кодовой части титульного листа отчета. Необходимо для случая представления нескольких отчётов под одним кодом ОКПО (например, форма 1-инвест, по которой респондент обязан отражать сведения об инвестициях в разные страны, в отдельном отчёте. В данном примере код страны является дополнительным идентификационным признаком. Порядок следования информации по каждому идентификационному признаку должен соответствовать порядку следования идентификационных признаков в XML-шаблоне. Идентификационные признаки, если их более одного, отделяются друг от друга знаком “_”. |
DATE |
необязательный |
Служебная информация: отделяется от призначной части имени файла двумя символами подчеркивания «__». Дата передачи отчета-ЭВФ в систему электронного сбора статистических данных территориального органа государственной статистики, в формате ГГГГММДДччмм, где ГГГГ – год, ММ – месяц, ДД – день, чч – часы (0 – 23), мм – минуты (0 – 59) |
SYSINFO |
необязательный |
Служебная информация: любая техническая информация. При включении в имя файла элемента SYSINFO обязательно включение элемента DATE. При использовании технологии сбора отчетности через специализированных операторов связи в данном поле должен быть обязательно указан GUID. |
Статистический отчет.
1) Дочерние элементы:
- title;
- sections.
Табл. 1 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
code |
unsignedLong |
Идентификатор xml-шаблона, которому соответствует отчет |
Обязательный |
form |
unsignedInt |
Идентификатор формы. Содержит значени атрибута idf, соответствующего XML-шаблона |
Обязательный |
shifr |
string |
Шифр формы. Содержит значение атрибута shifr, соответствующего XML-шаблона |
Обязательный |
year |
unsignedShort |
Отчетный год. Содержит значение из справочника s_year, соответствующего XML-шаблона |
Обязательный |
period |
unsignedShort |
Отчетный период. Содержит значение из справочника s_time, соответствующего XML-шаблона |
Обязательный |
version |
token |
Версия XML-шаблона (дата формирования XML-шаблона данного отчета в формате день-месяц-год, например, 16-03-2010). Соответствует значению атрибута version элемента metaForm xml-шаблона |
Обязательный |
format-version |
token |
Версия формата xml-отчета |
Обязательный |
Заполненная информация с титульной страницы формы статистической отчетности.
1) Обязательно наличие тэга item, у которого значение атрибута name совпадает со значением атрибута obj тэга metaForm xml-формы;
2) Элемент обязательный;
3) Максимальное количество элементов: 1;
4) Родительский элемент: report;
5) Дочерние элементы: item.
Значение поля титульной страницы отчета.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: title.
Табл. 2 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
name |
string |
Идентификатор поля титульной страницы отчета. Содержит значение атрибута field для соответствующего элемента XML-шаблона |
Обязательный |
value |
string |
Значение, введенное пользователем в соответствующее поле титульной страницы отчета |
Обязательный |
Список всех заполненных разделов отчета.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: report;
4) Дочерние элементы: section.
Заполненный раздел с данными. Соответствует разделу формы.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: sections;
4) Дочерние элементы: row.
Табл. 3 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
code |
unsignedLong |
Код раздела, содержит код раздела соответствующего XML-шаблона. |
Обязательный |
Заполненная строка отчета. Соответствует строке отчета.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: section;
4) Дочерние элементы: col.
Табл. 4 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
code |
unsignedLong |
Код строки. Содержит значение атрибута code для соответствующей строки, соответствующего раздела XML-шаблона |
Обязательный |
s1 |
string |
Специфика строки. В случае если строка множественная[1], то значение в данном поле соответствует значению, введенному в первый столбец с типом "S" |
Необязательный |
s2 |
string |
Специфика строки. В случае если строка множественная, то значение в данном поле соответствует значению, введенному во второй столбец с типом "S" |
Необязательный |
s3 |
string |
Специфика строки. В случае если строка множественная, то значение в данном поле соответствует значению, введенному в третий столбец с типом "S" |
Необязательный |
Значение ячейки.
1) Допустимые значения: double (разделителем целой и дробной части является точка ‘.’);
2) Элемент обязательный;
3) Максимальное количество элементов: неограниченно;
4) Родительский элемент: row.
Табл. 5 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
code |
unsignedLong |
Код столбца. Соответствует коду столбца формы с типом "Z" |
Обязательный |
Настоящий раздел содержит описание XML-шаблона электронной версии формы статистической отчетности.
Элемент metaForm является элементом верхнего уровня.
5) Дочерние элементы metaForm:
- settings;
- title;
- sections;
- controls;
- dics.
Табл. 6.Атрибуты элемента metaForm
Наименование |
Допустимые значения |
Описание |
Обязательность |
code |
unsignedLong |
Уникальный код формы |
Обязательный |
idp |
unsignedInt |
Код идентификатора периодичности формы, |
Обязательный |
idf |
unsignedInt |
Идентификатор формы. Используется для загрузки |
Обязательный |
shifr |
string |
Шифр задачи. Используется для загрузки данных |
Обязательный |
name |
string |
Текстовое наименование формы |
Обязательный |
obj |
string |
Объект наблюдения. Определяет, какое поле из секции <title> является идентификатором объекта наблюдения. Идентификатор объекта наблюдения – код однозначно определяющий объект наблюдения, установленный в соответствии с утверждённым бланком формы. |
Обязательный |
OKUD |
unsignedInt |
Код формы согласно общероссийского классификатора управленческой документации |
Обязательный |
version |
token |
Версия XML-шаблона (дата его формирования в формате день-месяц-год, например, 16-03-2010) |
Обязательный |
format-version |
token |
Версия формата xml-шаблона |
Обязательный |
Содержит настройки общего назначения.
1) Элемент необязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
Необходимость подписания документа.
1) Элемент необязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: settings
4) Значение по умолчанию: true;
5) Допустимые значения:
Значение |
Описание |
true |
Отчет должен быть подписан |
false |
Отчет не должен быть подписан |
Необходимость проведения контролей.
1) Элемент необязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: settings
4) Значение по умолчанию: always;
5) Допустимые значения:
Значение |
Описание |
Always |
проверять всегда - не позволять сохранить отчет как «отчет» без успешного выполнения обязательных контролей |
Prompt |
проводить контроль, но при ошибках предлагать пользователю выбор: сохранять или нет |
Skip |
контроль не проводится - позволяет сохранять ошибочный отчет |
Возможность сдачи незаполненного (пустого) отчета.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: settings
4) Значение по умолчанию: true; то есть отчет не может сдаваться незаполненным;
5) Допустимые значения:
Значение |
Описание |
true |
Отчет должен быть заполнен |
false |
Отчет может сдаваться незаполненным |
Описание структуры титульной страницы.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
4) Дочерние элементы: item.
Поле для заполнения на титульном листе отчета.
1) Обязательно наличие тэга item, у которого @field=/metaForm/@obj;
2) Элемент обязательный;
3) Максимальное количество элементов: неограниченно;
4) Родительский элемент: title.
Табл. 7 Атрибуты
Допустимые значения |
Описание |
Обязательность |
|
field |
string |
Идентификатор поля |
Обязательный |
name |
string |
Название поля, используется при отображении пользователю |
Обязательный |
dic |
string |
Атрибут определяет поле, как идентификационный признак отчета, проверяемого по справочнику, кроме справочника s_okpo, который в xml-шаблон не включается и проверка соответствующего ему поля по справочнику выполняется только при загрузке отчета в программные средства обработки. |
Необязательный |
Список разделов формы.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
4) Дочерние элементы: section.
Раздел формы.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: sections;
4) Дочерние элементы: columns, rows.
Табл. 8 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
code |
unsignedLong |
Код раздела |
Обязательный |
name |
string |
Название раздела |
Обязательный |
nb |
unsignedInt |
Внутренний идентификатор ССО, используется для загрузки. Сторонние приложения не должны обрабатывать данный атрибут |
Обязательный |
Список всех столбцов раздела.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: section;
4) Дочерние элементы: column.
Столбец раздела.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: columns;
4) Дочерние элементы: default-cell.
Табл. 9 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
||||||||
code |
string |
Код строки |
Обязательный |
||||||||
type |
|
Тип столбца Столбец-боковик – крайний левый столбец, в котором определяются названия, заполняемых строк. Столбец-значение – числовое значение показателя. Столбец-специфика – столбец, значение в котором определяет уникальность множественной строки. |
Обязательный |
||||||||
fld |
string |
Идентификатор ключевого атрибута в отчете-ЭВФ, если это столбец-специфика. Может принимать значения "s1", "s2", "s3". |
Необязательный |
||||||||
name |
string |
Отображаемое текстовое название столбца |
Обязательный |
||||||||
pr_inp |
string |
Условие закрещивания графы - условие на период отчета, задаваемое в соответствии с лексемой <Условие на период> языка описания контролей, который описан в разделе 4. Допустимые значения: true- графа недоступна для редактирования; False- графа не закрещена. Значение по умолчанию: false; то есть графа не закрещена. |
Необязательный |
Описание ячейки по умолчанию, которая применяется ко всему столбцу.
1) Элемент необязательный;
2) Максимальное количество элементов: 1.
Табл. 10 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
||||||||||||||
column |
string |
Код столбца |
Обязательный |
||||||||||||||
dic |
string |
Справочник, по которому проверяется значение |
Необязательный |
||||||||||||||
format |
string |
Описание формата вводимого значения в ячейку отчета-ЭВФ. Например: C(25) – символьная строка длиной не более 25 знаков (формат допустим для колонок типа ‘B’ и ‘S’) ; N(15,2) – Числовое поле, у которого целая часть не более 15 знаков, дробная часть не более 2 знаков (формат допустим для колонок типа ‘S’ и ‘Z’). |
Обязательный |
||||||||||||||
default |
string |
Значение по умолчанию |
Необязательный |
||||||||||||||
inputType |
|
Тип ячейки |
Обязательный |
||||||||||||||
vldType |
|
Тип проверки значения ячейки |
Необязательный |
||||||||||||||
vld |
string |
Дополнительные параметры фильтрации зависит от атрибута vldType: vldType=2: диапазон значений вида "1-10"; vldType=3: список значений вида "1,2,5,7"; vldType=4: идентификатор приложения, по которому усекается справочник; vldType=5: фильтр для справочника вида "okp=#5,50,Г" - где: "okp" - дополнительный атрибут в теге "term" справочника, "#5,50,Г" - координата ячейки, из которой берется значение для фильтрации ("5" - раздел формы, "50" - код строки, "Г" - код столбца). |
Необязательный |
Список всех строк раздела;
1) Элемент обязательный;
2) Максимальное количество элементов: 1
3) Родительский элемент: section;
4) Дочерние элементы: row.
Строка раздела.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: rows;
4) Дочерние элементы: cell.
Табл. 11 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
||||||||
code |
unsignedLong |
Код строки |
Обязательный |
||||||||
type |
|
Тип строки |
Обязательный |
||||||||
grv |
string |
Имеет смысл для множественных строк (type="M"). Перечисленные через запятую коды столбцов специфик (например, “В”), которые являются ключевыми для данной множественной строки |
Необязательный |
||||||||
name |
string |
Наименование строки |
Обязательный |
||||||||
pr_inp |
string |
Условие закрещивания строки - условие на период отчета, задаваемое в соответствии с лексемой <Условие на период> языка описания контролей, который описан в разделе 4. Допустимые значения: true- строка недоступна для редактирования; False- строка не закрещена. Значение по умолчанию: false; т.е. строка не закрещена. |
Необязательный |
Ячейка строки.
1) Элемент не обязательный;
2) Максимальное количество элементов: Неограниченно.
Табл. 12 Атрибуты
Допустимые значения |
Описание |
Обязательность |
|||||||||||||||
column |
string |
Код столбца |
Обязательный |
||||||||||||||
dic |
string |
Справочник, по которому проверяется значение |
Необязательный |
||||||||||||||
format |
string |
Описание формата вводимого значения в ячейку отчета-ЭВФ. Например: C(25) – символьная строка длиной не более 25 знаков (формат допустим для колонок типа ‘B’ и ‘S’) ; N(15,2) – Числовое поле, у которого целая часть не более 15 знаков, дробная часть не более 2 знаков (формат допустим для колонок типа ‘S’ и ‘Z’). |
Обязательный |
||||||||||||||
default |
string |
Значение по умолчанию |
Необязательный |
||||||||||||||
inputType |
|
Тип ячейки |
Обязательный |
||||||||||||||
vldType |
|
Тип проверки значения ячейки |
Необязательный |
||||||||||||||
vld |
string |
Дополнительные параметры фильтрации зависит от атрибута vldType: vldType=2: диапазон значений вида "1-10"; vldType=3: список значений вида "1,2,5,7"; vldType=4: идентификатор приложения, по которому усекается справочник; vldType=5: фильтр для справочника вида "okp=#5,50,Г" - где: "okp" - дополнительный атрибут в теге "term" справочника, "#5,50,Г" - координата ячейки, из которой берется значение для фильтрации ("5" - раздел формы, "50" - код строки, "Г" - код столбца). |
Необязательный |
||||||||||||||
pr_inp |
string |
Условие закрещивания ячейки - условие на период отчета, задаваемое в соответствии с лексемой <Условие на период> языка описания контролей, который описан в разделе 4. Допустимые значения: true- ячейка недоступна для редактирования; False- ячейка не закрещена. Значение по умолчанию: false; то есть ячейка не закрещена. |
Необязательный |
Список контролей формы.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
4) Дочерние элементы: control.
Арифметическо-логический контроль.
1) Родительский элемент: controls.
2) Элемент необязательный;
3) Максимальное количество элементов: неограничено;
Табл. 13 Атрибуты
Допустимые значения |
Описание |
Обязательность |
|||||||
id |
unsignedInt |
Идентификатор контроля |
Обязательный |
||||||
name |
string |
Текстовое описание контроля |
Обязательный |
||||||
condition |
string |
Условие выполнения контроля (выражение на языке контролей) |
Обязательный |
||||||
rule |
string |
Формула контроля, которая должна выполниться, чтобы контроль считался успешным (выражение на языке контролей) |
Обязательный |
||||||
periodClause |
string |
Условие на период отчета (выражение на языке контролей). Значение по умолчанию - true |
Необязательный |
||||||
precision |
unsignedByte |
Количество десятичных знаков, до которых округляются значения при операциях сравнения в формулах контроля. Значение по умолчанию 2 |
Необязательный |
||||||
fault |
decimal |
Допустимое отклонение (допустимые границы отклонения при сравнении). Значение по умолчанию – 0 (отклонения не допускается). Нарушение контрольных соотношений XML- шаблона приравнивается к ошибке при сравнении на равенство. |
Необязательный |
||||||
tip |
|
Значение по умолчанию – 1 (обязательный контроль) |
Необязательный |
Условие выполнения контролей, формула контроля и условие на период отчета задаются на языке описания контролей, который описан в Разделе 4. Условие выполнения контролей описывается лексемой <Условие>. Формула контроля описывается лексемой <Логическое выражение>. Условие на период отчета описывается лексемой <Условие на период>.
Справочники формы.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
4) Дочерние элементы: dic.
Обязательно наличие справочников (дочерних элементов) s_year и s_time или s_god и s_mes.
Справочник формы или приложение к справочнику.
1) Элемент обязательный;
2) Минимальное количество элементов: 2;
3) Максимальное количество элементов: неограниченно;
4) Родительский элемент: dics;
5) Дочерние элементы: term.
Табл. 14 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
name |
string |
Текстовое наименование справочника |
Обязательный |
id |
string |
Идентификатор справочника или приложения (название таблицы) |
Обязательный |
parent |
string |
Имеет смысл только для приложения[2]. Идентификатор справочника, к которому относится приложение |
Необязательный |
Термин - элемент справочника.
1) Дополнительные атрибуты: возможно наличие дополнительных атрибутов, которые используются для фильтрации справочника. Имена дополнительных атрибутов задаются проектировщиком формы (разработчиком XML-шаблона) произвольно. Справочник, из которого выбираются значения для заполнения некоторого поля, может формироваться по значению некоторого признака – дополнительного параметра фильтрации (подробнее в описании атрибута vld элементов cell и default-cell, в случае vldType=5);
2) Допустимые значения: string;
3) Содержимое: текст позиции справочника, только для справочника, приложение не имеет текста позиции;
4) Элемент обязательный;
5) Максимальное количество элементов: неограниченно;
6) Родительский элемент: dic.
Табл. 15 Атрибуты
Наименование |
Допустимые значения |
Описание |
Обязательность |
Id |
string |
Код термина, совместно с дополнительными атрибутами представляет собой ключ |
Обязательный |
Настоящий раздел содержит формальное описание языка описания контролей. Лексема <Условие> описывает выражение, которое может быть использовано для формирования атрибута condition элемента control xml-шаблона. Лексема <Логическое выражение> описывает выражение, которое может быть использовано для формирования атрибута rule элемента control xml-шаблона. Лексема <Условие на период> описывает выражение, которое может быть использовано для формирования атрибута periodClause элементов control, cell, row, column xml-шаблона.
Для описания языка используются следующие соглашения и ограничения:
1. Служебные символы – символы, используемые при описании языка контролей:
<> – лексема (грамматическое понятие);
, – альтернатива (либо …, либо …);
[] – необязательный элемент языка (может отсутствовать);
2. Для того чтобы отличать символы языка описания контролей от служебных символов, первые будут выделяться жирным шрифтом и красным цветом ( [ ] ,).
3. <Число> – целое число или действительное число (дробная часть отделяется «.»);
4. <Код> – натуральное число (номер раздела, строки, графы соответственно);
5. <Значение> – значение специфики (допустимое значение для соответствующей графы-специфики);
6. <Наименование функции> – наименование функции (допустимые наименования приведены в табл. 16);
7. <Код периода> – значение кода из справочника s_time или s_mes в зависимости от того, какой из справочников используется в xml-шаблоне;
8. &NP – терминальный символ, обозначающий номер текущего периода, введенный на титульной странице формы;
9. Символ «*» при определении координаты элемента означает «для всех значений»;
10. SUM – оператор с одним операндом. Одновременно обозначает групповую операцию и макроподстановку по строкам или графам. Данная операция является контекст зависимой и может интерпретироваться как
a. Для каждой из перечисленных в элементе строк выполняется сложение по перечисленным графам;
b. Для каждой из перечисленных в элементе граф выполняется сложение по перечисленным строкам;
c. Выполняется сложение всех ячеек на пересечении граф и строк.
Вариант интерпретации определяется вторым операндом выражения. Если есть второй операнд такой, что в обоих операндах одинаковый набор строк, то используется первый вариант. Если есть второй операнд такой, что в обоих операндах одинаковый набор граф, то используется второй вариант. Если второй операнд – скалярное выражение, то используется третий вариант;
11. Не допускается использования вложенного оператора SUM.
<Условие> = <Логическое выражение> <Логический предикат><Логическое выражение>
[<Логический предикат><Логическое выражение>]
<Логический предикат> := AND, OR
<Логическое выражение> := <Условие на период>,
<Арифметическое выражение> <Логический оператор><Арифметическое выражение>
[<Логический оператор><Арифметическое выражение>]
<Логический оператор> := |<|, |<=|, |=|, |>=|, |>|, |<>|
<Арифметическое выражение> := <Арифметическое выражение> <Add> <Слагаемое>
<Add> := +, -
<Арифметическое выражение> := <Слагаемое>
<Слагаемое> := <Слагаемое> <Multy> <Множитель>
<Multy> := *, /
<Слагаемое> := <Множитель>
<Множитель> := <Число>, <Элемент>,<Сумма>,<Функция>
<Множитель> := (<Арифметическое выражение>)
<Функция> := <Наименование функции>( <Список параметров> )
<Список параметров> := <Список параметров> , <Арифметическое выражение>
<Список параметров> := <Арифметическое выражение>
<Сумма> := SUM<Область действия>
<Область действия> := <Элемент> , <Функция>, (<Арифметическое выражение>)
<Элемент> := <За предыдущий период>, <За текущий период>
<За предыдущий период> := {{<Координаты>}}
<За текущий период> := {<Координаты>}
<Координаты> := <Раздел> <Строка> <Графа> [<Список специфик>]
<Список специфик> := <Специфика> [<Специфика> [<Специфика>]]
<Специфика> := [<Описание специфики>]
<Описание специфики> := *, <Список значений>
<Список значений> := <Список значений> , <Значение>
<Список значений> := <Значение>
<Раздел> := [<Код>]
<Строка> := [<Описание позиций> ]
<Графа> := [<Описание позиций > ]
< Описание позиций > := *, <Список позиций>
< Список позиций > := <Список позиций> , <Позиция>
< Позиция> := <Код>, <Диапазон>
<Диапазон> := <Код> - <Код>
<Условие на период> := ( <Составное выражение> )
<Составное выражение> := <Составное выражение> <Логический предикат> <Выражение>
<Выражение> := &NP <Логический оператор> <Код периода>
<Выражение> := &NP in ( <Список периодов> )
<Список периодов> := <Список периодов> , <Код периода>
<Список периодов> := <Код периода>
В таблице 16 приведен список допустимых функций.
Табл. 16 Функции
Функция |
Параметры |
Описание |
abs (p) |
p – числовое выражение типа <Элемент>
|
Возвращает абсолютное (положительное) значение указанного числового выражения |
coalesce (p1, …pn) |
p1… pn – анализируемые значения типа <Элемент> |
Возвращает первое выражение из списка аргументов, не равное NULL |
floor (p) |
p – числовое выражение типа <Элемент>
|
Возвращает наибольшее целое число, меньшее или равное указанному числовому выражению |
isnull (p1, p2) |
p1 – анализируемое значение типа <Элемент> p2 – замещаемое значение |
Заменяет значение NULL указанным замещающим значением |
nullif (p1, p2) |
p1, p2 – сравниваемые значения типа <Элемент> |
Возвращает значение NULL, если два указанных выражения равны |
round (p1, p2, p3) |
p1 - числовое выражение типа <Элемент>.
p2 - Точность, до которой необходимо округлять значение аргумента p1. Когда аргумент p2 является положительным числом, p1 округляется до числа десятичных разрядов, указанных в аргументе p1. Когда p2 является отрицательным числом, p1 округляется слева от точки, отделяющей десятичную дробь от целого числа, как указано p2.
p3 - Тип операции, которую необходимо выполнить. Когда аргумент p3 опускается или имеет значение 0 (значение по умолчанию), аргумент p1 округляется. Когда указывается значение, не равное 0, p1 усекается.
|
Возвращает числовое значение, округленное до указанной длины или точности |
В таблице 17 и 18 приведены примеры выражений для условия на период и примеры выражений для условий и формул для контролей соответственно.
Табл. 17 Примеры условий на период
Формула |
Комментарий |
(&NP in (1203, 1206, 1209, 1212)) |
Для месячной формы условие будет истинным, если месяц, за который сдается отчет является квартальным |
(&NP > 3601 and NP < 3636) |
Для декадной формы условие будет истинным, если декада, за которую сдается отчет не первая и не последняя в году |
(&NP = 0404) |
Для квартальной формы условие будет истинным, если квартал, за который сдается отчет является последним в году |
Табл. 18 Примеры условий и формул для контролей
Тип группировки |
Формула |
Условие |
Комментарий |
Действие над графами для нескольких строк |
SUM{[3][24,25][4,5]}|=|{[3][24,25][6]} |
|
Для раздела 3 для строк 24 и 25 должно выполняться условие: сумма значений в графах 4 и 5 равна значению в графе 6. |
SUM{[3][*][4,5]}|=| {[3][*][6]} |
|
Для раздела 3 для всех строк должно выполняться условие: сумма значений в графах 4 и 5 равна значению в графе 6. |
|
{[3][*][24]}|>| {[3][*][25]} |
{[3][*][21]} |>| {[3][*][22]} |
Для раздела 3 для всех строк должно выполняться условие: если значение в графе 21 больше значения в графе 22, то и значение в графе 24 должно быть больше значения в графе 25. |
|
{[3][21,22][22]}-{[3][21,22][23]}|=| {[3][21,22][24]} |
|
Для раздела 3 для сторк 21 и 22 должно выполняться условие: значение в графе 24 должно равняться разнице значений в графах 22 и 23. |
|
{[1][1][3][51.001]}|=| SUM(isnull( {[1][2,3,4,5,6,7][3][*]}, 0))+{[1][8][3][51.90.10]} |
|
В разделе 1 для графы 3 должно выполняться следующее условие: Значение ячейки в строке 1 со значением специфики 51.001 должно равняться сумме значений по строкам со 2 по 7 для всех значений специфики 51.90.10 сложенной со значением ячейки в строке 8 со значением специфики 51.90.10. |
|
Действие над строками для нескольких граф |
0 |<| SUM( isnull( {[3][21][11 - 13]}, 0) – round( {[3][22 - 25][11 -13]}, 0)) |
|
Эквивалентно выражению 0 |<| isnull(SUM{[3][21][11 - 13]}, 0) – round(SUM{[3][22 - 25][11 -13]}, 0) |
{[3][21][11 - 13]}|=| SUM{[3][22 - 25] [11 -13]} |
|
В разделе 3 для граф с 11 по 13 должно выполняться условие: значение в строке 21 должно равняться сумме значений в строках с 22 по 25. |
|
{[5][16][*]}|>=| SUM{[5][17-21][*]} |
|
В разделе 5 для всех граф должно выполняться условие: значение в 16 строке должно равняться сумме значений с 17 по 21 строки |
|
Действие над ячейками |
-20|<=| ({[1][2][3]}+{[4][5][6]}-{[4][4][6]}*100)/{[4][4][4]}-100 |<=|20 |
{[3][4][5]}|>|0 |
Если ячейка 4 графы 4 раздела 4 больше нуля, то должно выполняться условие: отношение ((раздел 1 строка 2 графа3) + (раздел 4 строка 5 графа 6) – (раздел 4 строка 4 графа 6)) разделить на (раздел 4 строка 4 графа 4) должно быть в пределах 20% |
isnull({{[1][2][2,4,5]}}, 0). |<=| isnull({[1][2][2,4,5]}, 0). |
|
Значение в ячейках граф 2, 4 и 5 строки 2 раздела 1 за предыдущий период должно быть не больше значения в текущем периоде. |
Справочник периодичности форм (значение атрибута «IDP»)
Таблица
Код периодичности |
Название |
01 |
Годовая |
02 |
Полугодовая |
04 |
Квартальная |
12 |
Месячная |
36 |
Декадная |
56 |
Недельная |
Справочник отчетных периодов (S_TIME)
Справочник отчетных периодов для сбора отчетности в электронном виде (S_TIME) включает: код отчетного периода и наименование. Код отчетного периода состоит из кода периодичности и номера периода отчетности.
Справочник отчетных периодов принимает следующие значения:
Таблица
Код отчетного периода |
Наименование |
0101 |
За год |
0201 |
За первое полугодие |
0202 |
За второе полугодие |
0401 |
За первый квартал |
0402 |
За второй квартал |
0403 |
За третий квартал |
0404 |
За четвертый квартал |
1201 |
За январь |
1202 |
За февраль |
1203 |
За март |
1204 |
За апрель |
1205 |
За май |
1206 |
За июнь |
1207 |
За июль |
1208 |
За август |
1209 |
За сентябрь |
1210 |
За октябрь |
1211 |
За ноябрь |
1212 |
За декабрь |
3601 |
За первую декаду |
. |
|
3636 |
За последнюю (36)декаду |
5601 |
За первую неделю |
. |
|
5653 |
За 53 неделю |
Справочник отчетных годов (S_YEAR)
Справочник отчетных годов для сбора отчетности в электронном виде (S_YEAR) включает: код отчетного года и наименование.
Код отчетного года – четырехзначный номер года (например, 2009, 2010).
Наименование – текстовое значение (например, «2009», «за 2009 год», «на 2009 год»).
[1] Множественная строка – строка с заданным кодом, которая может повторяться в отчете-ЭВФ более одного раза. Уникальность множественной строки определяется набором значений специальных столбцов (специфики), заданных для конкретной множественной строки.
[2] Приложение справочника – подмножество значений кодов справочника. Создание приложения на приложение не допустимо