6.3 Получение отчета из СППР
В ответ на запрос на формирование отчетов из облачного сервиса СППР будет автоматически направлено электронное сообщение формата 2.7.1 инициатору запроса, содержащее транспортный контейнер типа «Сведения СППР» с ответом на запрос.
Пример электронного сообщения с ответом на запрос на формирование отчетов вида «Отправка сформированных отчётов в ответ на запрос» можно загрузить по ссылке: msg_sppr_reportResponse.zip.
В составе ТК:
- файл паспорта ТК passport.xml – с ответом на запрос, в котором совмещены элементы «описание транспортного контейнера» и «данные технологического сообщения», и приведен перечень направленных отчетов;
- файл(ы) *.html – отчет(ы) в формате html.
Пример содержания паспорта ТК приведен на Рисунок 6.4.
Пример отчета в формате *.html, открытый на просмотр в браузере, приведен на Рисунок 6.5.
Рисунок 6.4. Пример паспорта ТК с ответом на запрос на формирование отчётов
Рисунок 6.5. Пример отчета, открытого на просмотр в браузере
Описание элементов паспорта транспортного контейнера с отчетами из СППР приведен в Таблица 10.
Кратность элемента определяет его минимальное и максимальное допустимое число повторений в файле, а также обязательность его заполнения:
- 1 - элемент указывается один раз и заполняется обязательно;
- 1..n - элемент повторяется необходимое число раз и заполняется обязательно;
- 0..1 - элемент либо не указывается, либо указывается один раз и заполняется обязательно, если выполняются условия его обязательного заполнения, указанные в описании элемента;
- 0..n - элемент либо не указывается, либо повторяется необходимое число раз и заполняется обязательно, если выполняются условия его обязательного заполнения, указанные в описании элемента.
Таблица 10. Описание элементов схемы паспорта ТК с отчетами из СППР
Пункт | Идентификатор | Тип | Кратность | Описание элемента |
Описание корневых типов данных: | ||||
1 | container | Сложный | 1 | Паспорт транспортного контейнера СППР |
1.1 | @version | Строка | 1 | Версия XML-схемы паспорта: "2.7.1" |
1.2 | header | Сложный | 1 | Описание транспортного контейнера |
1.2.1 | uid | Заданный | 1 | Уникальный идентификатор контейнера. Заданный тип: "globalUniqueIdentifier" (пункт 6 настоящей таблицы) |
1.2.2 | created | Заданный | 1 | Дата и время создания контейнера. Заданный тип: "dateTimeZone" (пункт 7 настоящей таблицы) |
1.2.3 | previewFile | Заданный | 0..1 | Название файла визуализации технологического сообщения. Заданный тип: "fileName" (пункт 5 настоящей таблицы) |
1.2.4 | signatureFile | Заданный | 0..1 | Название файла электронной подписи транспортного контейнера. Заданный тип: "fileName" (пункт 5 настоящей таблицы) |
1.3 | Данные технологического сообщения, одно из следующих значений: | |||
reportBuilt | Заданный | 1..n | Сформированные отчёты (отправка "как есть") Заданный тип: "reportBuilt" (пункт 10 настоящей таблицы) | |
reportResponse | Заданный | 1 | Отправка сформированных отчётов в ответ на запрос Заданный тип: "reportResponse" (пункт 12 настоящей таблицы) | |
subscriptionPost | Заданный | 1 | Выпуск рассылки сформированных отчётов Заданный тип: "subscriptionPost" (пункт 13 настоящей таблицы) | |
Описание задаваемых типов данных: | ||||
2 | numberValue | Простой | -- | Базовый тип: число (от 1 до 109-1) |
3 | stringValue | Простой | -- | Базовый тип: строка (от 1 до 511 символов) |
4 | identityValue | Простой | -- | Идентификатор объекта (код) |
5 | fileName | Простой | -- | Имя файла внутри контейнера |
6 | globalUniqueIdentifier | Простой | -- | Универсальный уникальный идентификатор Вид: "iiiiiiii-iiii-iiii-iiii-iiiiiiiiiiii" i=[a-f0-9] |
7 | dateTimeZone | Простой | -- | Дата и время с указанием часового пояса Вид: "YYYY-MM-DDThh:mm:ss±hh:mm" |
8 | semverValue | Простой | -- | Семантический номер версии в формате Вид: "MM.mmm.ppp" (https://semver.org/) |
9 | qualifiedValue | Сложный | -- | Базовый тип: Строка |
9.1 | @id | Заданный | 1 | Идентификатор объекта (код) Заданный тип: "identityValue" (пункт 4 настоящей таблицы) |
10 | reportBuilt | Сложный | -- | Структура для публикации сформированных отчётов |
10.1 | reportMeta | Заданный | 1 | Описание формата отчёта Заданный тип: "reportMeta" (пункт 11 настоящей таблицы) |
10.2 | reportDate | Заданный | 1 | Дата и время формирования отчёта Заданный тип: "dateTimeZone" (пункт 7 настоящей таблицы) |
10.3 | reportFile | Заданный | 1 | Название файла сформированного отчёта в составе контейнера Заданный тип: "fileName" (пункт 5 настоящей таблицы) |
11 | reportMeta | Сложный | -- | Структура описания формата отчёта |
11.1 | domain | Заданный | 1 | Домен (верхняя группировка, из классификатора доменов) Заданный тип: "qualifiedValue" (пункт 9 настоящей таблицы) |
11.2 | process | Заданный | 1 | Процесс (нижняя группировка, из классификатора процессов) Заданный тип: "qualifiedValue" |
11.3 | reportId | Строка | 1 | Локальный код отчёта по классификатору форматов отчётов |
11.4 | reportUid | Строка | 1 | Уникальный код отчёта по классификатору форматов отчётов |
11.5 | reportName | Строка | 1 | Название отчёта по классификатору форматов отчётов |
11.6 | metaVersion | Заданный | 0..1 | Семантический номер версии метаданных в формате MM.mmm.nnn Заданный тип: "semverValue" (пункт 8 настоящей таблицы) |
11.7 | metaSchemaFile | Заданный | 0..1 | Название файла XML-схемы параметров формирования отчёта Заданный тип: "fileName" (пункт 5 настоящей таблицы) |
12 | reportResponse | Сложный | -- | Структура ответа "Отправка сформированных отчётов в ответ на запрос" |
12.1 | @responseUid | Заданный | 1 | Уникальный идентификатор ответа Заданный тип: "globalUniqueIdentifier" (пункт 6 настоящей таблицы) |
12.2 | requestUid | Заданный | 1 | Идентификатор запроса, на который подготовлен ответ. Заданный тип: "globalUniqueIdentifier" (пункт 6 настоящей таблицы) |
12.3 | generalResponse | Сложный | 1 | Ответ на запрос |
12.3.1 | Данные ответа на запрос – одно из следующих значений: requestInvalid (подпункт 12.3.2 настоящей таблицы) или queriesResponse (подпункт 12.3.3 настоящей таблицы) |
|||
12.3.2 | requestInvalid | Сложный | 1 | Структура ответа "Запрос некорректный" |
12.3.2.1 | rejectionReason | Строка | 1 | Комментарий организатора с причиной отклонения запроса Заданный тип: "stringValue" (пункт 3 настоящей таблицы) |
12.3.3 | queriesResponse | Сложный | 1 | Структура ответа на корректный запрос |
12.3.3.1 | Ответ на корректный запрос — одно из следующих значений: queryAccepted (подпункт 13.3.3.2 настоящей таблицы) или queryRejected (подпункт 13.3.3.3 настоящей таблицы) | |||
12.3.3.2 | queryAccepted | Сложный | 1 | Структура ответа "Запрос принят" |
12.3.3.2. 1 | @queryId | Заданный | 1 | Локальный идентификатор запроса в заявке (номер строки) Заданный тип: "numberValue" (пункт 2 настоящей таблицы) |
12.4.3.2. 2 | reportBuilt | Заданный | 1..n | Сформированный отчёт Заданный тип: "reportBuilt" (пункт 10 настоящей таблицы) |
12.3.3.3 | queryRejected | Сложный | 1 | Структура ответа "Запрос отклонён" |
12.4.3.3.1 | @queryId | Заданный | 1 | Локальный идентификатор запроса в заявке (номер строки) Заданный тип: "numberValue" (пункт 2 настоящей таблицы) |
12.4.3.3.2 | rejectionReason | Строка | 1 | Комментарий организатора с причиной отклонения запроса Заданный тип: "stringValue" (пункт 3 настоящей таблицы) |
13. | subscriptionPost | Сложный | -- | Структура "Выпуск рассылки сформированных отчётов" |
13.1 | @postUid | Заданный | 1 | Уникальный идентификатор выпуска рассылки Заданный тип: "globalUniqueIdentifier" (пункт 6 настоящей таблицы) |
13.2 | subscriptionUid | Заданный | 1 | Идентификатор рассылки, по которой сделан выпуск Заданный тип: "globalUniqueIdentifier" (пункт 6 настоящей таблицы) |
13.3 | subscriptionReason | Заданный | 1 | Основание формирования рассылки организатором Заданный тип: "stringValue" (пункт 3 настоящей таблицы) |
13.4 | reportBuilt | Заданный | 0..n | Сформированные отчёты (массив может быть пустым) Заданный тип: "reportBuilt" (пункт 10 настоящей таблицы) |