Действующий

Об утверждении Унифицированного формата электронных версий форм статистической отчетности (с изменениями на 21 мая 2012 года)

          4. Язык описания контролей


Настоящий раздел содержит формальное описание языка описания контролей. Лексема <Условие> описывает выражение, которое может быть использовано для формирования атрибута condition элемента control xml-шаблона. Лексема <Логическое выражение> описывает выражение, которое может быть использовано для формирования атрибута rule элемента control xml-шаблона. Лексема <Условие на период> описывает выражение, которое может быть использовано для формирования атрибута periodClause элементов control, cell, row, column xml-шаблона.

Для описания языка используются следующие соглашения и ограничения:

1. Служебные символы - символы, используемые при описании языка контролей:

<> - лексема (грамматическое понятие);

, - альтернатива (либо ..., либо ...);

[] - необязательный элемент языка (может отсутствовать);

2. Для того чтобы отличать символы языка описания контролей от служебных символов, первые будут выделяться жирным шрифтом и красным цветом ( [ ],).

3. <Число> - целое число или действительное число (дробная часть отделяется ".");

4. <Код> - натуральное число (номер раздела, строки, графы соответственно);

5. <3начение> - значение специфики (допустимое значение для соответствующей графы-специфики);

6. <Наименование функции> - наименование функции (допустимые наименования приведены в табл.16);

7. <Код периода> - значение кода из справочника s_time или s_mes в зависимости от того, какой из справочников используется в xml-шаблоне;

8. &NP - терминальный символ, обозначающий номер текущего периода, введенный на титульной странице формы;

9. Символ "*" при определении координаты элемента означает "для всех значений";

10. SUM - оператор с одним операндом. Одновременно обозначает групповую операцию и макроподстановку по строкам или графам. Данная операция является контекст зависимой и может интерпретироваться как

a. Для каждой из перечисленных в элементе строк выполняется сложение по перечисленным графам;

b. Для каждой из перечисленных в элементе граф выполняется сложение по перечисленным строкам;

c. Выполняется сложение всех ячеек на пересечении граф и строк.

Вариант интерпретации определяется вторым операндом выражения. Если есть второй операнд такой, что в обоих операндах одинаковый набор строк, то используется первый вариант. Если есть второй операнд такой, что в обоих операндах одинаковый набор граф, то используется второй вариант. Если второй операнд - скалярное выражение, то используется третий вариант;

11. Не допускается использования вложенного оператора SUM.

<Условие> = <Логическое выражение> <Логический предикат> <Логическое выражение> [<Логический предикат> <Логическое выражение>]

<Логический предикат> := AND, OR

<Логическое выражение> := <Условие на период>,

<Арифметическое выражение> <Логический оператор> <Арифметическое выражение>

[<Логический оператор><Арифметическое выражение>]

<Логический оператор> := |<|, |<=|, |=|, |>=|, |>|, |<>|

<Арифметическое выражение> := <Арифметическое выражение> <Add> <Слагаемое>

<Add> := +, -