disp

Настройка и авторизация
GET /catalogs/users/currentUser2
GET /catalogs/users/currentUser
НЕ АКТУАЛЬНО currentUser2
GET /catalogs/users/currentUser2

Responses

200 OK
Body
Object
id
string

ID текущего пользователя

Example:
fd366600-9e46-11ed-9e2b-00505692a275
name
string

Отображаемое имя текущего пользователя (передается логин вместо ФИО)

Example:
Иванов Иван Иванович
role
string

Наименование роли пользователя

Example:
Метролог
img
string

Ссылка на фотографию пользователя (должна генерироваться на бэке с учетом API Outlook и логина пользователя)

Example:
https://mail.company-name.com/api/v2.0/me/Photos/64x64/$value
Example 1
GET /catalogs/users/CurrentUser HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": "fd366600-9e46-11ed-9e2b-00505692a275",
    "name": "Иванов Иван Иванович",
    "role": "Метролог",
    "img": "https://mail.company-name.com/api/v2.0/me/Photos/64x64/$value"
}
currentUser
GET /catalogs/users/currentUser

Информация о текущем пользователе

Responses

200 OK
Body
Object
id
string

Описание: ID текущего пользователя.

1C: ID текущего пользователя. Из справочника “Пользователи”.

Angular: На экран не выводится.

Example:
fd366600-9e46-11ed-9e2b-00505692a275
login
string

Описание: Логин пользователя. Доменная аутентификация.

1C: Логин текущего пользователя. Из справочника “Пользователи”.

Angular: ФИО текущего пользователя. Отображается на всех экранах системы в правом верхнем углу.

Example:
\\gazprom-neft\Ivanov.II
role
string

ПОКА НЕ АКТУАЛЬНО

Описание: Наименование роли пользователя.

1C: Наименование роли текущего пользователя.

Angular: Отображается на всех экранах системы в правом верхнем углу под ФИО.

Example:
Метролог
img
string

ПОКА НЕ АКТУАЛЬНО

Описание: Ссылка на фотографию текущего пользователя.

1C: Ссылка на фотографию текущего пользователя. Должна генерироваться на бэке с учетом API Outlook и логина пользователя.

Angular: Отображается на всех экранах системы в правом верхнем углу слева от ФИО.

Example:
https://mail.company-name.com/api/v2.0/me/Photos/64x64/$value
Examples
{
    "id": "fd366600-9e46-11ed-9e2b-00505692a275",
    "login": "\\\\gazprom-neft\\Ivanov.II",
    "role": "Метролог",
    "img": "https://mail.company-name.com/api/v2.0/me/Photos/64x64/$value"
}
Управление сценариями
POST /scenario/list
POST /scenario/write
DELETE /scenario/delete
POST /scenario/file
POST /scenario/calculate
POST /scenario/calculationStatus
POST /scenario/cancelCalculation
scenarioList
POST /scenario/list

Запрос списка сценариев. Вызывается каждый раз при переходе на экран “Планирование”, при применении/сбросе фильтров, при смене папки со сценариями и при переходе по страницам сценариев.

Request body

Object
searchScenarioName
string

Описание: Поиск по наименованию сценария.

1C: Отбор по наименованию сценария в таблице “ГПН_Сценарий” из поля “НаименованиеСценария”.

Angular: Передавать значение, введенное в фильтре “Наименование” на экране “Планирование”. При отсутствии значения передавать “null”.

Example:
Сценарий №1
selectStatus
Array

Описание: Фильтрация по статасу сценариев с мультиселектом. Соответствие:

  • “Новый” - “NEW”
  • “Готов к расчету” - “READY”
  • “В процессе” - “IN_PROGRESS”
  • “Отменен” - “CANCELLED”
  • “Ошибка” - “ERROR”
  • “Рассчитано” - “CALCULATED”
  • “Ожидание” - “WAIT”

1C: Отбор по списку статусов сценария в таблице “ГПН_Сценарий” из поля “Статус”. Соответствие:

  • “NEW” - “Новый”
  • “READY” - “ГотовКРасчету”
  • “IN_PROGRESS” - “ВПроцессе”
  • “CANCELLED” - “Отменен”
  • “ERROR” - “Ошибка”
  • “CALCULATED” - “Рассчитано”
  • “WAIT” - “Ожидание”

Angular: Передавать список заданных статусов в фильтре “Статус” на экране “Планирование”. Соответствие:

  • “Новый” - “NEW”
  • “Готов к расчету” - “READY”
  • “В процессе” - “IN_PROGRESS”
  • “Отменен” - “CANCELLED”
  • “Ошибка” - “ERROR”
  • “Рассчитано” - “CALCULATED”
  • “Ожидание” - “WAIT”

При отсутствии значения передавать “null”.

string
Example:
NEW
selectPlanningDateStart
string

Описание: Начало интервала планирования.

1C: Отбор по началу интервала планирования в таблице “ГПН_Сценарий” из поля “НачалоИнтервалаПланирования”.

Angular: Передавать дату начала интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”. При отсутствии значения передавать “null”.

Example:
2025-08-31T21:00:00Z
selectPlanningDateEnd
string

Описание: Конец интервала планирования.

1C: Отбор по концу интервала планирования в таблице “ГПН_Сценарий” из поля “КонецИнтервалаПланирования”.

Angular: Передавать дату конца интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”. При отсутствии значения передавать “null”.

Example:
2025-09-29T21:00:00Z
favorites
boolean

Описание: Признак, который определяет какие сценарии будут отображаться на экране: только избранные сценарии или все сценарии, то есть в какой папке находится пользователь: “true” - “Избранные”; “false” - “Все сценарии”.

1C: “true” - применить дополнительный отбор по пользователю, сделавшему запрос - поле “Пользователь” в таблице “ГПН_Избранное” ; “false” - нет дополнительного отбора.

Angular: Передавать “true”, если пользователь находится в папке “Избранные” на экране “Планирование”. Передавать “false”, если пользователь находится в папке “Все сценарии” на экране “Планирование”.

Example:
true
sorting
Object

Объект для передачи параметров сортировки для пагинации

field
string

Описание: Поле для сортировки.

1C: Полученный список сценариев после применения всех фильтров отсортировать по полученному параметру. Соответствие:

  • “createDate” - поле “ДатаСоздания” из таблицы “ГПН_Сценарий”;
  • “scenarioName” - поле “НаименованиеСценария” из таблицы “ГПН_Сценарий”;
  • “planningDateStart” - поле “НачалоИнтервалаПланирования” из таблицы “ГПН_Сценарий”;
  • “changeDate” - поле “ДатаИзменения” из таблицы “ГПН_Сценарий”.

Angular: Значение по умолчанию: “createDate”. Передавать значение по умолчанию, если не задана сортировка. Соответствие:

  • “Дата создания” - “createDate”;
  • “Наименование” - “scenarioName”;
  • “Интервал планирования” - “planningDateStart”;
  • “Дата изменения” - “changeDate”.

На текущем этапе у пользователя нет возможности задания сортировки.

Example:
createDate
direction
string

Описание: Направление сортировки.

1C: Полученный список сценариев после применения всех фильтров отсортировать по полученному параметру в нужном направлении. “DESC” - сортировка данных в порядке убывания; “ASC” - сортировка данных в порядке возрастания.

Angular: Значение по умолчанию: “DESC”. Передавать значение по умолчанию, если не задана сортировка. “DESC” - сортировка данных в порядке убывания; “ASC” - сортировка данных в порядке возрастания.

На текущем этапе у пользователя нет возможности задания сортировки.

Example:
DESC
pagination
Object

Объект для передачи параметров страниц для пагинации

pageSize
integer

Описание: Количество элементов на странице (25, 50, 75, 100).

1C: Полученное количество сценариев с учетом сортировки и применения всех фильтров нужно будет разделить на “pageSize” для получения количества страниц и передачи этого значения в ответе в поле “totalPages”.

+Валидация: проверяем соответствует ли переданное значение одному из допустимых значений (25, 50, 75, 100). Если соответствует, то используем без изменения; если не соответствует, то устанавливаем значение по умолчанию: 50.

Angular: Значение по умолчанию - “50”. Передавать выбранное пользователем значение из раскрывающегося списка. При смене значения в “pageSize” необходимо сбросить “pageNumber” на значение по умолчанию: “1”.

Example:
50
pageNumber
integer

Описание: Номер текущей страницы (начинается с 1).

1C: Номер текущей страницы. Например, “pageSize” = “50”, “pageNumber” = “2” и полученное количество сценариев с учетом сортировки и применения всех фильтров равняется “500”. Значит в ответ в массив “scenarios” должны попасть вторые (“pageNumber” = “2”) 50 сценариев (“pageSize” = “50”).

+Валидация: Если номер страницы меньше “1”, то меняем на “1”. Если номер страницы больше максимального, то меняем на максимальный. Если нет данных - всё равно первая страница.

Angular: Значение по умолчанию - “1”. Передавать выбранное пользователем значение. При смене значения в “pageNumber”, значение в “pageSize” сохраняется.

Example:
1
Examples
{
    "searchScenarioName": "Сценарий №1",
    "selectStatus": [
        "NEW"
    ],
    "selectPlanningDateStart": "2025-08-31T21:00:00Z",
    "selectPlanningDateEnd": "2025-09-29T21:00:00Z",
    "favorites": true,
    "sorting": {
        "field": "createDate",
        "direction": "DESC"
    },
    "pagination": {
        "pageSize": 50,
        "pageNumber": 1
    }
}

Responses

200 OK
Body
Object
scenarios
Array

Описание: Массив для передачи списка сценариев, которые будут отображаться на фронте.

Object
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”.

Angular: На экран не выводится.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
scenarioName
string

Описание: Наименование сценария.

1C: Наименование сценария из таблицы “ГПН_Сценарий” из поля “НаименованиеСценария”.

Angular: Наименование сценария отображается в центральной области на экране “Планирование” в колонке “Наименование” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в заголовке.

Example:
Сценарий №1
favorite
boolean

Описание: Находится ли этот сценарий в папке “Избранное” для текущего пользователя: “true” - Да, находится"; “false” - Нет, не находится". Проверить есть ли этот сценарий в таблице “ГПН_Избранное” с отбором по пользователю, сделавшему запрос.

Фронт: “true” - элемент «☆» с золотой заливкой; “false” - элемент «☆» без заливки.

Example:
true
scenarioStatus
string

Описание: Статус сценария.

1C: Статус сценария из таблицы “ГПН_Сценарий” из поля “Статус”.

Angular: Статус сценария отображается в центральной области на экране “Планирование” в колонке “Наименование” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в рамке соответствующего цвета под заголовком с наименованием сценария.

Example:
NEW
planningDateStart
string

Описание: Начало интервала планирования.

1C: Начало интервала планирования из таблицы “ГПН_Сценарий” из поля “НачалоИнтервалаПланирования”.

Angular: Первое из двух значений, отображаемых в центральной области на экране “Планирование” в колонке “Интервал планирования” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Интервал планирования”.

Example:
2025-08-31T21:00:00Z
planningDateEnd
string

Описание: Конец интервала планирования.

1C: Конец интервала планирования из таблицы “ГПН_Сценарий” из поля “КонецИнтервалаПланирования”.

Angular: Второе из двух значений, отображаемых в центральной области на экране “Планирование” в колонке “Интервал планирования” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Интервал планирования”.

Example:
2025-09-29T21:00:00Z
createDate
string

Описание: Дата создания сценария.

1C: Дата создания сценария из таблицы “ГПН_Сценарий” из поля “ДатаСоздания”.

Angular: Дата создания сценария отображается в центральной области на экране “Планирование” в колонке “Дата создания” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Дата Создания”.

Example:
2025-08-30T21:00:00Z
createAuthorLogin
string

Описание: Логин пользователя. ФИО пользователя.

1C: Логин пользователя из таблицы “ГПН_Сценарий” из поля “АвторСоздания”.

Angular: ФИО пользователя отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Автор создания”.

Example:
\\gazprom-neft\Ivanov.II
changeDate
string

Описание: Дата изменения сценария.

1C: Дата изменения сценария из таблицы “ГПН_Сценарий” из поля “ДатаИзменения”. Если нет значения, то передавать “null”.

Angular: Дата изменения сценария отображается в центральной области на экране “Планирование” в колонке “Дата изменения” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Дата Изменения”. Если “null”, то ничего не отображается.

Example:
2025-08-30T21:00:00Z
changeAuthorLogin
string

Описание: Логин пользователя. ФИО пользователя.

1C: Логин пользователя из таблицы “ГПН_Сценарий” из поля “АвторИзменения”. Если нет значения, то передавать “null”.

Angular: ФИО пользователя отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Автор изменения”. Если “null”, то ничего не отображается.

Example:
\\gazprom-neft\Ivanov.II
description
string

Описание: Описание сценария.

1C: Описание сценария из таблицы “ГПН_Сценарий” из поля “Описание”. Если нет значения, то передавать “null”.

Angular: Описание сценария отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Описание”. Если “null”, то ничего не отображается.

Example:
Описание для сценария №1
pagination
Object
currentPage
integer

Описание: Текущая страница.

1C: “pageNumber” из запроса, если значение валидное ИЛИ значение, замененно на валидное.

Валидация: Если номер страницы меньше “1”, то меняем на “1”. Если номер страницы больше максимального, то меняем на максимальный. Если нет данных - всё равно первая страница.

Angular: Подсветка номера текущей страницы.

Example:
1
pageSize
integer

Описание: Размер страницы.

1C: “pageSize” из запроса, если значение валидное ИЛИ значение, замененно на валидное.

Валидация: проверяем соответствует ли переданное значение одному из допустимых значений (25, 50, 75, 100). Если соответствует, то используем без изменения; если не соответствует, то устанавливаем значение по умолчанию: 50.

Angular: Значение в рамке “Сценариев на странице”.

Example:
50
totalCount
integer

Описание: Общее количество записей.

1C: Полученное количество сценариев с учетом сортировки и применения всех фильтров.

Angular: Значение в подписи “Показано 1-100 сценариев из 500

Example:
500
totalPages
integer

Описание: Общее количество страниц.

1C: “totalCount”/“pageSize”.

Angular: Номер последней страницы. Если страниц больше 7, то добавляется многоточие после 3 страницы, а после многоточия номер последней страницы.

Example:
10
hasPrevious
boolean

Описание: Есть ли предыдущая страница?

1C: “false” - если “currentPage” = “1”, иначе “true”.

Angular: “false” - скрыть/заблокировать кнопки “Предыдущая страница” и “Первая страница”. “true” - показать/активировать кнопки “Предыдущая страница” и “Первая страница”.

Example:
false
hasNext
boolean

Описание: Есть ли следующая страница?

1C: “false” - если “currentPage” = “totalPages”, иначе “true”.

Angular: “false” - скрыть/заблокировать кнопки “Следующая страница” и “Последняя страница”. “true” - показать/активировать кнопки “Следующая страница” и “Последняя страница”.

Example:
true
filterStatuses
Array

Массив значений для выпадающего списка статусов в фильтре “Статус”

Object
statusCode
string

Описание: Статус сценария.

1C: Передавать все коды статуса сценария из таблицы “ГПН_СтатусыСценариев” из поля “Комментарий”. Соответствие:

  • “Новый” - “NEW”
  • “ГотовКРасчету” - “READY”
  • “ВПроцессе” - “IN_PROGRESS”
  • “Отменен” - “CANCELLED”
  • “Ошибка” - “ERROR”
  • “Рассчитано” - “CALCULATED”
  • “Ожидание” - “WAIT”

Angular: Список значений отображается в выпадающем списке в фильтре “Статус”. Соответствие:

  • “NEW” - “Новый”
  • “READY” - “Готов к расчету”
  • “IN_PROGRESS” - “В процессе”
  • “CANCELLED” - “Отменен”
  • “ERROR” - “Ошибка”
  • “CALCULATED” - “Рассчитано”
  • “WAIT” - “Ожидание”
Example:
NEW
count
integer

Описание: Количество сценариев в этом статусе.

1C: Количество сценариев в этом статусе. То есть количество записей с отбором по этому статусу из таблицы “ГПН_Сценарий”.

Angular: Список значений отображается в выпадающем списке в фильтре “Статус” следующим образом: “statusCode” + " (" + “count” + “)”. Например: “Новый (15)”.

Example:
15
Examples
{
    "scenarios": [
        {
            "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
            "scenarioName": "Сценарий №1",
            "favorite": "true",
            "scenarioStatus": "NEW",
            "planningDateStart": "2025-08-31T21:00:00Z",
            "planningDateEnd": "2025-09-29T21:00:00Z",
            "createDate": "2025-08-30T21:00:00Z",
            "createAuthorLogin": "\\\\gazprom-neft\\Ivanov.II",
            "changeDate": "2025-08-30T21:00:00Z",
            "changeAuthorLogin": "\\\\gazprom-neft\\Ivanov.II",
            "description": "Описание для сценария №1"
        }
    ],
    "pagination": {
        "currentPage": 1,
        "pageSize": 50,
        "totalCount": 500,
        "totalPages": 10,
        "hasPrevious": "false",
        "hasNext": true
    },
    "filterStatuses": [
        {
            "statusCode": "NEW",
            "count": 15
        }
    ]
}
НЕ АКТУАЛЬНО ScenarioList2 ПАГАНАЦИЯ
POST /scenario/list

Запрос списка сценариев

Request body

Object
searchScenarioName
string

Описание: Поиск по наименованию сценария.

1C: Отбор по наименованию сценария в таблице “ГПН_Сценарии” из поля “НаименованиеСценария”.

Angular: Передавать значение, введенное в фильтре “Наименование” на экране “Планирование”.

Example:
Сценарий №1
selectStatus
Array

Описание: Фильтрация по статасу сценариев с мультиселектом.

Может принимать следующие значения: “NEW” - “Новый”, “READY” - “Готов к расчету”, “IN_PROGRESS” - “В процессе”, “CANCELLED” - “Отменен”, “ERROR” - “Ошибка”, “CALCULATED” - “Рассчитано”, “WAIT” - “Ожидание”.

1C: Отбор по списку статусов сценария в таблице “ГПН_Сценарии” из поля “Статус”.

Angular: Передавать список заданных статусов в фильтре “Статус” на экране “Планирование”.

string
Example:
NEW
selectPlanningDateStart
string

Описание: Начало интервала планирования.

1C: Отбор по началу интервала планирования в таблице “ГПН_Сценарии” из поля “НачалоИнтервалаПланирования”.

Angular: Передавать дату начала интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”.

Example:
2025-09-01T16:26:07+03:00
selectPlanningDateEnd
string

Описание: Конец интервала планирования.

1C: Отбор по концу интервала планирования в таблице “ГПН_Сценарии” из поля “КонецИнтервалаПланирования”.

Angular: Передавать дату конца интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”.

Example:
2025-09-30T16:26:07+03:00
currentQuantity????????????????????????????
number

Описание: Для пагинации - текущее количество отображаемых на фронте записей (сценариев).

1C:

Angular:

Example:
2
defaultQuantity??????????????????????????????
number

Описание: Для пагинации - количество записей которое нужно вернуть с бэка.

1C:

Angular:

Example:
50
favorites
boolean

Описание: Признак, который определяет какие сценарии будут отображаться на экране: только избранные сценарии или все сценарии, то есть в какой папке находится пользователь: “true” - “Избранные”; “false” - “Все сценарии”.

1C: “true” - применить дополнительный отбор по пользователю, сделавшему запрос - поле “Пользователь” в таблице “ГПН_Избранное” ; “false” - нет дополнительного отбора.

Angular: Передавать “true”, если пользователь находится в папке “Избранные” на экране “Планирование”. Передавать “false”, если пользователь находится в папке “Все сценарии” на экране “Планирование”.

Example:
true
sorting
Object

Объект для передачи параметров сортировки для пагинации

field
string

Описание: Поле для сортировки.

1C: Полученный список сценариев после применения всех фильтров отсортировать по полученному параметру. “createDate” - поле “ДатаСоздания” из таблицы “ГПН_Сценарии”.

Angular: Всегда передавать “createDate”.

Example:
createDate
direction
string

Описание: Направление сортировки.

1C: Полученный список сценариев после применения всех фильтров отсортировать по полученному параметру в нужном направлении. “DESC” - сортировка данных в порядке убывания; “ASC” - сортировка данных в порядке возрастания.

Angular: Всегда передавать “DESC”.

Example:
DESC
pagination
Object

Объект для передачи параметров страниц для пагинации

pageSize
integer

Описание: Количество элементов на странице (25, 50, 75, 100).

1C: Полученное количество сценариев с учетом сортировки и применения всех фильтров нужно будет разделить на “pageSize” для получения количества страниц и передачи этого значения в ответе в поле “totalPages”.

+Валидация: проверяем соответствует ли переданное значение одному из допустимых значений (25, 50, 75, 100). Если соответствует, то используем без изменения; если не соответствует, то устанавливаем значение по умолчанию: 50.

Angular: Передавать выбранное пользователем значение из раскрывающегося списка. При смене значения “pageNumber” сбрасывается на “1”.

Example:
50
pageNumber
integer

Описание: Номер текущей страницы (начинается с 1).

1C: Номер текущей страницы. Например, “pageSize” = “50”, “pageNumber” = “2” и полученное количество сценариев с учетом сортировки и применения всех фильтров равняется “500”. Значит в ответ в массив “scenarios” должны попасть вторые (“pageNumber” = “2”) 50 сценариев (“pageSize” = “50”).

+Валидация: Если номер страницы меньше “1”, то меняем на “1”. Если номер страницы больше максимального, то меняем на максимальный. Если нет данных - всё равно первая страница.

Angular: Передавать выбранное пользователем значение. При смене значения “pageSize” сохраняется.

Example:
1
Examples
{
    "searchScenarioName": "Сценарий №1",
    "selectStatus": [
        "NEW"
    ],
    "selectPlanningDateStart": "2025-09-01T16:26:07+03:00",
    "selectPlanningDateEnd": "2025-09-30T16:26:07+03:00",
    "currentQuantity????????????????????????????": 2,
    "defaultQuantity??????????????????????????????": 50,
    "favorites": true,
    "pagination": {
        "pageNumber": 1,
        "pageSize": 50
    },
    "sorting": {
        "field": "createDate",
        "direction": "DESC"
    }
}

Responses

200 OK
Body
Object
scenarios
Array

Описание: Массив для передачи списка сценариев, которые будут отображаться на фронте.

Object
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарии”.

Angular: На экран не выводится.

Example:
09de65a8-a0ac-49ca-b2dl-d2c99c04c109
scenarioName
string

Описание: Наименование сценария.

1C: Наименование сценария из таблицы “ГПН_Сценарии” из поля “НаименованиеСценария”.

Angular: Наименование сценария отображается в центральной области на экране “Планирование” в колонке “Наименование” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в заголовке.

Example:
Сценарий №1
favorite
boolean

Описание: Находится ли этот сценарий в папке “Избранное” для текущего пользователя: “true” - Да, находится"; “false” - Нет, не находится". Проверить есть ли этот сценарий в таблице “ГПН_Избранное” с отбором по пользователю, сделавшему запрос.

Фронт: “true” - символ «☆» с золотой заливкой; “false” - символ «☆» без заливки.

Example:
true
scenarioStatus
string

Описание: Статус сценария.

1C: Статус сценария из таблицы “ГПН_Сценарии” из поля “Статус”.

Angular: Статус сценария отображается в центральной области на экране “Планирование” в колонке “Наименование” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в рамке соответствующего цвета под заголовком с наименованием сценария.

Example:
NEW
planningDateStart
string

Описание: Начало интервала планирования.

1C: Начало интервала планирования из таблицы “ГПН_Сценарии” из поля “НачалоИнтервалаПланирования”.

Angular: Первое из двух значений, отображаемых в центральной области на экране “Планирование” в колонке “Интервал планирования” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Интервал планирования”.

Example:
2025-09-01T16:26:07+03:00
planningDateEnd
string

Описание: Конец интервала планирования.

1C: Конец интервала планирования из таблицы “ГПН_Сценарии” из поля “КонецИнтервалаПланирования”.

Angular: Второе из двух значений, отображаемых в центральной области на экране “Планирование” в колонке “Интервал планирования” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Интервал планирования”.

Example:
2025-09-30T16:26:07+03:00
createDate
string

Описание: Дата создания сценария.

1C: Дата создания сценария из таблицы “ГПН_Сценарии” из поля “ДатаСоздания”.

Angular: Дата создания сценария отображается в центральной области на экране “Планирование” в колонке “Дата создания” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Дата Создания”.

Example:
2025-08-25T16:26:07+03:00
createAuthorLogin
string

Описание: Логин пользователя.

1C: Логин пользователя из справочника “Пользователи”.

Angular: На экран не выводится.

Example:
\\gazprom-neft\Ivanov.II
createAuthorFIO
string

Описание: ФИО пользователя.

1C: ФИО пользователя из таблицы “ГПН_Сценарии” из поля “АвторСоздания”.

Angular: ФИО пользователя отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Автор Создания”.

Example:
Иванов И.И.
changeDate
string

Описание: Дата изменения сценария.

1C: Дата изменения сценария из таблицы “ГПН_Сценарии” из поля “ДатаИзменения”. Если нет значения, то передавать “null”.

Angular: Дата изменения сценария отображается в центральной области на экране “Планирование” в колонке “Дата изменения” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Дата Изменения”. Если “null”, то ничего не отображается.

Example:
2025-09-25T16:26:07+03:00
changeAuthorLogin
string

Описание: Логин пользователя.

1C: Логин пользователя из справочника “Пользователи”.

Angular: На экран не выводится.

Example:
\\gazprom-neft\Ivanov.II
changeAuthorFIO
string

Описание: ФИО пользователя.

1C: ФИО пользователя из таблицы “ГПН_Сценарии” из поля “АвторИзменения”. Если нет значения, то передавать “null”.

Angular: ФИО пользователя отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Автор Изменения”. Если “null”, то ничего не отображается.

Example:
Иванов И.И.
description
string

Описание: Описание сценария.

1C: Описание сценария из таблицы “ГПН_Сценарии” из поля “Описание”. Если нет значения, то передавать “null”.

Angular: Описание сценария отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Описание”. Если “null”, то ничего не отображается.

Example:
Описание для сценария №1
pagination
Object
currentPage
integer

Описание: Текущая страница.

1C: “pageNumber” из запроса, если значение валидное ИЛИ значение, замененно на валидное (описание в запросе).

Angular: Подсветка номера текущей страницы.

Example:
1
pageSize
integer

Описание: Размер страницы.

1C: “pageSize” из запроса, если значение валидное ИЛИ значение, замененно на валидное (описание в запросе).

Angular: Значение в рамке “Сценариев на странице”.

Example:
50
totalCount
integer

Описание: Общее количество записей.

1C: Полученное количество сценариев с учетом сортировки и применения всех фильтров.

Angular: Значение в подписи “Показано 1-100 сценариев из 500

Example:
500
totalPages
integer

Описание: Общее количество страниц.

1C: “totalCount”/“pageSize”.

Angular: Номер последней страницы. Если страниц больше 10, то добавляется многоточие после 3 страницы, а после многоточия номер последней страницы.

Example:
10
hasPrevious
boolean

Описание: Есть ли предыдущая страница?

1C: “false” - если “currentPage” = “1”, иначе “true”.

Angular: “false” - скрыть/заблокировать кнопки “Предыдущая страница” и “Первая страница”. “true” - показать/активировать кнопки “Предыдущая страница” и “Первая страница”.

Example:
false
hasNext
boolean

Описание: Есть ли следующая страница?

1C: “false” - если “currentPage” = “totalPages”, иначе “true”.

Angular: “false” - скрыть/заблокировать кнопки “Следующая страница” и “Последняя страница”. “true” - показать/активировать кнопки “Следующая страница” и “Последняя страница”.

Example:
true
Examples
{
    "scenarios": [
        {
            "scenarioId": "09de65a8-a0ac-49ca-b2dl-d2c99c04c109",
            "scenarioName": "Сценарий №1",
            "favorite": "true",
            "scenarioStatus": "NEW",
            "planningDateStart": "2025-09-01T16:26:07+03:00",
            "planningDateEnd": "2025-09-30T16:26:07+03:00",
            "createDate": "2025-08-25T16:26:07+03:00",
            "createAuthorLogin": "\\\\gazprom-neft\\Ivanov.II",
            "createAuthorFIO": "Иванов И.И.",
            "changeDate": "2025-09-25T16:26:07+03:00",
            "changeAuthorLogin": "\\\\gazprom-neft\\Ivanov.II",
            "changeAuthorFIO": "Иванов И.И.",
            "description": "Описание для сценария №1"
        }
    ],
    "pagination": {
        "currentPage": 1,
        "pageSize": 50,
        "totalCount": 500,
        "totalPages": 10,
        "hasPrevious": "false",
        "hasNext": true
    }
}
scenarioWrite
POST /scenario/write

Создание/редактирование сценария. Вызывается при нажатии на кнопку “Сохранить” в окне создания/редактирования сценария.

Request body

Object
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”. Если “null”, то это создаие сценария и ID нужно сгенерировать; если значение есть, то это редактирование сценария.

  • Поле “Статус” в таблице “ГПН_Сценарий”: Если “scenarioId” = “null”, то записать значение “Новый”, иначе оставить текущее значение без изменений.

Angular: При создании сценария передавать “null”. При редактировании сценария передавать известный ID сценария.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
scenarioName
string

Описание: Наименование сценария.

1C: Записать наименование сценария в таблицу “ГПН_Сценарий” в поле “НаименованиеСценария”.

Angular: Наименование сценария задается в окне создания или в окне редактирования сценария, расположенными в правой части экрана. Обязательное поле.

Example:
Сценарий №1
planningDateStart
string

Описание: Начало интервала планирования сценария.

1C: Записать начало интервала планирования в таблицу “ГПН_Сценарий” в поле “НачалоИнтервалаПланирования”.

Angular: Начало интервала планирования сценария задается в окне создания или в окне редактирования сценария, расположенными в правой части экрана. Обязательное поле. Приводить к началу дня.

Example:
2025-08-31T21:00:00Z
planningDateEnd
string

Описание: Конец интервала планирования сценария.

1C: Записать конец интервала планирования в таблицу “ГПН_Сценарий” в поле “КонецИнтервалаПланирования”.

Angular: Конец интервала планирования сценария задается в окне создания или в окне редактирования сценария, расположенными в правой части экрана. Обязательное поле. Приводить к началу дня.

Example:
2025-09-29T21:00:00Z
description
string

Описание: Описание сценария.

1C: Записать описание сценария в таблицу “ГПН_Сценарий” в поле “Описание”.

Angular: Описание сценария задается в окне создания или в окне редактирования сценария, расположенными в правой части экрана. Необязательное поле: если значение не задается, то передавать “null”.

Example:
Описание для сценария №1
files
Array

НЕОБЯЗАТЕЛЬНЫЙ МАССИВ ДЛЯ ЗАГРУЗКИ ФАЙЛА.

ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ ПОЛЬЗОВАТЕЛЬ ДОБАВЛЯЕТ ФАЙЛ ПРИ СОЗДАНИИ СЦЕНАРИЯ.

ПРИ РЕДАКТИРОВАНИИ СЦЕНАРИЯ МАССИВ НЕ ПЕРАДЕТСЯ.

Object
fileName
string

НЕОБЯЗАТЕЛЬНОЕ ПОЛЕ.

ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ ПОЛЬЗОВАТЕЛЬ ДОБАВЛЯЕТ ФАЙЛ ПРИ СОЗДАНИИ СЦЕНАРИЯ.

ПРИ РЕДАКТИРОВАНИИ СЦЕНАРИЯ НЕ ПЕРАДЕТСЯ.

Описание: Оригинальное наименование загружаемого файла.

1C: Оригинальное наименование загружаемого файла. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования.

Angular: Передавать оригинальное наименование загружаемого файла вместе с его разрешением. Например: “Исходные данные.xlsx”.

Example:
Исходные данные.xlsx
file
string

НЕОБЯЗАТЕЛЬНОЕ ПОЛЕ.

ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ ПОЛЬЗОВАТЕЛЬ ДОБАВЛЯЕТ ФАЙЛ ПРИ СОЗДАНИИ СЦЕНАРИЯ.

ПРИ РЕДАКТИРОВАНИИ СЦЕНАРИЯ НЕ ПЕРАДЕТСЯ.

Описание: Содержимое файла, бинарные данные.

1C: Содержимое файла, бинарные данные. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования. Файл, идущий на вход процедуры парсинга Excel-файла.

Angular: Передавать содержимое файла, бинарные данные.

Example:
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/
Examples
{
    "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
    "scenarioName": "Сценарий №1",
    "planningDateStart": "2025-08-31T21:00:00Z",
    "planningDateEnd": "2025-09-29T21:00:00Z",
    "description": "Описание для сценария №1",
    "files": [
        {
            "fileName": "Исходные данные.xlsx",
            "file": "0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/"
        }
    ]
}

Responses

200 OK

Структура ответа при успехе (“actionMade” = “true”)

Body
Object
actionMade
boolean

Описание: Выполнены ли действия (запись/редактирование) И обработка файла исходных данных (НЕОБЯЗАТЕЛЬНО)? “true” - выполнено; “false” - не выполнено, то есть ошибка.

1C: Передавать “true” только при соблюдении трех условий одновременно (иначе “false”):

  1. Сценарий записан без ошибок И
  2. Успешное завершении процедуры парсинга Excel-файла (НЕОБЯЗАТЕЛЬНО, ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ) И
  3. Получение ответа от мат. модели с кодом “201” по запросу: POST /scenario/create (НЕОБЯЗАТЕЛЬНО, ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ)

Angular: На фронте не отображается. Быстрая индикация успешности операции.

Example:
true
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”.

Angular: На фронте не отображается. Сохранить в состоянии компонента для будущих операций.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
scenarioStatus
string

Описание: Статус сценария “Новый” или “Готов к расчету”.

1C: Статус сценария: Если “Новый”, то “NEW”; если “Готов к расчету”, то “READY”

Angular: Логика вида правого окна может завязана на статус (“Новый” или “Готов к расчету”)

  • Если “scenarioStatus” = “NEW”, то макет “4. ‘‘Новый’’ - без ИД”.
  • Если “scenarioStatus” = “READY”, то макет “10. ‘‘Готов к рассчету’’ - с ИД”.
Example:
NEW
files
Array

НЕОБЯЗАТЕЛЬНЫЙ МАССИВ.

ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ.

Object
fileId
string

НЕОБЯЗАТЕЛЬНОЕ ПОЛЕ.

ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ.

Описание: ID загруженного файла.

1C: Передавать ID загруженного файла.

Angular: На фронте не отображается. Сохранить в состоянии компонента для будущих операций.

Example:
file-12345-67890
fileName
string

НЕОБЯЗАТЕЛЬНОЕ ПОЛЕ.

ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ.

Описание: Оригинальное наименование файла.

1C: Передавать оригинальное наименование загруженного файла.

Angular: На фронте отображается уведомление из макета “9. ‘‘Готов к расчету’’ - успешная загрузка ИД”:

“Файл “fileName” успешно загружен”.

Example:
Исходные данные.xlsx
Examples
{
    "actionMade": true,
    "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
    "scenarioStatus": "NEW",
    "files": [
        {
            "fileId": "file-12345-67890",
            "fileName": "Исходные данные.xlsx"
        }
    ]
}
200 OK

Структура ответа при ошибке (“actionMade” = “false”)

Body
Object
actionMade
boolean

Описание: Выполнены ли действия (запись/редактирование) И обработка файла исходных данных (НЕОБЯЗАТЕЛЬНО)? “true” - выполнено; “false” - не выполнено, то есть ошибка.

1C: Передавать “true” только при соблюдении трех условий одновременно (иначе “false”):

  1. Сценарий записан без ошибок И
  2. Успешное завершении процедуры парсинга Excel-файла (НЕОБЯЗАТЕЛЬНО, ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ) И
  3. Получение ответа от мат. модели с кодом “201” по запросу: POST /scenario/create (НЕОБЯЗАТЕЛЬНО, ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ)

Angular: На фронте не отображается. Быстрая индикация успешности операции.

Example:
false
errors
Array

Массив ошибок

Object
errorCode
string

Описание: Код ошибки.

1C: Код ошибки из таблицы “ГПН_Ошибки” из поля “КодОшибки”. Какой код передавать:

ОШИБКИ ПРИ ЗАПИСИ/РЕДАКТИРОВАНИИ:

  • "VALIDATION_ERROR", если в запросе приходит “null” в одном из полей (“scenarioName” или “planningDateStart” или “planningDateEnd”), то передавать код “VALIDATION_ERROR”.
  • "NO_PERMISSION", если у пользователя, сделавшего запрос нет прав на совершение этого действия (запись или редактирование), то передавать код “NO_PERMISSION”.
  • "SCENARIO_NAME_TOO_LONG", если в поле “scenarioName” пришло больше 150 символов, то передавать код “SCENARIO_NAME_TOO_LONG”.
  • "PLANNING_INTERVAL_INVALID", если в полях “planningDateStart” и “planningDateEnd” приходят различные месяцы, то передавать код “PLANNING_INTERVAL_INVALID”.
  • "DESCRIPTION_TOO_LONG", если в поле “description” пришло больше 999 символов, то передавать код “DESCRIPTION_TOO_LONG”.

ОШИБКИ ПРИ ОБРАБОТКЕ ФАЙЛА ИСХОДНЫХ ДАННЫХ: (ЕСЛИ ОН БЫЛ ПЕРЕДАН В ЗАПРОСЕ)

  • "INVALID_FILE_TYPE", если в запросе приходит файл не соответствующий одному из следующих форматов: “.xlsx“ и “.xlsm“, то передавать код “INVALID_FILE_TYPE”.
  • "TOO_MANY_FILES", если в запросе приходит несколько файлов, то передавать код “TOO_MANY_FILES”.
  • "FILE_TOO_LARGE", если в запросе приходит файл, размер которого превышает 5МБ, то передавать код “FILE_TOO_LARGE”.
  • "REMON_UNITS_INTERVAL_ERROR", если при обработке файла в поле “ДеньРемонта” из таблицы “ГПН_РемонтУстановок” происходит попытка записи даты, не входящей в интервал от “НачалоИнтервалаПланирования” до “КонецИнтервалаПланирования” из таблицы “ГПН_Сценарий”, то передавать код “REMON_UNITS_INTERVAL_ERROR”.
  • "REMON_DEVICES_INTERVAL_ERROR", если при обработке файла в поле “ДеньРемонта” из таблицы “ГПН_РемонтАппаратов” происходит попытка записи даты, не входящей в интервал от “НачалоИнтервалаПланирования” до “КонецИнтервалаПланирования” из таблицы “ГПН_Сценарий”, то передавать код “REMON_DEVICES_INTERVAL_ERROR”.
  • "POSTAVKA_SYRYA_SUTKI_INTERVAL_ERROR", если при обработке файла в поле “ДеньИнтервала” из таблицы “ГПН_ПоставкаСырьяДень” происходит попытка записи даты, не входящей в интервал от “НачалоИнтервалаПланирования” до “КонецИнтервалаПланирования” из таблицы “ГПН_Сценарий”, то передавать код “POSTAVKA_SYRYA_SUTKI_INTERVAL_ERROR”.
  • "JELAEMIY_GRAPHIK_GOTOVNOSTI_INTERVAL_ERROR", если при обработке файла в поле “ДеньИнтервала” из таблицы “ГПН_ЖелаемыйГрафикГотовности” происходит попытка записи даты, не входящей в интервал от “НачалоИнтервалаПланирования” до “КонецИнтервалаПланирования” из таблицы “ГПН_Сценарий”, то передавать код “JELAEMIY_GRAPHIK_GOTOVNOSTI_INTERVAL_ERROR”.

Angular: Действия на фронте в соответствии с кодом:

  • "VALIDATION_ERROR": подсветить красным поля “Наименование сценария” и “Интервал планирования”.
  • "SCENARIO_NAME_TOO_LONG": подсветить красным поле “Наименование сценария”.
  • "PLANNING_INTERVAL_INVALID": подсветить красным поле “Интервал планирования”.
  • "DESCRIPTION_TOO_LONG": подсветить красным поле “Описание”.
Example:
NO_PERMISSION
errorMessage
string

Описание: Текст ошибки.

1C: Текст ошибки из таблицы “ГПН_Ошибки” из поля “ТекстОшибки”.

Angular:

ЕСЛИ ОШИБКИ ПРИ ЗАПИСИ/РЕДАКТИРОВАНИИ:

Текст ошибки отображается снизу красным шрифтом в окне создания/редактирования сценария, расположенными в правой части экрана.

ЕСЛИ ОШИБКИ ПРИ ОБРАБОТКЕ ФАЙЛА ИСХОДНЫХ ДАННЫХ:

На фронте отображается уведомление из макета “8. Ошибка при добавление ИД”:

“Что-то пошло не так. + на следующей строке “errorMessage”

Example:
Нет прав на выполнение данного действия
Examples
{
    "actionMade": false,
    "errors": [
        {
            "errorCode": "NO_PERMISSION",
            "errorMessage": "Нет прав на выполнение данного действия"
        }
    ]
}
scenarioDelete
DELETE /scenario/delete

Удаление сценария. Вызывается при нажатии на кнопку “Удалить” в pop-up для подтверждения удаления.

Request parameters

scenarioId
string required

Описание: ID сценария.

1C: Удалить сценарий с полученным ID сценария, файл с исходными данными, а также удалить сценарий из БД мат. модели.

Angular: Передавать известный ID сценария.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f

Responses

200 OK

Структура ответа при успешном совершении действия (“actionMade” = “true”)

Body
Object
actionMade
boolean

Описание: Выполнено ли удаление? “true” - выполнено; “false” - не выполнено, то есть ошибка.

1C: Передавать “true” только при соблюдении двух условий одновременно (иначе “false”):

  1. Успешное удаление сценария из БД и файла с исходными данными И
  2. Получение ответа от мат. модели с кодом “202” по запросу: DELETE /scenario/{id_scenario}

Angular: На фронте не отображается. Быстрая индикация успешности операции.

Example:
true
Examples
{
    "actionMade": true
}
scenarioFile
POST /scenario/file

Добавление файла исходных данных к сценарию. Вызывается при нажатии на кнопку “Сохранить” в окне создания/редактирования сценария при наличие файла.

Request body

Object
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”. Для какого сценария необходимо запустить процедуру парсинга Excel-файла.

Angular: Передавать известный ID сценария.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
fileName
string

Описание: Оригинальное наименование загружаемого файла.

1C: Оригинальное наименование загружаемого файла. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования.

Angular: Передавать оригинальное наименование загружаемого файла вместе с его разрешением. Например: “Исходные данные.xlsx”.

Example:
Исходные данные.xlsx
file
string

Описание: Содержимое файла, бинарные данные.

1C: Содержимое файла, бинарные данные. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования. Файл, идущий на вход процедуры парсинга Excel-файла.

Angular: Передавать содержимое файла, бинарные данные.

Example:
0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/
Examples
{
    "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
    "fileName": "Исходные данные.xlsx",
    "file": "0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/"
}

Responses

200 OK

Структура ответа при успешной обработке файла (“actionMade” = “true”)

Body
Object
actionMade
boolean

Описание: Успешно ли завершилась обработка файла исходных данных? “true” - да, успешно; “false” - нет, есть ошибка.

1C: Передавать “true” только при соблюдении двух условий одновременно (иначе “false”):

  1. Успешное завершении процедуры парсинга Excel-файла И
  2. Получение ответа от мат. модели с кодом “201” по запросу: POST /scenario/create

Angular: При “actionMade” = “true” использовать макет “9. ‘‘Готов к расчету’’ - успешная загрузка ИД”.

Example:
true
fileId
string

Описание: ID загруженного файла.

1C: Передавать ID загруженного файла.

Angular: На фронте не отображается. Сохранить в состоянии компонента для будущих операций.

Example:
file-12345-67890
fileName
string

Описание: Оригинальное наименование файла.

1C: Передавать оригинальное наименование загруженного файла.

Angular: На фронте отображается уведомление из макета “9. ‘‘Готов к расчету’’ - успешная загрузка ИД”:

“Файл “fileName” успешно загружен”.

Example:
Исходные данные.xlsx
Examples
{
    "actionMade": true,
    "fileId": "file-12345-67890",
    "fileName": "Исходные данные.xlsx"
}
200 OK

Структура ответа при ошибке при обработке файла (“actionMade” = “false”)

Body
Object
actionMade
boolean

Описание: Успешно ли завершился парсинг Excel-файла? “true” - да, успешно; “false” - нет, есть ошибка.

1C: Передавать “true” при успешном завершении процедуры парсинга Excel-файла; “false” - при ошибке выполнения процедуры парсинга Excel-файла. Если произошла ошибка при обработке файла, то в этом сценарии не должно быть записей в таблице исходных данных.

Angular: При “actionMade” = “false” использовать макет “8. Ошибка при добавление ИД” + вывод “errorMessage”.

Example:
false
errors
Array
Object
errorCode
string

Описание: Код ошибки.

1C: Код ошибки из таблицы “ГПН_Ошибки” из поля “КодОшибки”.

  • "INVALID_FILE_TYPE", если в запросе приходит файл не соответствующий одному из следующих форматов: “.xlsx“ и “.xlsm“, то передавать код “INVALID_FILE_TYPE”.
  • "TOO_MANY_FILES", если в запросе приходит несколько файлов, то передавать код “TOO_MANY_FILES”.
  • "FILE_TOO_LARGE", если в запросе приходит файл, размер которого превышает 5МБ, то передавать код “FILE_TOO_LARGE”.
  • "REMON_UNITS_INTERVAL_ERROR", если при обработке файла в поле “ДеньРемонта” из таблицы “ГПН_РемонтУстановок” происходит попытка записи даты, не входящей в интервал от “НачалоИнтервалаПланирования” до “КонецИнтервалаПланирования” из таблицы “ГПН_Сценарий”, то передавать код “REMON_UNITS_INTERVAL_ERROR”.
  • "REMON_DEVICES_INTERVAL_ERROR", если при обработке файла в поле “ДеньРемонта” из таблицы “ГПН_РемонтАппаратов” происходит попытка записи даты, не входящей в интервал от “НачалоИнтервалаПланирования” до “КонецИнтервалаПланирования” из таблицы “ГПН_Сценарий”, то передавать код “REMON_DEVICES_INTERVAL_ERROR”.
  • "POSTAVKA_SYRYA_SUTKI_INTERVAL_ERROR", если при обработке файла в поле “ДеньИнтервала” из таблицы “ГПН_ПоставкаСырьяДень” происходит попытка записи даты, не входящей в интервал от “НачалоИнтервалаПланирования” до “КонецИнтервалаПланирования” из таблицы “ГПН_Сценарий”, то передавать код “POSTAVKA_SYRYA_SUTKI_INTERVAL_ERROR”.
  • "JELAEMIY_GRAPHIK_GOTOVNOSTI_INTERVAL_ERROR", если при обработке файла в поле “ДеньИнтервала” из таблицы “ГПН_ЖелаемыйГрафикГотовности” происходит попытка записи даты, не входящей в интервал от “НачалоИнтервалаПланирования” до “КонецИнтервалаПланирования” из таблицы “ГПН_Сценарий”, то передавать код “JELAEMIY_GRAPHIK_GOTOVNOSTI_INTERVAL_ERROR”.

Angular: На фронте не отображается.

Example:
INVALID_FILE_TYPE
errorMessage
string

Описание: Текст ошибки.

1C: Текст ошибки из таблицы “ГПН_Ошибки” из поля “ТекстОшибки”.

Angular: На фронте отображается уведомление из макета “8. Ошибка при добавление ИД”:

“Что-то пошло не так. + на следующей строке “errorMessage”

Example:
Ошибка. Формат загружаемого файла не соответствует допустимым форматам: ".xlsx" или ".xlsm".
Examples
{
    "actionMade": false,
    "errors": [
        {
            "errorCode": "INVALID_FILE_TYPE",
            "errorMessage": "Ошибка. Формат загружаемого файла не соответствует допустимым форматам: \".xlsx\" или \".xlsm\"."
        }
    ]
}
scenarioCalculate
POST /scenario/calculate

Метод для начала расчета сценария. Вызывается по кнопке “Рассчитать” в окне создания/редактирования сценария.

Request body

Object
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”.

Angular: Передавать известный ID сценария.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
Examples
{
    "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f"
}

Responses

200 OK

Структура ответа при успешном совершении действия (“actionMade” = “true”)

Body
Object
actionMade
boolean

Описание: Начался ли расчет сценария? “true” - да, начался; “false” - нет, ошибка, невозможно начать расчёт.

1C: Передавать “true” только при получении ответа от мат. модели с кодом “200” по запросу: POST /scenario/{id_scenario}/ru, иначе “false”

Angular: На фронте не отображается. Быстрая индикация успешности операции.

Example:
true
initialStatus
string

Описание: Статус сценария. В этом случае может быть только “WAIT”.

1C: Статус сценария из таблицы “ГПН_Сценарий” из поля “Статус”. В этом случае может быть только “WAIT” (“WAIT_CALCULATING” с мат. модели).

Angular: На фронте отображается уведомление из макета “12. ‘‘В процессе’’”, в хэдере статус “Ожидание”, если “initialStatus” = “WAIT”.

Example:
IN_PROGRESS
calculationId
string

ПОКА НЕ АКТУАЛЬНО

Example:
calc-12345-67890
queuePosition
integer

ПОКА НЕ АКТУАЛЬНО

Описание: Текущая позиция в очереди. “0”, если расчет начался сразу.

1C: Передавать текущую позицию в очереди (инфа с мат. модели). “0”, если расчет начался сразу.

Angular: Текущая позиция в очереди для оповещения пользователя.

Example:
1
estimatedWaitTime
string

ПОКА НЕ АКТУАЛЬНО

Примерное время ожидания для оповещения пользователя.

Example:
00:02:30
Examples
{
    "actionMade": true,
    "initialStatus": "IN_PROGRESS",
    "calculationId": "calc-12345-67890",
    "queuePosition": 1,
    "estimatedWaitTime": "00:02:30"
}
scenarioCalculationStatus
POST /scenario/calculationStatus

Метод для отслеживания статусов расчета сценариев. Начинать автоматический опрос каждые 20 секунд, если есть хотя бы один сценарий в статусах: “В процессе”, “Ожидание”. Вызывается до того момента, пока есть хотя бы один сценарий в статусах: “В процессе”, “Ожидание”.

Request body

Object
scenarios
Array

Массив списка сценариев для актуализации статусов

Object
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”.

Angular: Передавать известный ID сценария.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
Examples
{
    "scenarios": [
        {
            "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f"
        }
    ]
}

Responses

200 OK
Body
Object
scenarios
Array

Массив списка сценариев со статусами

Object
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”.

Angular: На фронте не отображается.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
calculationStatus
string

Описание: Текущий статус расчета сценария.

1C: Текущий статус расчета сценария из таблицы “ГПН_Сценарий” из поля “Статус”.

Angular: Текущий статус расчета сценария. Может принимать следующие значения:

На экране “Моделирование”:

  • "Ожидание", если “calculationStatus” = “WAIT” - макет 12. ‘‘В процессе’’, в хэдере статус “Ожидание”;
  • "В процессе", если “calculationStatus” = “IN_PROGRESS” - макет 12. ‘‘В процессе’’, в хэдере статус “В процессе”;
  • "Ошибка", если “calculationStatus” = “ERROR” - макет 14. ‘‘Ошибка’’, в хэдере статус “Ошибка”;
  • "Рассчитано", если “calculationStatus” = “CALCULATED” - макет 15. ‘‘Рассчитано’’, в хэдере статус “Рассчитано”.

На экране “Планирование”: обновлять статус в поле “Статус” в таблице сценариев.

Example:
IN_PROGRESS
progressBar
string

ПОКА НЕ АКТУАЛЬНО, ДЛЯ ПРОГРЕСС БАРА НА БУДУЩЕЕ

Example:
65
Examples
{
    "scenarios": [
        {
            "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
            "calculationStatus": "IN_PROGRESS",
            "progressBar": "65"
        }
    ]
}
scenarioCancelCalculation
POST /scenario/cancelCalculation

Метод для отмены расчета сценария. Вызывается при нажатии на кнопку “Отменить” на экране “Моделирование”. Прерывает запрос “scenarioCalculationStatus” для этого же сценария.

Request body

Object
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”. Установить статус “Отменен” у текущего сценария в таблице “ГПН_Сценарий” в поле “Статус”

Angular: Передавать известный ID сценария.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
Examples
{
    "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f"
}

Responses

200 OK

Структура ответа при успешной отмене расчета сценария (“actionMade” = “true”)

Body
Object
actionMade
boolean

Описание: Отменился ли расчет сценария? “true” - да, отменился; “false” - не отменился, ошибка при отмене.

1C: Передавать “true” только при получении ответа от мат. модели с кодом “200” по запросу: POST /scenario/{id_scenario}/cancel; “false” - при получении ответа от мат. модели с кодом “400” по запросу: POST /scenario/{id_scenario}/cancel

Angular: Если “actionMade” = “true”, то макет 13. ‘‘Отменен’’

Example:
true
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”.

Angular: На фронте не отображается.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
scenarioStatus
string

Описание: Текущий статус сцеанария.

1C: Текущий статус сцеанария из таблицы “ГПН_Сценарий” из поля “Статус”.

Angular: Если “CANCELLED”, то в хэдере статус “Отменен”.

Example:
CANCELLED
Examples
{
    "actionMade": true,
    "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
    "scenarioStatus": "CANCELLED"
}
200 OK

Структура ответа при ошибке в процессе отмена расчета сценария (“actionMade” = “false”)

Body
Object
actionMade
boolean

Описание: Отменился ли расчет сценария? “true” - да, отменился; “false” - не отменился, ошибка при отмене.

1C: Передавать “true” только при получении ответа от мат. модели с кодом “200” по запросу: POST /scenario/{id_scenario}/cancel; “false” - при получении ответа от мат. модели с кодом “400” по запросу: POST /scenario/{id_scenario}/cancel

Angular: На фронте не отображается.

Example:
false
errors
Array

Массив ошибок

Object
errorCode
string

Описание: Код ошибки.

1C: Код ошибки из таблицы “ГПН_Ошибки” из поля “КодОшибки”.

  • Поле “КодОшибки” = “CALCULATION_ALREADY_COMPLETED”: Если получен ответ от мат. модели с кодом “400” по запросу: POST /scenario/{id_scenario}/cancel, то передавать код “CALCULATION_ALREADY_COMPLETED”.

Angular: Сам код на фронте не отображается, на нем завязана логика вывода информационных сообщений.

Example:
CALCULATION_ALREADY_COMPLETED
errorMessage
string

Описание: Текст ошибки.

1C: Текст ошибки из таблицы “ГПН_Ошибки” из поля “ТекстОшибки”.

Angular: Если “КодОшибки” = “CALCULATION_ALREADY_COMPLETED” И

  • "scenarioStatus" = “CALCULATED”, то вывести “errorMessage” + переход на макет 15. ‘‘Рассчитано’’
  • "scenarioStatus" = “ERROR”, то вывести “errorMessage” + переход на макет 14. ‘‘Ошибка’’
Example:
Невозможно отменить завершенный расчет
scenarioStatus
string

Описание: Текущий статус сцеанария.

1C: Текущий статус сцеанария из таблицы “ГПН_Сценарий” из поля “Статус”.

Angular: Отображается в хэдере на экране “Моделирование”.

Example:
CALCULATED
Examples
{
    "actionMade": "false",
    "errors": [
        {
            "errorCode": "CALCULATION_ALREADY_COMPLETED",
            "errorMessage": "Невозможно отменить завершенный расчет"
        }
    ],
    "scenarioStatus": "CALCULATED"
}
Управление избранным
POST /favorites/write
favoritesWrite
POST /favorites/write

Добавление сценария в избранное ИЛИ удаление сценария из избранного. Вызывается при нажатии на звездочку.

Request body

Object
scenarioId
string

Описание: ID сценария.

1C: ID сценария из таблицы “ГПН_Сценарий”.

Angular: Передавать известный ID сценария.

Example:
6433548a-6b4a-45f6-b538-e0fc48d7c51f
favorite
boolean

Описание: Добавление сценария в избранное ИЛИ удаление сценария из избранного.

1C: Если “true”, то записать сценарий в таблицу “ГПН_Избранное”; “false” - удалить запись из таблицы “ГПН_Избранное”

Angular: Передавать “true” при добавлении в избранное; “false” - при удалении из избранного.

Example:
true
Examples
{
    "scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
    "favorite": true
}

Responses

200 OK

Структура ответа при успешном совершении действия (“actionMade” = “true”)

Body
Object
actionMade
boolean

Описание: Выполнено ли действие (запись/удаление)? “true” - выполнено; “false” - не выполнено, то есть ошибка.

1C: Передавать “true” при успешной записи/удалении; “false” - при ошибке записи/удаления.

Angular: Меняется заливка элемента «☆» на противоположную.

Example:
true
Examples
{
    "actionMade": true
}