ГРАЖДАНСКОЕ ЗАКОНОДАТЕЛЬСТВО
ЗАКОНЫ КОММЕНТАРИИ СУДЕБНАЯ ПРАКТИКА
Гражданский кодекс часть 1
Гражданский кодекс часть 2

Приказ Росстата от 28.10.2010 N 372 (ред. от 21.05.2012) "Об утверждении Унифицированного формата электронных версий форм статистической отчетности"

МИНИСТЕРСТВО ЭКОНОМИЧЕСКОГО РАЗВИТИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНАЯ СЛУЖБА ГОСУДАРСТВЕННОЙ СТАТИСТИКИ
ПРИКАЗ
от 28 октября 2010 г. N 372
ОБ УТВЕРЖДЕНИИ УНИФИЦИРОВАННОГО ФОРМАТА
ЭЛЕКТРОННЫХ ВЕРСИЙ ФОРМ СТАТИСТИЧЕСКОЙ ОТЧЕТНОСТИ
В целях повышения эффективности организации работ по внедрению электронного сбора статистической отчетности приказываю:
1. Утвердить прилагаемый Унифицированный формат электронных версий форм статистической отчетности (далее - Унифицированный формат).
2. Управлению информационных ресурсов и технологий (Ю.К. Голованову) в течение 2-х дней со дня утверждения разместить Унифицированный формат на официальном сайте Росстата в сети Интернет.
3. Руководителям территориальных органов Росстата обеспечить размещение Унифицированного формата на сайтах территориальных органов Росстата в сети Интернет в течение 2-х дней со дня получения данного Приказа.
4. Считать утратившим силу Приказ Росстата от 29.06.2010 N 234 "Об утверждении Унифицированного формата электронных версий форм статистической отчетности".
5. Контроль за выполнением настоящего Приказа возложить на заместителя руководителя Росстата В.Н. Забелина.
Руководитель
А.Е.СУРИНОВ
Утвержден
Приказом Росстата
от 28 октября 2010 г. N 372
УНИФИЦИРОВАННЫЙ ФОРМАТ
ЭЛЕКТРОННЫХ ВЕРСИЙ ФОРМ СТАТИСТИЧЕСКОЙ ОТЧЕТНОСТИ
АННОТАЦИЯ
В настоящем документе приводится описание Унифицированного формата электронных версий форм статистической отчетности в электронном виде.
Настоящий документ разработан в результате выполнения работ по проекту "Создание электронного архива электронных версий форм статистической отчетности, полученной от респондентов с электронной подписью, и развитию Единой системы сбора, обработки, хранения и представления статистических данных (ЕССО) в части электронного сбора данных".
Документ состоит из 4 разделов.
В первом разделе приведена общая информация о цели создания документа, области его применения, особенностях и условиях его использования.
Во втором разделе содержится описание структуры элементов отчета, содержащего данные, полученные от Респондента в результате электронного сбора статистической отчетности.
В третьем разделе содержится описание структуры элементов электронной версии формы федерального статистического наблюдения.
В четвертом разделе содержится описание языка описания контролей (языка описания арифметических и логических проверок, выполняемых при заполнении формы).
ПЕРЕЧЕНЬ СОКРАЩЕНИЙ И УСЛОВНЫХ НАИМЕНОВАНИЙ
Росстат
Федеральная служба государственной статистики
ТОГС
Территориальный орган Федеральной службы государственной статистики и его обособленные подразделения в районах и городах, ответственные за сбор первичных статистических данных по формам федерального статистического наблюдения от Респондентов, осуществляющих деятельность на территории Субъекта Российской Федерации
Респондент
Юридическое лицо, обособленное подразделение или индивидуальный предприниматель, осуществляющий деятельность без образования юридического лица, представляющие первичные статистические данные в территориальные органы государственной статистики в соответствии с действующим законодательством
ПО
Программное обеспечение
ЕССО
Единая система сбора, обработки, хранения и предоставления статистической информации
Отчет-ЭВФ
Электронная версия формы статистической отчетности с данными в XML-формате, предоставляемая Респондентом в ТОГС
XML-шаблон
Электронная версия формы федерального статистического наблюдения в XML-формате, содержащая описание показателей, контроли первичных статистических данных, нормативно- справочную информацию, используемую Респондентом при заполнении отчета
1. ОБЩИЕ ПОЛОЖЕНИЯ
1.1. Цель документа
Настоящий документ определяет требования к структуре элементов и правилам формирования отчетов-ЭВФ, используемых в процессе электронного сбора статистической отчетности, а также описывает правила и структуру файлов XML-шаблонов форм.
Целью документа является описание унифицированных форматов отчета-ЭВФ и XML-шаблона форм статистической отчетности, содержащих информацию, необходимую для формирования отчетов-ЭВФ в процессе электронного сбора статистической отчетности Росстата.
1.2. Область применения
Унифицированный формат электронных версий форм статистической отчетности применяется при проектировании и разработке программных средств подготовки отчетов-ЭВФ на основе XML-шаблонов, содержит описание структуры, правила формирования отчетов-ЭВФ, информацию, которая должна быть в отчете-ЭВФ для однозначной идентификации формы отчета-ЭВФ при приеме в ЕССО, а также описание структуры XML-шаблонов - элементы визуализации и контроля правильности заполнения данных.
Унифицированный формат обязателен для использования в любых программно-технических средствах подготовки и формирования отчетов-ЭВФ для электронного сбора статистических данных Росстата.
1.3. Условия и особенности использования документа
Структура отчетов-ЭВФ, предназначенных для использования в процессе электронного сбора статистической отчетности Росстата, должна соответствовать требованиям, описанным в настоящем документе (требования к структуре элементов, иерархии элементов, атрибутам, обязательности атрибутов, формату данных).
Для обеспечения возможности загрузки данных, содержащихся в отчетах, в базу данных ЕССО требуется строгое соответствие структуры и формата формируемых отчетов-ЭВФ требованиям настоящего унифицированного формата.
Для формирования отчетов-ЭВФ необходимо использовать информацию, содержащуюся в XML-шаблоне для данной формы статистической отчетности.
XML-шаблон разрабатывается для каждой формы статистической отчетности отдельно на основании ее экономического описания. Актуальные XML-шаблоны размещаются на официальном сайте Росстата и доступны для общего пользования. Структура и атрибуты XML-шаблонов описаны в разделе 3 настоящего документа. Информации, содержащейся в соответствующем XML-шаблоне, достаточно для правильного формирования отчета-ЭВФ и последующей его загрузки в базу данных ЕССО.
Источником информации для формирования правил арифметического, логического контроля является экономическое описание статистической работы, содержащее описание входных данных, контроля информации, нормативно-справочную информацию для данной работы.
2. ОПИСАНИЕ СТРУКТУРЫ ЭЛЕМЕНТОВ ОТЧЕТА-ЭВФ
2.1. Структура имени файла отчета-ЭВФ
Имя файла отчета должно формироваться в соответствии с шаблоном:
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
2.2. report
Статистический отчет.
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-отчета
Обязательный
2.2.1. title
Заполненная информация с титульной страницы формы статистической отчетности.
1) Обязательно наличие тэга item, у которого значение атрибута name совпадает со значением атрибута obj тэга metaForm xml-формы;
2) Элемент обязательный;
3) Максимальное количество элементов: 1;
4) Родительский элемент: report;
5) Дочерние элементы: item.
2.2.1.1. item
Значение поля титульной страницы отчета.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: title.
Табл. 2. Атрибуты
Наименование
Допустимые значения
Описание
Обязательность
name
string
Идентификатор поля титульной страницы отчета. Содержит значение атрибута field для соответствующего элемента XML-шаблона
Обязательный
value
string
Значение, введенное пользователем в соответствующее поле титульной страницы отчета
Обязательный
2.2.2. sections
Список всех заполненных разделов отчета.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: report;
4) Дочерние элементы: section.
2.2.2.1. section
Заполненный раздел с данными. Соответствует разделу формы.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: sections;
4) Дочерние элементы: row.
Табл. 3. Атрибуты
Наименование
Допустимые значения
Описание
Обязательность
code
unsignedLong
Код раздела, содержит код раздела соответствующего XML-шаблона
Обязательный
2.2.2.1.1. row
Заполненная строка отчета. Соответствует строке отчета.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: section;
4) Дочерние элементы: col.
Табл. 4. Атрибуты
Наименование
Допустимые значения
Описание
Обязательность
code
unsignedLong
Код строки. Содержит значение атрибута code для соответствующей строки, соответствующего раздела XML-шаблона
Обязательный
s1
string
Специфика строки. В случае если строка множественная <*>, то значение в данном поле соответствует значению, введенному в первый столбец с типом "S"
Необязательный
s2
string
Специфика строки. В случае если строка множественная, то значение в данном поле соответствует значению, введенному во второй столбец с типом "S"
Необязательный
s3
string
Специфика строки. В случае если строка множественная, то значение в данном поле соответствует значению, введенному в третий столбец с типом "S"
Необязательный
--------------------------------
<*> Множественная строка - строка с заданным кодом, которая может повторяться в отчете-ЭВФ более одного раза. Уникальность множественной строки определяется набором значений специальных столбцов (специфики), заданных для конкретной множественной строки.
2.2.2.1.1.1. col
Значение ячейки.
1) Допустимые значения: double (разделителем целой и дробной части является точка '.');
2) Элемент обязательный;
3) Максимальное количество элементов: неограниченно;
4) Родительский элемент: row.
Табл. 5. Атрибуты
Наименование
Допустимые значения
Описание
Обязательность
code
unsignedLong
Код столбца. Соответствует коду столбца формы с типом "Z"
Обязательный
3. ОПИСАНИЕ СТРУКТУРЫ ЭЛЕМЕНТОВ XML-ШАБЛОНА
СТАТИСТИЧЕСКОЙ ОТЧЕТНОСТИ
Настоящий раздел содержит описание XML-шаблона электронной версии формы статистической отчетности.
3.1. metaForm
Элемент 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-шаблона
Обязательный
3.1.1. settings
Содержит настройки общего назначения.
1) Элемент необязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
3.1.1.1. sign
Необходимость подписания документа.
1) Элемент необязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: settings;
4) Значение по умолчанию: true;
5) Допустимые значения:
Значение
Описание
true
Отчет должен быть подписан
false
Отчет не должен быть подписан
3.1.1.2. validation
Необходимость проведения контролей.
1) Элемент необязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: settings;
4) Значение по умолчанию: always;
5) Допустимые значения:
Значение
Описание
Always
проверять всегда - не позволять сохранить отчет как "отчет" без успешного выполнения обязательных контролей
Prompt
проводить контроль, но при ошибках предлагать пользователю выбор: сохранять или нет
Skip
контроль не проводится - позволяет сохранять ошибочный отчет
3.1.1.3. notEmpty
Возможность сдачи незаполненного (пустого) отчета.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: settings;
4) Значение по умолчанию: true; то есть отчет не может сдаваться незаполненным;
5) Допустимые значения:
Значение
Описание
true
Отчет должен быть заполнен
false
Отчет может сдаваться незаполненным
3.1.2. title
Описание структуры титульной страницы.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
4) Дочерние элементы: item.
3.1.2.1. item
Поле для заполнения на титульном листе отчета.
1) Обязательно наличие тэга item, у которого @field=/metaForm/@obj;
2) Элемент обязательный;
3) Максимальное количество элементов: неограниченно;
4) Родительский элемент: title.
Табл. 7. Атрибуты
Наименование
Допустимые значения
Описание
Обязательность
field
string
Идентификатор поля
Обязательный
name
string
Название поля, используется при отображении пользователю
Обязательный
dic
string
Атрибут определяет поле как идентификационный признак отчета, проверяемого по справочнику, кроме справочника s_okpo, который в xml-шаблон не включается и проверка соответствующего ему поля по справочнику выполняется только при загрузке отчета в программные средства обработки
Необязательный
3.1.3. sections
Список разделов формы.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
4) Дочерние элементы: section.
3.1.3.1. section
Раздел формы.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: sections;
4) Дочерние элементы: columns, rows.
Табл. 8. Атрибуты
Наименование
Допустимые значения
Описание
Обязательность
code
unsignedLong
Код раздела
Обязательный
name
string
Название раздела
Обязательный
nb
unsignedInt
Внутренний идентификатор ССО, используется для загрузки. Сторонние приложения не должны обрабатывать данный атрибут
Обязательный
3.1.3.1.1. columns
Список всех столбцов раздела.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: section;
4) Дочерние элементы: column.
3.1.3.1.1.1. column
Столбец раздела.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: columns;
4) Дочерние элементы: default-cell.
Табл. 9. Атрибуты
┌─────────────┬────────────────────────┬─────────────────────┬──────────────┐
│Наименование │  Допустимые значения   │      Описание       │Обязательность│
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│code         │string                  │Код строки           │Обязательный  │
├─────────────┼───────────┬────────────┼─────────────────────┼──────────────┤
│type         │┌──────────┼───────────┐│Тип столбца          │Обязательный  │
│             ││Значение  │ Описание  ││Столбец-боковик     -│              │
│             │├──────────┼───────────┤│крайний         левый│              │
│             ││B         │ Столбец-  ││столбец, в    котором│              │
│             ││          │ боковик   ││определяются названия│              │
│             │├──────────┼───────────┤│заполняемых    строк.│              │
│             ││Z         │ Столбец-  ││Столбец-значение    -│              │
│             ││          │ значение  ││числовое     значение│              │
│             │├──────────┼───────────┤│показателя.          │              │
│             ││S         │ Столбец-  ││Столбец-специфика   -│              │
│             ││          │ специфика ││столбец,  значение  в│              │
│             ││          │           ││котором    определяет│              │
│             ││          │           ││уникальность         │              │
│             ││          │           ││множественной        │              │
│             │└──────────┴───────────┘│строки               │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│fld          │string                  │Идентификатор        │Необязательный│
│             │                        │ключевого атрибута в │              │
│             │                        │отчете-ЭВФ, если это │              │
│             │                        │столбец-специфика.   │              │
│             │                        │Может принимать      │              │
│             │                        │значения "s1", "s2", │              │
│             │                        │"s3".                │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│name         │string                  │Отображаемое         │Обязательный  │
│             │                        │текстовое    название│              │
│             │                        │столбца              │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│pr_inp       │string                  │Условие  закрещивания│Необязательный│
│             │                        │графы  -  условие  на│              │
│             │                        │период        отчета,│              │
│             │                        │задаваемое          в│              │
│             │                        │соответствии        с│              │
│             │                        │лексемой <Условие  на│              │
│             │                        │период>         языка│              │
│             │                        │описания   контролей,│              │
│             │                        │который   описан    в│              │
│             │                        │разделе 4.           │              │
│             │                        │Допустимые значения: │              │
│             │                        │true     -      графа│              │
│             │                        │недоступна        для│              │
│             │                        │редактирования;      │              │
│             │                        │False  -   графа   не│              │
│             │                        │закрещена.           │              │
│             │                        │Значение           по│              │
│             │                        │умолчанию: false;  то│              │
│             │                        │есть     графа     не│              │
│             │                        │закрещена            │              │
└─────────────┴────────────────────────┴─────────────────────┴──────────────┘
3.1.3.1.1.1.1. default-cell
Описание ячейки по умолчанию, которая применяется ко всему столбцу.
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    │┌───────────┬──────────┐│Тип ячейки           │Обязательный  │
│             ││Значение   │ Описание ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││0          │Ячейка    ││                     │              │
│             ││           │запрещена ││                     │              │
│             ││           │для ввода ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││1          │Ячейка,   ││                     │              │
│             ││           │обязатель-││                     │              │
│             ││           │ная для   ││                     │              │
│             ││           │ввода     ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││2          │Ячейка, не││                     │              │
│             ││           │обязатель-││                     │              │
│             ││           │ная для   ││                     │              │
│             ││           │ввода     ││                     │              │
├─────────────┼┴───────────┴──────────┴┼─────────────────────┼──────────────┤
│vldType      │┌───────────┬──────────┐│Тип проверки значения│Необязательный│
│             ││Значение   │Описание  ││ячейки               │              │
│             │├───────────┼──────────┤│                     │              │
│             ││0          │Проверки  ││                     │              │
│             ││           │не        ││                     │              │
│             ││           │требуется.││                     │              │
│             ││           │По        ││                     │              │
│             ││           │умолчанию ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││1          │Проверка  ││                     │              │
│             ││           │по        ││                     │              │
│             ││           │справочни-││                     │              │
│             ││           │ку,       ││                     │              │
│             ││           │указанному││                     │              │
│             ││           │в атрибуте││                     │              │
│             ││           │dic       ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││2          │Проверка  ││                     │              │
│             ││           │на        ││                     │              │
│             ││           │диапазон  ││                     │              │
│             ││           │значений, ││                     │              │
│             ││           │указанных ││                     │              │
│             ││           │в атрибуте││                     │              │
│             ││           │vld       ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││3          │Проверка  ││                     │              │
│             ││           │по списку ││                     │              │
│             ││           │значений, ││                     │              │
│             ││           │указанных ││                     │              │
│             ││           │в атрибуте││                     │              │
│             ││           │vld       ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││4          │Проверка  ││                     │              │
│             ││           │по        ││                     │              │
│             ││           │приложе-  ││                     │              │
│             ││           │нию,      ││                     │              │
│             ││           │справочник││                     │              │
│             ││           │указывает-││                     │              │
│             ││           │ся в      ││                     │              │
│             ││           │атрибуте  ││                     │              │
│             ││           │dic,      ││                     │              │
│             ││           │приложение││                     │              │
│             ││           │- в       ││                     │              │
│             ││           │атрибуте  ││                     │              │
│             ││           │vld       ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││5          │Проверка  ││                     │              │
│             ││           │по        ││                     │              │
│             ││           │справочни-││                     │              │
│             ││           │ку,       ││                     │              │
│             ││           │используя ││                     │              │
│             ││           │фильтрацию││                     │              │
│             ││           │по        ││                     │              │
│             ││           │формуле,  ││                     │              │
│             ││           │указанной ││                     │              │
│             ││           │в атрибуте││                     │              │
│             ││           │vld       ││                     │              │
│             │└───────────┴──────────┘│                     │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│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" -│              │
│             │                        │код строки, "Г" - код│              │
│             │                        │столбца)             │              │
└─────────────┴────────────────────────┴─────────────────────┴──────────────┘
3.1.3.1.2. rows
Список всех строк раздела;
1) Элемент обязательный;
2) Максимальное количество элементов: 1
3) Родительский элемент: section;
4) Дочерние элементы: row.
3.1.3.1.2.1. row
Строка раздела.
1) Элемент обязательный;
2) Максимальное количество элементов: неограниченно;
3) Родительский элемент: rows;
4) Дочерние элементы: cell.
Табл. 11. Атрибуты
┌─────────────┬────────────────────────┬─────────────────────┬──────────────┐
│Наименование │  Допустимые значения   │      Описание       │Обязательность│
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│code         │unsignedLong            │Код строки           │Обязательный  │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│type         │┌───────────┬──────────┐│Тип строки           │Обязательный  │
│             ││Значение   │Описание  ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││C          │Текстовая ││                     │              │
│             ││           │строка, не││                     │              │
│             ││           │предназна-││                     │              │
│             ││           │чена для  ││                     │              │
│             ││           │ввода     ││                     │              │
│             ││           │данных    ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││F          │Фиксиро-  ││                     │              │
│             ││           │ванная    ││                     │              │
│             ││           │строка,   ││                     │              │
│             ││           │предназна-││                     │              │
│             ││           │ченная для││                     │              │
│             ││           │ввода     ││                     │              │
│             ││           │данных    ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││M          │Множест-  ││                     │              │
│             ││           │венная    ││                     │              │
│             ││           │строка,   ││                     │              │
│             ││           │пользова- ││                     │              │
│             ││           │тель имеет││                     │              │
│             ││           │возмож-   ││                     │              │
│             ││           │ность     ││                     │              │
│             ││           │ввести    ││                     │              │
│             ││           │данную    ││                     │              │
│             ││           │строку    ││                     │              │
│             ││           │несколько ││                     │              │
│             ││           │раз       ││                     │              │
│             │└───────────┴──────────┘│                     │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│grv          │string                  │Имеет     смысл   для│Необязательный│
│             │                        │множественных   строк│              │
│             │                        │(type="M").          │              │
│             │                        │Перечисленные   через│              │
│             │                        │запятую          коды│              │
│             │                        │столбцов     специфик│              │
│             │                        │(например,      "B"),│              │
│             │                        │которые      являются│              │
│             │                        │ключевыми для  данной│              │
│             │                        │множественной строки │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│name         │string                  │Наименование строки  │Обязательный  │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│pr_inp       │string                  │Условие  закрещивания│Необязательный│
│             │                        │строки  - условие  на│              │
│             │                        │период        отчета,│              │
│             │                        │задаваемое          в│              │
│             │                        │соответствии        с│              │
│             │                        │лексемой  <Условие на│              │
│             │                        │период>         языка│              │
│             │                        │описания   контролей,│              │
│             │                        │который    описан   в│              │
│             │                        │разделе 4.           │              │
│             │                        │Допустимые значения: │              │
│             │                        │true      -    строка│              │
│             │                        │недоступна        для│              │
│             │                        │редактирования;      │              │
│             │                        │False   -  строка  не│              │
│             │                        │закрещена.           │              │
│             │                        │Значение           по│              │
│             │                        │умолчанию:     false;│              │
│             │                        │т.е.    строка     не│              │
│             │                        │закрещена            │              │
└─────────────┴────────────────────────┴─────────────────────┴──────────────┘
3.1.3.1.2.1.1. cell
Ячейка строки.
1) Элемент не обязательный;
2) Максимальное количество элементов: Неограниченно.
Табл. 12. Атрибуты
┌─────────────┬────────────────────────┬─────────────────────┬──────────────┐
│Наименование │  Допустимые значения   │      Описание       │Обязательность│
│             │                        │                     │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│column       │string                  │Код столбца          │Обязательный  │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│dic          │string                  │Справочник,        по│Необязательный│
│             │                        │которому  проверяется│              │
│             │                        │значение             │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│format       │string                  │Описание      формата│Обязательный  │
│             │                        │вводимого значения  в│              │
│             │                        │ячейку    отчета-ЭВФ.│              │
│             │                        │Например:            │              │
│             │                        │C(25)  -   символьная│              │
│             │                        │строка   длиной    не│              │
│             │                        │более    25    знаков│              │
│             │                        │(формат допустим  для│              │
│             │                        │колонок типа      'B'│              │
│             │                        │и 'S');              │              │
│             │                        │N(15,2)  -   Числовое│              │
│             │                        │поле,   у    которого│              │
│             │                        │целая часть не  более│              │
│             │                        │15  знаков,   дробная│              │
│             │                        │часть  не   более   2│              │
│             │                        │знаков        (формат│              │
│             │                        │допустим для  колонок│              │
│             │                        │типа 'S' и 'Z')      │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│default      │string                  │Значение           по│Необязательный│
│             │                        │умолчанию            │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│inputType    │┌───────────┬──────────┐│Тип ячейки           │Обязательный  │
│             ││Значение   │Описание  ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││0          │Ячейка    ││                     │              │
│             ││           │запрещена ││                     │              │
│             ││           │для ввода ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││1          │Ячейка,   ││                     │              │
│             ││           │обязатель-││                     │              │
│             ││           │ная для   ││                     │              │
│             ││           │ввода     ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││2          │Ячейка, не││                     │              │
│             ││           │обязатель-││                     │              │
│             ││           │ная для   ││                     │              │
│             ││           │ввода     ││                     │              │
│             │└───────────┴──────────┘│                     │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│vldType      │┌───────────┬──────────┐│Тип проверки значения│Необязательный│
│             ││Значение   │Описание  ││ячейки               │              │
│             │├───────────┼──────────┤│                     │              │
│             ││0          │Проверки  ││                     │              │
│             ││           │не        ││                     │              │
│             ││           │требуется.││                     │              │
│             ││           │По        ││                     │              │
│             ││           │умолчанию ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││1          │Проверка  ││                     │              │
│             ││           │по        ││                     │              │
│             ││           │справочни-││                     │              │
│             ││           │ку,       ││                     │              │
│             ││           │указанному││                     │              │
│             ││           │в атрибуте││                     │              │
│             ││           │dic       ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││2          │Проверка  ││                     │              │
│             ││           │на        ││                     │              │
│             ││           │диапазон  ││                     │              │
│             ││           │значений, ││                     │              │
│             ││           │указанных ││                     │              │
│             ││           │в атрибуте││                     │              │
│             ││           │vld       ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││3          │Проверка  ││                     │              │
│             ││           │по списку ││                     │              │
│             ││           │значений, ││                     │              │
│             ││           │указанных ││                     │              │
│             ││           │в атрибуте││                     │              │
│             ││           │vld       ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││4          │Проверка  ││                     │              │
│             ││           │по        ││                     │              │
│             ││           │приложе-  ││                     │              │
│             ││           │нию,      ││                     │              │
│             ││           │справочник││                     │              │
│             ││           │указывает-││                     │              │
│             ││           │ся в      ││                     │              │
│             ││           │атрибуте  ││                     │              │
│             ││           │dic,      ││                     │              │
│             ││           │приложение││                     │              │
│             ││           │- в       ││                     │              │
│             ││           │атрибуте  ││                     │              │
│             ││           │vld       ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││5          │Проверка  ││                     │              │
│             ││           │по        ││                     │              │
│             ││           │справочни-││                     │              │
│             ││           │ку,       ││                     │              │
│             ││           │используя ││                     │              │
│             ││           │фильтрацию││                     │              │
│             ││           │по        ││                     │              │
│             ││           │формуле,  ││                     │              │
│             ││           │указанной ││                     │              │
│             ││           │в атрибуте││                     │              │
│             ││           │vld       ││                     │              │
│             │└───────────┴──────────┘│                     │              │
├─────────────┼────────────────────────┼─────────────────────┼──────────────┤
│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;  то│              │
│             │                        │есть    ячейка     не│              │
│             │                        │закрещена            │              │
└─────────────┴────────────────────────┴─────────────────────┴──────────────┘
3.1.4. controls
Список контролей формы.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
4) Дочерние элементы: control.
3.1.4.1. 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   (обязательный│              │
│             ││           │          ││контроль)            │              │
│             │├───────────┼──────────┤│                     │              │
│             ││0          │Необяза-  ││                     │              │
│             ││           │тельный   ││                     │              │
│             ││           │контроль  ││                     │              │
│             │├───────────┼──────────┤│                     │              │
│             ││1          │Обязатель-││                     │              │
│             ││           │ный       ││                     │              │
│             ││           │контроль  ││                     │              │
│             │└───────────┴──────────┘│                     │              │
└─────────────┴────────────────────────┴─────────────────────┴──────────────┘
Условие выполнения контролей, формула контроля и условие на период отчета задаются на языке описания контролей, который описан в Разделе 4. Условие выполнения контролей описывается лексемой <Условие>. Формула контроля описывается лексемой <Логическое выражение>. Условие на период отчета описывается лексемой <Условие на период>.
3.1.5. dics
Справочники формы.
1) Элемент обязательный;
2) Максимальное количество элементов: 1;
3) Родительский элемент: metaForm;
4) Дочерние элементы: dic.
Обязательно наличие справочников (дочерних элементов) s_year и s_time или s_god и s_mes.
3.1.5.1. dic
Справочник формы или приложение к справочнику.
1) Элемент обязательный;
2) Минимальное количество элементов: 2;
3) Максимальное количество элементов: неограниченно;
4) Родительский элемент: dics;
5) Дочерние элементы: term.
Табл. 14. Атрибуты
Наименование
Допустимые значения
Описание
Обязательность
name
string
Текстовое наименование справочника
Обязательный
id
string
Идентификатор справочника или приложения (название таблицы)
Обязательный
parent
string
Имеет смысл только для приложения <*>. Идентификатор справочника, к которому относится приложение
Необязательный
--------------------------------
<*> Приложение справочника - подмножество значений кодов справочника. Создание приложения на приложение недопустимо.
3.1.5.1.1. term
Термин - элемент справочника.
1) Дополнительные атрибуты: возможно наличие дополнительных атрибутов, которые используются для фильтрации справочника. Имена дополнительных атрибутов задаются проектировщиком формы (разработчиком XML-шаблона) произвольно. Справочник, из которого выбираются значения для заполнения некоторого поля, может формироваться по значению некоторого признака - дополнительного параметра фильтрации (подробнее в описании атрибута vld элементов cell и default-cell, в случае vldType=5);
2) Допустимые значения: string;
3) Содержимое: текст позиции справочника, только для справочника, приложение не имеет текста позиции;
4) Элемент обязательный;
5) Максимальное количество элементов: неограниченно;
6) Родительский элемент: dic.
Табл. 15. Атрибуты
Наименование
Допустимые значения
Описание
Обязательность
Id
string
Код термина, совместно с дополнительными атрибутами представляет собой ключ
Обязательный
4. ЯЗЫК ОПИСАНИЯ КОНТРОЛЕЙ
Настоящий раздел содержит формальное описание языка описания контролей. Лексема <Условие> описывает выражение, которое может быть использовано для формирования атрибута 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
<Логическое выражение>:= <Условие на период>,
<Арифметическое выражение> <Логический оператор><Арифметическое выражение>
[<Логический оператор><Арифметическое выражение>]
<Логический оператор>:= |<|, |