МИНИСТЕРСТВО ФИНАНСОВ РОССИЙСКОЙ ФЕДЕРАЦИИ Заместитель директора Административного департамента Министерства финансов Российской Федерации Г.Г. Лалаев “ ”____________ 2009 года ТРЕБОВАНИЯ К ФОРМАТАМ И СПОСОБАМ ПЕРЕДАЧИ В ЭЛЕКТРОННОМ ВИДЕ ДАННЫХ, ИСПОЛЬЗУЕМЫХ В ПРОЦЕССЕ СОСТАВЛЕНИЯ ОБОСНОВАНИЙ БЮДЖЕТНЫХ АССИГНОВАНИЙ ГЛАВНЫХ РАСПОРЯДИТЕЛЕЙ СРЕДСТВ ФЕДЕРАЛЬНОГО БЮДЖЕТА, ПРЕДСТАВЛЯЕМЫХ В МИНФИН РОССИИ Версия – 2.0 Москва 2009 г. 2 Содержание 1. ОБЩИЕ ПОЛОЖЕНИЯ ................................................................................................................ 3 2. СТРУКТУРА ИМЕН ФАЙЛОВ ...................................................................................................... 3 2.1. СТРУКТУРА ИМЕНИ АРХИВНОГО ФАЙЛА ............................................................................ 3 2.2. СТРУКТУРА ИМЕНИ ФАЙЛА XML - ДОКУМЕНТА ............................................................... 4 3. СТРУКТУРА XML-ДОКУМЕНТА ............................................................................................... 4 3.1. ОПИСАНИЕ РЕКВИЗИТОВ ПАКЕТА ЭЛЕКТРОННЫХ ДОКУМЕНТОВ .................................... 4 3.2. ОПИСАНИЕ АЛГОРИТМА РАСЧЕТА КОНТРОЛЬНОГО ЧИСЛА ........................................... 15 4. КОНТРОЛЬ XML-ДОКУМЕНТА. ............................................................................................. 17 5. ПОРЯДОК КОРРЕКТИРОВКИ ДАННЫХ ОБОСНОВАНИЙ ........................................................ 17 6. ПОРЯДОК ПОДГОТОВКИ И ПЕРЕДАЧИ ОБОСНОВАНИЙ В ЭЛЕКТРОННОМ ВИДЕ ................. 17 3 1. Общие положения В соответствии с Методическими рекомендациями по составлению обоснований бюджетных ассигнований главных распорядителей средств федерального бюджета на очередной финансовый 2010 год и на плановый период 2011-2012 годов (далее – Обоснования) главные распорядители средств федерального бюджета представляют в Министерство финансов Российской Федерации указанный Методических рекомендациях пакет документов. Данный документ версии 2.0 определяет структуру информации по Обоснованиям, передаваемой в Министерство финансов Российской Федерации в электронном виде главными распорядителями средств федерального бюджета. Информация формируется в электронном виде для Министерства финансов Российской Федерации в формате XML-документа (расширение имени файла - “xml”). В XML-документе описывается пролог с указанием используемой кодировки: <?xml version="1.0" encoding="windows-1251"?> Порядок следования строк Обоснования, представляемого в электронном виде, должен строго соответствовать порядку их следования в представляемом печатном документе. Перед представлением в Министерство Финансов XML-документ архивируется архиватором 7-ZIP (версия 4.57) в архив с расширением .ZIP. Обоснования бюджетных ассигнований, содержащие сведения, составляющие государственную тайну, должны направляться в Министерство финансов Российской Федерации в электронном виде только на USB Flash Drive («флэшке»). Изменение структуры и (или) форматов выгружаемых данных оформляется дополнением к настоящим Требованиям. 2. Структура имен файлов 2.1. Структура имени архивного файла XXXYYKPIVWGGMMDDN.ZIP - имя упакованного файла, где: XXXYY – код организации отправителя информации, принимает значения: - XXX – - код главного распорядителя средств федерального бюджета Российской Федерации (3 цифры) выбирается из классификатора главных распорядителей средств Министерства финансов Российской Федерации; - YY – код субъекта бюджетного планирования (2 цифры) KPI – буквенный признак представляемой информации, принимает значение: - ОВА – обоснования бюджетных ассигнований; -V вид перечня бюджетных ассигнований: 1 – предварительный, 2 – плановый, 3 – уточненный. W – признак информации, принимает значения: 1 – открытая информация, 2 – закрытая информация. GG – две последние цифры года, когда подготовлена информация; MM – две цифры – месяц, когда 4 подготовлена информация; DD – две цифры – день месяца, когда подготовлена информация; N – одна цифра – номер версии представления информации, принимает значения: 0 – при первом представлении информации; 1 …9 – при повторном представлении информации. ZIP – расширение архивного файла. Структура имени файла XML - документа 2.2. XXXYYVWGGMMDDN.xml - имя файла, где: XXX – код главного распорядителя средств федерального бюджета (3 цифры) выбирается из классификатора главных распорядителей средств федерального бюджета Министерства финансов Российской Федерации; YY – код субъекта бюджетного планирования (2 цифры) V – вид перечня бюджетных ассигнований (1-предварительный, 2- плановый, 3уточненный) xml – расширение имени файла. Остальные составляющие имени файла совпадают со структурой имени архивного файла. Пример имени файла: передаваемый главным распорядителем средств с кодом 092 и кодом субъекта бюджетного планирования 10 Минфину России 28 октября 2009 года упакованный файл с открытой информацией по обоснованиям бюджетных ассигнований с регламентной датой представления 1 ноября 2009г. имеет имя 09210OBA310910280.ZIP. Данный файл содержит XML-документ с именем 09210310910280.xml 3. Структура XML-документа XML-документ представляет собой пакет электронных документов - PacketED. В состав пакета входят электронные документы (ЭД) - EDPR1 (Перечень бюджетных ассигнований на исполнение действующих расходных обязательств), EDPR2 (Обоснование бюджетного ассигнования на исполнение действующих расходных обязательств), EDPR3 (Сведения об общем объеме бюджетных ассигнований, представленном в обоснованиях бюджетных ассигнований на исполнение действующих расходных обязательств), объединенные в ЭД: EDDEISTV (Набор приложений по бюджетным ассигнованиям на исполнение действующих расходных обязательств). Пакет электронных документов имеет общую группу реквизитов, относящуюся ко всей совокупности ЭД, входящих в состав пакета. 3.1.Описание реквизитов пакета электронных документов При описании реквизитов пакета электронных документов используются понятие базовых типов реквизитов (Сумма, Текст и т.д.). Определения базовых типов реквизитов приведено в таблице 1. Таблица 1. Базовые типы реквизитов 5 Наименование типа Определение типа Дата Год “Дата” – ГГГГ-ММ-ДД; “Год” – ГГГГ, где: - ГГГГ –год; - ММ –месяц; - ДД –день месяца; Код Символьная строка. Разрешенные символы (кодировка Windows-1251) – цифры [0-9], русские буквы из диапазона [АЯ], кроме буквы Ё и дефис (-). Символьная строка, обычно в форме слов определенного языка, применяется, также, для имен (наименований). Разрешенные символы – символы с десятичными кодами из диапазона [32-126] (кодировка Windows-1251), русские буквы из диапазона [А-Я] [а-я], кроме буквы Ё/ё. Текст Нет пробелов в начале и конце строки. Последовательность пробелов представлена одним пробелом. Символы амперсанта (&), левой угловой скобки (<) и кавычка (“) следует маскировать, воспользовавшись для этого либо соответствующей числовой ссылкой на символ (&#x0026; &#x003C; &#x0022; соответственно), либо строками "&amp;", "&lt;" , "&quot;" соответственно. Число Сумма Числовая информация, определенная последовательностью положительных целых чисел. Заполняется со следующими ограничениями: запрещен предшествующий знак “+”; запрещены лидирующие нули. Число сотен рублей. Заполняется со следующими ограничениями: запрещен предшествующий знак “+”; запрещены лидирующие нули; без разделителя дробной части; пустое значение не допускается (представляется – 0). При описании реквизитов используются также следующие характеристики: указание единицы измерения; полный список всех возможных значений; форматные ограничения: o для строковых значений: ограничения длины (максимальная, минимальная, точная), o для числовых значений: количество знаков после запятой, минимальное, максимальное значения, o шаблон (указывается в скобках). При указании кратности реквизитов используются следующие параметры: [0..1] - необязательный реквизит, максимальное количество экземпляров 1, [0..n] - необязательный реквизит, максимальное количество экземпляров не ограничено, 6 [1] - обязательный реквизит, только один экземпляр, [1..n] - обязательный реквизит, максимальное количество экземпляров не ограничено. Реквизиты пакета электронных документов приведены в таблицах 2 - 8. Курсивным шрифтом в таблицах 2 - 8 выделено описание значений реквизитов. В графе таблиц 2 – 18 “Описание реквизита” в скобках после описания реквизита приведено наименование элемента или атрибута в XML-документе. Таблица 2. Реквизиты пакета электронных документов (PacketED) Описание реквизита Номер версии формата (FormatVersionNo) Наименование программного продукта, сформировавшего файл (SoftwareProduct) Версия программного продукта (SoftwareProductVersion) Код субъекта бюджетного планирования (SbktCode) Код главного распорядителя средств (GrsCode) Тип информации (TypeInf) Признак секретности (TypeSec) Очередной финансовый год (RepYear) Регламентная дата представления обоснований (RegDate) Набор приложений по бюджетным ассигнованиям на исполнение действующих расходных обязательств (EDDEISTV) Контрольное число пакета ЭД (ControlED) Дата выгрузки (DateDn) Выгрузил: должность (ClearkShip) Выгрузил: фамилия имя отчество (FullName) Выгрузил: телефон (Phone) Электронный адрес для приема протоколов обработки Тип реквизита Текст Значение: 1.0 Текст. Максимум 200 знаков. Текст. Максимум 10 знаков. Текст 2 знака Текст 3 знака Текст Принимает значение 1 для предварительного перечня бюджетных ассигнований на исполнение действующих РО, значение 2 для планового перечня бюджетных ассигнований на исполнение принимаемых РО, значение 3 для уточненного перечня РО Текст Принимает значение 1 для открытой информации, значение 2 для закрытой информации Текст 4 знака Дата Кратность [1] [1] [1] [1] [1] [1] [1] [1] [1] [0..1] Число. [1] Дата. [1] Текст. Максимум 50 знаков. Текст. Максимум 70 знаков. Текст. Максимум 20 знаков. Текст. Максимум 50 знаков. [1] [1] [1] [1] 7 (Email) Таблица 2а. Реквизиты ЭД “Набор приложений по бюджетным ассигнованиям на исполнение действующих расходных обязательств (EDDEISTV) Описание реквизита Перечень бюджетных ассигнований на исполнение действующих расходных обязательств (EDPR1) Обоснование бюджетного ассигнования на исполнение действующих расходных обязательств (EDPR2) Сведения об общем объеме бюджетных ассигнований, представленном в обоснованиях бюджетных ассигнований на исполнение действующих расходных обязательств (EDPR3) Тип реквизита Кратность [1] [1..n] [1] Таблица 2b. Реквизиты ЭД “Набор приложений по бюджетным ассигнованиям на исполнение принимаемых расходных обязательств (EDPRINIM) Описание реквизита Перечень бюджетных ассигнований на исполнение принимаемых расходных обязательств (EDPR4) Обоснование бюджетного ассигнования на исполнение принимаемых расходных обязательств (EDPR5) Сведения об общем объеме бюджетных ассигнований, представленном в обоснования бюджетных ассигнований на исполнение принимаемых расходных обязательств (EDPR6) Тип реквизита Кратность [1] [1..n] [1] Таблица 3. Реквизиты ЭД “ Перечень бюджетных ассигнований на исполнение действующих расходных обязательств (EDPR1) Описание реквизита Строка перечня бюджетных ассигнований на исполнение действующих РО (StrPR1) Подписанты: Должность руководителя (SignerDolzn1) Подписанты: Фамилия Имя Отчество руководителя (SignerFN1) Подписанты: Должность исполнителя (ClerkDolzn1) Подписанты: Фамилия Имя Отчество исполнителя Тип реквизита Кратность [1..n] Текст. Максимум 50 знаков. [1] Текст. Максимум 70 знаков. [1] Текст. Максимум 50 знаков. Текст. Максимум 70 знаков. [1] [1] 8 (ClerkFN1) Подписанты: телефон исполнителя (ClerkPhone1) Дата подписания (DateSPP1) Контрольное число ЭД (ControlED1) Текст. Максимум 20 знаков. Дата. [1] Число. [1] [1] Таблица 4. Реквизиты элемента “Строка перечня бюджетных ассигнований на исполнение действующих расходных обязательств” (StrPR1) Описание реквизита Код бюджетного ассигнования (CodeBAS) Наименование бюджетного ассигнования (NameBAS) Расходное обязательство приложения 1 (ROPR1) Тип реквизита Текст. 14 знаков. Текст. Кратность [1] [1] [1..n] Таблица 5. Реквизиты элемента “Расходное обязательство приложения 1” (ROPR1) Описание реквизита Код расходного обязательства (CodeRO1) Наименование расходного обязательства (NameRO1) Коды БК: раздел (RZD1) Коды БК: подраздел (PDRZ1) Коды БК: целевая статья (CST1) Коды БК: вид расходов (VDR1) Часть расходного обязательства приложения 1 (ROPARTPR1) Тип реквизита Текст Кратность [1] Текст [1] Текст 2 знака Текст 2 знака Текст 7 знаков Текст 3 знака [1] [1] [1] [0..1] [0..n] Таблица 5a. Реквизиты элемента “Часть расходного обязательства приложения 1” (ROPARTPR1) Описание реквизита Наименование части расходного обязательства (NamePART1) Коды БК: раздел (RZDPART1) Коды БК: подраздел (PDRZPART1) Коды БК: целевая статья (CSTPART1) Коды БК: вид расходов (VDRPART1) Тип реквизита Кратность [1] Текст Текст 2 знака Текст 2 знака Текст 7 знаков Текст 3 знака [0..1] [0..1] [0..1] [0..1] 9 Таблица 6. Реквизиты ЭД “Обоснование бюджетного ассигнования на исполнение действующих расходных обязательств” (EDPR2) Описание реквизита Код бюджетного ассигнования (CodeBAS2) Наименование бюджетного ассигнования (NameBAS2) Объем бюджетных ассигнований на исполнение действующих расходных обязательств (EDPR21) Сведения о значениях показателей непосредственных результатов (EDPR221) Сведения об источнике информации, определяющем показатели непосредственных результатов (EDPR222) Сведения о конечных результатах (EDPR23) Пояснительная записка (EDPR24) Подписанты: Должность руководителя (SignerDolzn2) Подписанты: Фамилия Имя Отчество руководителя (SignerFN2) Подписанты: Должность исполнителя (ClerkDolzn2) Подписанты: Фамилия Имя Отчество исполнителя (ClerkFN2) Подписанты: телефон исполнителя (ClerkPhone2) Дата подписания (DateSPP2) Контрольное число ЭД (ControlED2) Тип реквизита Текст. 14 знаков. Текст. Кратность [1] [1] [1] [1] [1] [1] [1] Текст. Максимум 50 знаков. [1] Текст. Максимум 70 знаков. [1] Текст. Максимум 50 знаков. [1] Текст. Максимум 70 знаков. [1] Текст. Максимум 20 знаков. Дата. [1] Число. [1] [1] Таблица 7. Реквизиты ЭД “Объем бюджетных ассигнований на исполнение действующих расходных обязательств” (EDPR21) Описание реквизита Расходное обязательство приложения 2 (ROPR21) Тип реквизита Кратность [1..n] Таблица 8. Реквизиты элемента “Расходное обязательство приложения 2” (ROPR21) Описание реквизита Признак итоговой строки (Itog) Тип реквизита Текст. Максимум 1 знак Принимает значение 0 для обычной строки, значение 1 для итоговой Кратность [1] 10 Описание реквизита Код расходного обязательства (CodeRO2) Коды БК: раздел (RZD2) Коды БК: подраздел (PDRZ2) Коды БК: целевая статья (CST2) Коды БК: вид расходов (VDR2) Сумма за отчетный год (SumRepYear) Сумма за текущий год (SumCurYear) Сумма за очередной год (SumNextYear) Сумма за 1 год планового периода (SumNextYear1) Сумма за 2 год планового периода (SumNextYear2) Примечание (Prim2) Код курирующего департамента Минфина России (CodeMF2) Часть расходного обязательства приложения 2 (ROPARTPR21) Тип реквизита строки Текст Должно быть пустым для итоговой строки Текст 2 знака Должно быть пустым для итоговой строки Текст 2 знака Должно быть пустым для итоговой строки Текст 7 знаков Должно быть пустым для итоговой строки Текст 3 знака Должно быть пустым для итоговой строки Кратность [1] [1] [1] [1] [0..1] Сумма [0..1] Сумма [0..1] Сумма [0..1] Сумма [0..1] Сумма [0..1] Текст [0..1] Текст Должно быть пустым для итоговой строки [0..1] [0..n] Таблица 8a. Реквизиты элемента “Часть расходного обязательства приложения 2” (ROPARTPR21) Описание реквизита Коды БК: раздел (RZDPART2) Коды БК: подраздел (PDRZPART2) Коды БК: целевая статья (CSTPART2) Коды БК: вид расходов (VDRPART2) Сумма за отчетный год (SumRepYearPART) Сумма за текущий год (SumCurYearPART) Сумма за очередной год (SumNextYearPART) Сумма за 1 год планового периода (SumNextYear1PART) Сумма за 2 год планового периода Тип реквизита Текст 2 знака Текст 2 знака Текст 7 знаков Текст 3 знака Кратность [0..1] [0..1] [0..1] [0..1] Сумма [0..1] Сумма [0..1] Сумма [0..1] Сумма [0..1] Сумма [0..1] 11 Описание реквизита (SumNextYear2PART) Примечание (PrimPART2) Код курирующего департамента Минфина России (CodeMFPART2) Тип реквизита Кратность [0..1] Текст [0..1] Текст Таблица 9. Реквизиты ЭД “Сведения о значениях показателей непосредственных результатов” (EDPR221) Описание реквизита Показатель непосредственного результата приложения 2.1 (NRPR221) Тип реквизита Кратность [1..n] Таблица 10. Реквизиты элемента “Показатель непосредственного результата приложения 2.1” (NRPR221) Описание реквизита Код показателя непосредственного результата (CodeNR) Наименование показателя непосредственного результата (NameNR) Наименование единицы измерения показателя непосредственного результата (EdNR) Значение показателя за отчетный год (PkzRepYearNR) Значение за отчетный год, указанное в обосновании бюджетного ассигнования на предшествующий плановый период (prPkzRepYearNR) Значение показателя за текущий год (PkzCurYearNR) Значение за текущий год, указанное в обосновании бюджетного ассигнования на предшествующий плановый период (prPkzCurYearNR) Значение показателя за очередной год (PkzNextYearNR) Значение за очередной год, указанное в обосновании бюджетного ассигнования на предшествующий плановый период (prPkzNextYearNR) Значение показателя за 1 год планового периода (PkzNextYearNR1) Значение за 1 год планового периода, указанное в обосновании бюджетного ассигнования на предшествующий плановый период (prPkzNextYearNR1) Значение показателя за 2 год планового периода (PkzNextYearNR2) Значение за 2 год планового периода, указанное в обосновании бюджетного ассигнования на предшествующий плановый Тип реквизита Текст. 7 знаков Кратность [1] [1] Текст [1] Текст Текст [0..1] Текст [0..1] Текст [0..1] Текст [0..1] Текст [0..1] Текст [0..1] [0..1] Текст [0..1] Текст [0..1] Текст Текст [0..1] 12 Описание реквизита Тип реквизита период (prPkzNextYearNR2) Примечание (Prim221) Код курирующего департамента Минфина России (CodeMF221) Кратность [0..1] Текст [0..1] Текст Таблица 11. Реквизиты ЭД “Сведения об источнике информации, определяющем показатели непосредственных результатов” (EDPR222) Описание реквизита Показатель непосредственного результата приложения 2.2 (NRPR222) Тип реквизита Кратность [1..n] Таблица 12. Реквизиты элемента “Показатель непосредственного результата приложения 2.2 (NRPR222) Описание реквизита Код показателя непосредственного результата (CodeNR2) Наименование показателя непосредственного результата (NameNR2) Нормативный правовой акт приложения 2.2 (NPAPR222) Индекс формы отчетности Росстата для приложения 2.2 (ROSSTPR222) Иной источник приложения 2.2 (OTHERPR222) Примечание (Prim222) Тип реквизита Текст. 7 знаков Кратность [1] [1] Текст [0..n] [0..n] [0..n] [0..1] Текст Таблица 12a. Реквизиты элемента “Нормативный правовой акт приложения 2.2 (NPAPR222) Описание реквизита Нормативный правовой акт: вид (VidNPA) Нормативный правовой акт: дата (DateNPA) Нормативный правовой акт: номер (NumNPA) Нормативный правовой акт: наименование (NameNPA) Тип реквизита Текст Кратность [0..1] Дата [0..1] Текст [0..1] Текст [0..1] Таблица 12b. Реквизиты элемента “Индекс формы отчетности Росстата для приложения 2.2 (ROSSTPR222) Описание реквизита Индекс формы отчетности Росстата России Тип реквизита Текст Кратность [1] 13 Описание реквизита Тип реквизита Кратность (IndRos) Таблица 12c. Реквизиты элемента “Иной источник приложения 2.2 (OTHERPR222) Описание реквизита Наименование иного источника (NameOther) Тип реквизита Текст Кратность [1] Таблица 13. Реквизиты ЭД “Сведения о конечных результатах” (EDPR23) Описание реквизита Показатель конечного результата (KRPR23) Тип реквизита Кратность [0..n] Таблица 14. Реквизиты элемента “Показатель конечного результата приложения 2” (KRPR23) Описание реквизита Код показателя конечного результата (CodeKR) Наименование показателя конечного результата (NameKR) Наименование единицы измерения показателя конечного результата (EdKR) Значение показателя за отчетный год (PkzRepYearKR) Значение показателя за 2 год планового периода (PkzNextYearKR2) Изменение (Значение за 2 год планового периода – значение за отчетный год) (Delta) Наименование цели (NameTarget23) Примечание (Prim23) Тип реквизита Текст. 6 знаков Кратность [1] [1] Текст [1] Текст [0..1] Текст [0..1] Текст [0..1] Текст Текст [0..1] Текст [0..1] Таблица 15. Реквизиты ЭД “Пояснительная записка к Приложению 2” (EDPR24) Описание реквизита Строка пояснительной записки (StrPR24) Тип реквизита Текст Кратность [0..n] Таблица 16. 14 Реквизиты ЭД “Сведения об общем объеме бюджетных ассигнований, представленном в обоснованиях бюджетных ассигнований на исполнение действующих расходных обязательств” (EDPR3) Описание реквизита Строка перечня сведений об общем объеме бюджетных ассигнований на исполнение действующих РО (StrPR3) Подписанты: Должность руководителя (SignerDolzn3) Подписанты: Фамилия Имя Отчество руководителя (SignerFN3) Подписанты: Должность исполнителя (ClerkDolzn3) Подписанты: Фамилия Имя Отчество исполнителя (ClerkFN3) Подписанты: телефон исполнителя (ClerkPhone3) Дата подписания (DateSPP3) Контрольное число ЭД (ControlED3) Тип реквизита Кратность [1..n] Текст. Максимум 50 знаков. [1] Текст. Максимум 70 знаков. [1] Текст. Максимум 50 знаков. [1] Текст. Максимум 70 знаков. [1] Текст. Максимум 20 знаков. Дата. [1] Число. [1] [1] Таблица 17. Реквизиты элемента “Строка перечня сведений об общем объеме бюджетных ассигнований, представленном в обоснованиях бюджетных ассигнований на исполнение действующих расходных обязательств” (StrPR3) Описание реквизита Признак итоговой строки (Itog3) Код бюджетного ассигнования (CodeBAS3) Наименование бюджетного ассигнования (NameBAS3) Тип реквизита Текст. Максимум 1 знак Принимает значение 0 для обычной строки, значение 1 для итоговой строки Текст. 14 знаков. Должно быть пустым для итоговой строки Текст. Должно быть пустым для итоговой строки Общий объем бюджетных ассигнований приложения 3 (OBAS3) Кратность [1] [1] [1] [1] Таблица 18. Реквизиты элемента “Общий объем бюджетных ассигнований приложения 3” (OBAS3) Описание реквизита Признак итоговой строки (ItogOBAS3) Тип реквизита Текст. Максимум 1 знак Принимает значение 0 для обычной строки, значение 1 для итоговой Кратность [1] 15 Описание реквизита Тип реквизита Кратность строки Сумма за отчетный год (SumRepYearOBAS) Сумма за текущий год (SumCurYearOBAS) Сумма за очередной год (SumNextYearOBAS) Сумма за 1 год планового периода (SumNextYearOBAS1) Сумма за 2 год планового периода (SumNextYearOBAS2) Сумма [0..1] Сумма [0..1] Сумма [0..1] Сумма [0..1] Сумма [0..1] Таблица 19. 3.2.Описание алгоритма расчета контрольного числа Контрольное число определяется по следующему алгоритму: int CRCTAB_16[]={ 0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7, 0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF, 0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6, 0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE, 0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485, 0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D, 0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4, 0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC, 0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823, 0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B, 0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12, 0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A, 0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41, 0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49, 0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70, 0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78, 0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F, 0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067, 0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E, 0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256, 0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D, 0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405, 0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C, 0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634, 0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB, 0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3, 0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A, 0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92, 0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9, 0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1, 0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8, 0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0 }; Пример текста программы расчета контрольного числа строки (на языке программирования – Си): DWORD calcCRC16(DWORD iPrevSumm, BYTE *btArr, UINT iLen) { for (int i=0;i<iLen;i++) iPrevSumm=(CRCTAB_16[(iPrevSumm>>8)&0xFF] ^ iPrevSumm<<8 ^ btArr[i])&0xFFFF; return iPrevSumm; } Пример текста программы расчета контрольного числа строки (на языке программирования – Visual Basic): 16 Предварительно необходимо произвести обработку массива CRCTAB_16 (!) For i = 0 To UBound(CRCTAB_16) CRCTAB_16(i) = CRCTAB_16(i) And &HFFFF& Next i Private Function calcCRC16(ByVal iPrevSumm As Long, ByRef btArr() As Byte, ByVal iLen As Long) As Long Dim i As Long For i = 0 To iLen iPrevSumm = CLng(CRCTAB_16((((iPrevSumm \ 256)) And &HFF)) Xor ((iPrevSumm And &HFF) * 256) Xor (btArr(i))) And &HFFFF Next i calcCRC16 = iPrevSumm End Function Параметры: IprevSumm - предыдущая сумма. При начальном вызове должна быть равна 0. btArr() – байтовый входной массив, контрольное число которого надо получить iLen – длина вышеуказанного байтового массива. Расчет контрольного числа производится до маскировки символов (&), (<), (“). Расчет значения элемента Контрольное число пакета ЭД (ControlED) производится по строке, полученной в результате сцепления следующих реквизитов (без начальных и конечных пробелов) и в следующей последовательности: 1. Номер версии формата (FormatVersionNo) 2. Наименование программного продукта (SoftwareProduct) 3. Версия программного продукта (SoftwareProductVersion) 4. Код субъекта бюджетного планирования (SbktCode) 5. Код главного Распорядителя средств (GrsCode) 6. Тип информации (TypeInf) 7. Признак секретности (TypeSec) 8. Очередной финансовый год (RepYear) 9. Регламентная дата (RegDate) 10. Все реквизиты Приложения 1 в порядке их следования. Получаем Контрольное число Приложения 1 (ControlED1) в десятичной системе исчисления без лидирующих нулей 11. Все реквизиты Приложения 2 в порядке их следования. Получаем Контрольное число Приложения 2 (ControlED2) в десятичной системе исчисления без лидирующих нулей. Сколько у нас есть Приложений 2, столько и получится Контрольных чисел ControlED2 12. Все реквизиты Приложения 2 в порядке их следования. Получаем Контрольное число Приложения 3 (ControlED3) в десятичной системе исчисления без лидирующих нулей 13. Контрольное число пакета ControlED = ControlED1+ControlED2+ControlDE2+…+ControlED2+ControlED3 Последовательность сцепления реквизитов соответствует порядку следования реквизитов элемента в описании. 4. Контроль XML-документа. 17 Передаваемый документ должен соответствовать XML-схеме, приведенной в приложении. Информация, переданная в Министерство финансов Российской Федерации в электронном виде, подвергается форматному контролю, проверяются контрольные числа, выполняется контроль на соответствие Методическим указаниям, объемы бюджетных ассигнований проверяются на соответствие отчетным данным и данным сводной бюджетной росписи. По результатам контроля формируется протокол для передачи главному распорядителю бюджетных средств: - с сообщением о наличии ошибок в имени файла, невозможности распаковать архивный файл или открыть XML-файл, несоответствии данных XML-структуре; - с перечнем ошибок в присланной информации. В данном случае информация в интегрированную базу данных Министерства финансов Российской Федерации загружается; - с сообщением о приеме прошедшей контроль и загруженной в интегрированную базу данных Министерства финансов Российской Федерации информации. Протокол помещается в файл протокола с расширением .TXT, остальные составляющие имени файла совпадают со структурой имени архивного файла. Файл протокола отсылается источнику информации на электронный адрес для приема протоколов обработки (Email). 5. Порядок корректировки данных Обоснований При получении протокола с описанием ошибок обработки, главный распорядитель бюджетных средств обязан представить исправленную информацию. После устранения недоработок необходимо сформировать и отправить в МФ РФ новый файл, содержащий Приложения 1-3 (Набор приложений по бюджетным ассигнованиям на исполнение действующих расходных обязательств) в полном объеме. При этом в имени нового архивного файла номер версии увеличивается на единицу. 6. Порядок подготовки и передачи Обоснований в электронном виде Обоснования, подготовленные в электронном виде, должны полностью соответствовать подписанным документам, предоставляемым в Министерство финансов Российской Федерации на бумажном носителе. Обоснования, подготовленные в электронном виде, передаются в Министерство финансов Российской Федерации: - по электронной почте на адрес t_obas@minfin.ru По вопросам, связанным с подготовкой к передаче информации главными распорядителями средств федерального бюджета, обращаться в Отдел методологии бюджетного планирования Департамента бюджетной политики и методологии Министерства финансов Российской Федерации по телефону: (495) 987-94-17 Гвозденко Дмитрий Васильевич. 18 По вопросам подготовки и передачи Обоснований в электронном виде в Министерство финансов Российской Федерации обращаться по телефонам: (495) 91343-79, 913-44-94 Мурашкина Ирина Валерьевна, (495) 229-03-52 Панченко Ольга Юрьевна, Власенко Татьяна Юрьевна. По вопросам приема и обработки данных Обоснований в электронном виде обращаться по телефонам: (495) 913-43-79, 913-44-94 Мурашкина Ирина Валерьевна. По вопросам сопровождения централизованного программного обеспечения “ОБАС” обращаться по телефонам: (495) 229-03-52 Панченко Ольга Юрьевна, Власенко Татьяна Юрьевна. По вопросам доступа к централизованному программному обеспечению, размещенному в сети INTERNET, обращаться по телефону: (495) 648-05-69 Сивожелезов Александр Дмитриевич. Подготовку Обоснований в электронном виде можно осуществлять при помощи: собственного специализированного программного обеспечения; централизованно поставляемого Министерством финансов Российской Федерации программного средства, размещенного на официальном сайте Минфина России в разделе «ГРС_РЕЕСТР» подрубрики «Программное обеспечение для министерств и ведомств» рубрики «Информационные системы Министерства финансов». Приложение . XML-схема <?xml version="1.0" encoding="windows-1251"?> <!-- edited with XMLSpy v2007 rel. 3 (http://www.altova.com) by 8825 (EMBRACE) --> <!--W3C Schema generated by XMLSpy v2007 rel. 3 (http://www.altova.com)--> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:simpleType name="ControlType"> <xs:restriction base="xs:long"> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="dateType"> <xs:restriction base="xs:date"> <xs:whiteSpace value="collapse"/> <xs:maxInclusive value="2999-01-01"/> <xs:minInclusive value="1800-01-01"/> <xs:pattern value="\d{4}-\d{2}-\d{2}"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="sumType"> <xs:restriction base="xs:decimal"> <xs:fractionDigits value="0"/> <xs:totalDigits value="28"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="strType"> <xs:restriction base="xs:string"> <xs:whiteSpace value="preserve"/> <xs:pattern value="([ -~А-яё№…«» ‘’“”&#x2013;])*"/> </xs:restriction> </xs:simpleType> <xs:element name="prPkzRepYearNR" type="strType" nillable="false"/> <xs:element name="prPkzNextYearNR2" type="strType" nillable="false"/> <xs:element name="prPkzNextYearNR1" type="strType" nillable="false"/> <xs:element name="prPkzNextYearNR" type="strType" nillable="false"/> 19 <xs:element name="prPkzCurYearNR" type="strType" nillable="false"/> <xs:element name="VDRPART2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="VDRPART1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="VDR2"> <xs:simpleType> <xs:restriction base="strType"> <xs:minLength value="0"/> <xs:maxLength value="3"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="VDR1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="TypeInf" nillable="false"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:maxLength value="1"/> <xs:minLength value="1"/> <xs:enumeration value="1"/> <xs:enumeration value="2"/> <xs:enumeration value="3"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="TypeSec" nillable="false"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:maxLength value="1"/> <xs:minLength value="1"/> <xs:enumeration value="1"/> <xs:enumeration value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SumRepYearPART" type="sumType" nillable="false"/> <xs:element name="SumRepYearOBAS" type="sumType" nillable="false"/> <xs:element name="SumRepYear" type="sumType" nillable="false"/> <xs:element name="SumNextYearPART2" type="sumType" nillable="false"/> <xs:element name="SumNextYearPART1" type="sumType" nillable="false"/> <xs:element name="SumNextYearPART" type="sumType" nillable="false"/> <xs:element name="SumNextYearOBAS2" type="sumType" nillable="false"/> <xs:element name="SumNextYearOBAS1" type="sumType" nillable="false"/> <xs:element name="SumNextYearOBAS" type="sumType" nillable="false"/> <xs:element name="SumNextYear2" type="sumType" nillable="false"/> <xs:element name="SumNextYear1" type="sumType" nillable="false"/> <xs:element name="SumNextYear" type="sumType" nillable="false"/> <xs:element name="SumCurYearPART" type="sumType" nillable="false"/> <xs:element name="SumCurYearOBAS" type="sumType" nillable="false"/> <xs:element name="SumCurYear" type="sumType" nillable="false"/> <xs:element name="StrPR3"> <xs:complexType> <xs:sequence> <xs:element ref="Itog3"/> 20 <xs:element ref="CodeBAS3"/> <xs:element ref="NameBAS3"/> <xs:element ref="OBAS3"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="StrPR24" nillable="false"> <xs:simpleType> <xs:restriction base="strType"/> </xs:simpleType> </xs:element> <xs:element name="StrPR1"> <xs:complexType> <xs:sequence> <xs:element ref="CodeBAS"/> <xs:element ref="NameBAS"/> <xs:element ref="ROPR1" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="SoftwareProductVersion" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="10"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SoftwareProduct" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="250"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SignerDolzn1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SignerDolzn2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SignerDolzn3" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SignerFN3" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="70"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SignerFN2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="70"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SignerFN1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> 21 <xs:maxLength value="70"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="SbktCode" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="2"/> <xs:minLength value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RepYear" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="4"/> <xs:minLength value="4"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RegDate" type="dateType"/> <xs:element name="RZDPART2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RZDPART1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RZD2"> <xs:simpleType> <xs:restriction base="strType"> <xs:minLength value="0"/> <xs:maxLength value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="RZD1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ROSSTRPR222"> <xs:complexType> <xs:sequence> <xs:element ref="IndRos"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ROPR21"> <xs:complexType> <xs:sequence> <xs:element ref="Itog"/> <xs:element ref="CodeRO2"/> <xs:element ref="RZD2"/> <xs:element ref="PRZD2"/> <xs:element ref="CST2"/> <xs:element ref="VDR2"/> <xs:element ref="SumRepYear"/> <xs:element ref="SumCurYear"/> <xs:element ref="SumNextYear"/> <xs:element ref="SumNextYear1"/> <xs:element ref="SumNextYear2"/> <xs:element ref="Prim2"/> 22 <xs:element ref="CodeMF2"/> <xs:element ref="ROPARTPR21" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ROPR1"> <xs:complexType> <xs:sequence> <xs:element ref="CodeRO1"/> <xs:element ref="NameRO1"/> <xs:element ref="RZD1"/> <xs:element ref="PRZD1"/> <xs:element ref="CST1"/> <xs:element ref="VDR1"/> <xs:element ref="ROPARTPR1" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ROPARTPR21"> <xs:complexType> <xs:sequence> <xs:element ref="RZDPART2" minOccurs="0"/> <xs:element ref="PRZDPART2" minOccurs="0"/> <xs:element ref="CSTPART2" minOccurs="0"/> <xs:element ref="VDRPART2" minOccurs="0"/> <xs:element ref="SumRepYearPART" minOccurs="0"/> <xs:element ref="SumCurYearPART" minOccurs="0"/> <xs:element ref="SumNextYearPART" minOccurs="0"/> <xs:element ref="SumNextYearPART1" minOccurs="0"/> <xs:element ref="SumNextYearPART2" minOccurs="0"/> <xs:element ref="PrimPART2" minOccurs="0"/> <xs:element ref="CodeMFPART2" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ROPARTPR1"> <xs:complexType> <xs:sequence> <xs:element ref="NamePART1"/> <xs:element ref="RZDPART1" minOccurs="0"/> <xs:element ref="PRZDPART1" minOccurs="0"/> <xs:element ref="CSTPART1" minOccurs="0"/> <xs:element ref="VDRPART1" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PrimPART2" type="strType" nillable="false"/> <xs:element name="Prim23" nillable="false"> <xs:simpleType> <xs:restriction base="strType"/> </xs:simpleType> </xs:element> <xs:element name="Prim222" type="strType" nillable="false"/> <xs:element name="Prim221" type="strType" nillable="false"/> <xs:element name="Prim2" type="strType" nillable="false"/> <xs:element name="PkzRepYearNR" type="strType" nillable="false"/> <xs:element name="PkzRepYearKR2" type="strType" nillable="false"/> <xs:element name="PkzRepYearKR" type="strType" nillable="false"/> <xs:element name="PkzNextYearNR2" type="strType" nillable="false"/> <xs:element name="PkzNextYearNR1" type="strType" nillable="false"/> <xs:element name="PkzNextYearNR" type="strType" nillable="false"/> <xs:element name="PkzCurYearNR" type="strType" nillable="false"/> <xs:element name="Phone" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="20"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PacketED"> <xs:complexType> <xs:sequence> 23 <xs:element ref="FormatVersionNo"/> <xs:element ref="SoftwareProduct"/> <xs:element ref="SoftwareProductVersion"/> <xs:element ref="SbktCode"/> <xs:element ref="GrsCode"/> <xs:element ref="TypeInf"/> <xs:element ref="TypeSec"/> <xs:element ref="RepYear"/> <xs:element ref="RegDate"/> <xs:element ref="EDDEISTV" minOccurs="0"/> <xs:element ref="ControlED"/> <xs:element ref="DateDn"/> <xs:element ref="ClearkShip"/> <xs:element ref="FullName"/> <xs:element ref="Phone"/> <xs:element ref="Email"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PRZDPART1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PRZDPART2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PRZD2"> <xs:simpleType> <xs:restriction base="strType"> <xs:minLength value="0"/> <xs:maxLength value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="PRZD1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="OTHERPR222"> <xs:complexType> <xs:sequence> <xs:element ref="NameOther"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="OBAS3"> <xs:complexType> <xs:sequence> <xs:element ref="ItogOBAS3"/> <xs:element ref="SumRepYearOBAS" minOccurs="0"/> <xs:element ref="SumCurYearOBAS" minOccurs="0"/> <xs:element ref="SumNextYearOBAS" minOccurs="0"/> <xs:element ref="SumNextYearOBAS1" minOccurs="0"/> <xs:element ref="SumNextYearOBAS2" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="NumNPA" type="strType" nillable="false"/> <xs:element name="NameTarget23" type="strType" nillable="false"/> <xs:element name="NameRO1" type="strType" nillable="false"/> <xs:element name="NamePART1" type="strType" nillable="false"/> <xs:element name="NameOther" type="strType" nillable="false"/> 24 <xs:element name="NameNR2" type="strType" nillable="false"/> <xs:element name="NameNR" type="strType" nillable="false"/> <xs:element name="NameNPA" type="strType" nillable="false"/> <xs:element name="NameKR" type="strType" nillable="true"/> <xs:element name="NameBAS3" type="strType" nillable="true"/> <xs:element name="NameBAS" type="strType" nillable="false"/> <xs:element name="NRPR222"> <xs:complexType> <xs:sequence> <xs:element ref="CodeNR2"/> <xs:element ref="NameNR2"/> <xs:element ref="NPAPR222" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="ROSSTRPR222" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="OTHERPR222" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="Prim222" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="NRPR221"> <xs:complexType> <xs:sequence> <xs:element ref="CodeNR"/> <xs:element ref="NameNR"/> <xs:element ref="EdNR"/> <xs:element ref="PkzRepYearNR" minOccurs="0"/> <xs:element ref="prPkzRepYearNR" minOccurs="0"/> <xs:element ref="PkzCurYearNR" minOccurs="0"/> <xs:element ref="prPkzCurYearNR" minOccurs="0"/> <xs:element ref="PkzNextYearNR" minOccurs="0"/> <xs:element ref="prPkzNextYearNR" minOccurs="0"/> <xs:element ref="PkzNextYearNR1" minOccurs="0"/> <xs:element ref="prPkzNextYearNR1" minOccurs="0"/> <xs:element ref="PkzNextYearNR2" minOccurs="0"/> <xs:element ref="prPkzNextYearNR2" minOccurs="0"/> <xs:element ref="Prim221" minOccurs="0"/> <xs:element ref="CodeMF221" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="NPAPR222"> <xs:complexType> <xs:sequence> <xs:element ref="VidNPA" minOccurs="0"/> <xs:element ref="DateNPA" minOccurs="0"/> <xs:element ref="NumNPA" minOccurs="0"/> <xs:element ref="NameNPA" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="VidNPA" type="strType" nillable="false"/> <xs:element name="KRPR23"> <xs:complexType> <xs:sequence> <xs:element ref="CodeKR"/> <xs:element ref="NameKR"/> <xs:element ref="EdKR"/> <xs:element ref="PkzRepYearKR" minOccurs="0"/> <xs:element ref="PkzRepYearKR2" minOccurs="0"/> <xs:element ref="Delta" minOccurs="0"/> <xs:element ref="NameTarget23" minOccurs="0"/> <xs:element ref="Prim23" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ItogOBAS3" nillable="false"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:maxLength value="1"/> <xs:minLength value="1"/> <xs:enumeration value="0"/> <xs:enumeration value="1"/> 25 </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Itog3" nillable="false"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:maxLength value="1"/> <xs:minLength value="1"/> <xs:enumeration value="0"/> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="Itog" nillable="false"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:whiteSpace value="collapse"/> <xs:maxLength value="1"/> <xs:minLength value="1"/> <xs:enumeration value="0"/> <xs:enumeration value="1"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="IndRos" type="strType" nillable="false"/> <xs:element name="GrsCode" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="3"/> <xs:minLength value="3"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="FullName" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="70"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="FormatVersionNo" type="strType" nillable="false"/> <xs:element name="Email" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="50"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="EdNR" type="strType" nillable="false"/> <xs:element name="EdKR" type="strType" nillable="true"/> <xs:element name="EDPR3"> <xs:complexType> <xs:sequence> <xs:element ref="StrPR3" maxOccurs="unbounded"/> <xs:element ref="SignerDolzn3"/> <xs:element ref="SignerFN3"/> <xs:element ref="ClerkDolzn3"/> <xs:element ref="ClerkFN3"/> <xs:element ref="ClerkPhone3"/> <xs:element ref="DateSPP3"/> <xs:element ref="ControlED3"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="EDPR24"> <xs:complexType> <xs:sequence> <xs:element ref="StrPR24" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> 26 <xs:element name="EDPR23"> <xs:complexType> <xs:sequence> <xs:element ref="KRPR23" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="EDPR222"> <xs:complexType> <xs:sequence> <xs:element ref="NRPR222" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="EDPR221"> <xs:complexType> <xs:sequence> <xs:element ref="NRPR221" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="EDPR21"> <xs:complexType> <xs:sequence> <xs:element ref="ROPR21" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="EDPR2"> <xs:complexType> <xs:sequence> <xs:element ref="CodeBAS2"/> <xs:element ref="NameBAS2"/> <xs:element ref="EDPR21"/> <xs:element ref="EDPR221"/> <xs:element ref="EDPR222"/> <xs:element ref="EDPR23"/> <xs:element ref="EDPR24"/> <xs:element ref="SignerDolzn2"/> <xs:element ref="SignerFN2"/> <xs:element ref="ClerkDolzn2"/> <xs:element ref="ClerkFN2"/> <xs:element ref="ClerkPhone2"/> <xs:element ref="DateSPP2"/> <xs:element ref="ControlED2"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="EDPR1"> <xs:complexType> <xs:sequence> <xs:element ref="StrPR1" maxOccurs="unbounded"/> <xs:element ref="SignerDolzn1"/> <xs:element ref="SignerFN1"/> <xs:element ref="ClerkDolzn1"/> <xs:element ref="ClerkFN1"/> <xs:element ref="ClerkPhone1"/> <xs:element ref="DateSPP1"/> <xs:element ref="ControlED1"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="EDDEISTV"> <xs:complexType> <xs:sequence> <xs:element ref="EDPR1"/> <xs:element ref="EDPR2" maxOccurs="unbounded"/> <xs:element ref="EDPR3"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Delta" type="strType" nillable="false"/> 27 <xs:element name="DateSPP3" type="dateType" nillable="false"/> <xs:element name="DateSPP2" type="dateType" nillable="false"/> <xs:element name="DateSPP1" type="dateType" nillable="false"/> <xs:element name="DateNPA" nillable="false"> <xs:simpleType> <xs:restriction base="dateType"> <xs:minInclusive value="1800-01-01"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="DateDn" type="dateType" nillable="false"/> <xs:element name="ControlED" type="ControlType" nillable="false"/> <xs:element name="ControlED1" type="ControlType" nillable="false"/> <xs:element name="ControlED2" type="ControlType" nillable="false"/> <xs:element name="ControlED3" type="ControlType" nillable="false"/> <xs:element name="CodeRO2" type="strType" nillable="true"/> <xs:element name="CodeRO1" type="strType" nillable="false"/> <xs:element name="NameBAS2" type="strType" nillable="false"/> <xs:element name="CodeNR2"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="7"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CodeNR"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="7"/> <xs:whiteSpace value="collapse"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CodeMFPART2" type="strType" nillable="false"/> <xs:element name="CodeMF221" type="strType" nillable="false"/> <xs:element name="CodeMF2" type="strType" nillable="false"/> <xs:element name="CodeKR" type="strType" nillable="true"/> <xs:element name="CodeBAS3" nillable="true"> <xs:simpleType> <xs:restriction base="strType"> <xs:minLength value="0"/> <xs:maxLength value="13"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CodeBAS" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="13"/> <xs:minLength value="13"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CodeBAS2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="13"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClerkPhone3" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="20"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClerkPhone2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="20"/> 28 </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClerkPhone1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="20"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClerkFN3" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="70"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClerkFN2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="70"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClerkFN1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="70"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClerkDolzn3" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClerkDolzn2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClerkDolzn1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClearkShip" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:maxLength value="200"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CSTPART2" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="7"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CSTPART1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="7"/> </xs:restriction> </xs:simpleType> 29 </xs:element> <xs:element name="CST1" nillable="false"> <xs:simpleType> <xs:restriction base="strType"> <xs:length value="7"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="CST2"> <xs:simpleType> <xs:restriction base="strType"> <xs:minLength value="0"/> <xs:maxLength value="7"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:schema>