disp
Responses
Body
ID текущего пользователя
Отображаемое имя текущего пользователя (передается логин вместо ФИО)
Наименование роли пользователя
Ссылка на фотографию пользователя (должна генерироваться на бэке с учетом API Outlook и логина пользователя)
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"
}Информация о текущем пользователе
Responses
Body
Описание: ID текущего пользователя.
1C: ID текущего пользователя. Из справочника “Пользователи”.
Angular: На экран не выводится.
Описание: Логин пользователя. Доменная аутентификация.
1C: Логин текущего пользователя. Из справочника “Пользователи”.
Angular: ФИО текущего пользователя. Отображается на всех экранах системы в правом верхнем углу.
ПОКА НЕ АКТУАЛЬНО
Описание: Наименование роли пользователя.
1C: Наименование роли текущего пользователя.
Angular: Отображается на всех экранах системы в правом верхнем углу под ФИО.
ПОКА НЕ АКТУАЛЬНО
Описание: Ссылка на фотографию текущего пользователя.
1C: Ссылка на фотографию текущего пользователя. Должна генерироваться на бэке с учетом API Outlook и логина пользователя.
Angular: Отображается на всех экранах системы в правом верхнем углу слева от ФИО.
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"
}Запрос списка сценариев. Вызывается каждый раз при переходе на экран “Планирование”, при применении/сбросе фильтров, при смене папки со сценариями и при переходе по страницам сценариев.
Request body
Описание: Поиск по наименованию сценария.
1C: Отбор по наименованию сценария в таблице “ГПН_Сценарий” из поля “НаименованиеСценария”.
Angular: Передавать значение, введенное в фильтре “Наименование” на экране “Планирование”. При отсутствии значения передавать “null”.
Описание: Фильтрация по статасу сценариев с мультиселектом. Соответствие:
- “Новый” - “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”.
Описание: Начало интервала планирования.
1C: Отбор по началу интервала планирования в таблице “ГПН_Сценарий” из поля “НачалоИнтервалаПланирования”.
Angular: Передавать дату начала интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”. При отсутствии значения передавать “null”.
Описание: Конец интервала планирования.
1C: Отбор по концу интервала планирования в таблице “ГПН_Сценарий” из поля “КонецИнтервалаПланирования”.
Angular: Передавать дату конца интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”. При отсутствии значения передавать “null”.
Описание: Признак, который определяет какие сценарии будут отображаться на экране: только избранные сценарии или все сценарии, то есть в какой папке находится пользователь: “true” - “Избранные”; “false” - “Все сценарии”.
1C: “true” - применить дополнительный отбор по пользователю, сделавшему запрос - поле “Пользователь” в таблице “ГПН_Избранное” ; “false” - нет дополнительного отбора.
Angular: Передавать “true”, если пользователь находится в папке “Избранные” на экране “Планирование”. Передавать “false”, если пользователь находится в папке “Все сценарии” на экране “Планирование”.
Объект для передачи параметров сортировки для пагинации
Описание: Поле для сортировки.
1C: Полученный список сценариев после применения всех фильтров отсортировать по полученному параметру. Соответствие:
- “createDate” - поле “ДатаСоздания” из таблицы “ГПН_Сценарий”;
- “scenarioName” - поле “НаименованиеСценария” из таблицы “ГПН_Сценарий”;
- “planningDateStart” - поле “НачалоИнтервалаПланирования” из таблицы “ГПН_Сценарий”;
- “changeDate” - поле “ДатаИзменения” из таблицы “ГПН_Сценарий”.
Angular: Значение по умолчанию: “createDate”. Передавать значение по умолчанию, если не задана сортировка. Соответствие:
- “Дата создания” - “createDate”;
- “Наименование” - “scenarioName”;
- “Интервал планирования” - “planningDateStart”;
- “Дата изменения” - “changeDate”.
На текущем этапе у пользователя нет возможности задания сортировки.
Описание: Направление сортировки.
1C: Полученный список сценариев после применения всех фильтров отсортировать по полученному параметру в нужном направлении. “DESC” - сортировка данных в порядке убывания; “ASC” - сортировка данных в порядке возрастания.
Angular: Значение по умолчанию: “DESC”. Передавать значение по умолчанию, если не задана сортировка. “DESC” - сортировка данных в порядке убывания; “ASC” - сортировка данных в порядке возрастания.
На текущем этапе у пользователя нет возможности задания сортировки.
Объект для передачи параметров страниц для пагинации
Описание: Количество элементов на странице (25, 50, 75, 100).
1C: Полученное количество сценариев с учетом сортировки и применения всех фильтров нужно будет разделить на “pageSize” для получения количества страниц и передачи этого значения в ответе в поле “totalPages”.
+Валидация: проверяем соответствует ли переданное значение одному из допустимых значений (25, 50, 75, 100). Если соответствует, то используем без изменения; если не соответствует, то устанавливаем значение по умолчанию: 50.
Angular: Значение по умолчанию - “50”. Передавать выбранное пользователем значение из раскрывающегося списка. При смене значения в “pageSize” необходимо сбросить “pageNumber” на значение по умолчанию: “1”.
Описание: Номер текущей страницы (начинается с 1).
1C: Номер текущей страницы. Например, “pageSize” = “50”, “pageNumber” = “2” и полученное количество сценариев с учетом сортировки и применения всех фильтров равняется “500”. Значит в ответ в массив “scenarios” должны попасть вторые (“pageNumber” = “2”) 50 сценариев (“pageSize” = “50”).
+Валидация: Если номер страницы меньше “1”, то меняем на “1”. Если номер страницы больше максимального, то меняем на максимальный. Если нет данных - всё равно первая страница.
Angular: Значение по умолчанию - “1”. Передавать выбранное пользователем значение. При смене значения в “pageNumber”, значение в “pageSize” сохраняется.
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
Body
Описание: Массив для передачи списка сценариев, которые будут отображаться на фронте.
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: На экран не выводится.
Описание: Наименование сценария.
1C: Наименование сценария из таблицы “ГПН_Сценарий” из поля “НаименованиеСценария”.
Angular: Наименование сценария отображается в центральной области на экране “Планирование” в колонке “Наименование” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в заголовке.
Описание: Находится ли этот сценарий в папке “Избранное” для текущего пользователя: “true” - Да, находится"; “false” - Нет, не находится". Проверить есть ли этот сценарий в таблице “ГПН_Избранное” с отбором по пользователю, сделавшему запрос.
Фронт: “true” - элемент «☆» с золотой заливкой; “false” - элемент «☆» без заливки.
Описание: Статус сценария.
1C: Статус сценария из таблицы “ГПН_Сценарий” из поля “Статус”.
Angular: Статус сценария отображается в центральной области на экране “Планирование” в колонке “Наименование” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в рамке соответствующего цвета под заголовком с наименованием сценария.
Описание: Начало интервала планирования.
1C: Начало интервала планирования из таблицы “ГПН_Сценарий” из поля “НачалоИнтервалаПланирования”.
Angular: Первое из двух значений, отображаемых в центральной области на экране “Планирование” в колонке “Интервал планирования” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Интервал планирования”.
Описание: Конец интервала планирования.
1C: Конец интервала планирования из таблицы “ГПН_Сценарий” из поля “КонецИнтервалаПланирования”.
Angular: Второе из двух значений, отображаемых в центральной области на экране “Планирование” в колонке “Интервал планирования” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Интервал планирования”.
Описание: Дата создания сценария.
1C: Дата создания сценария из таблицы “ГПН_Сценарий” из поля “ДатаСоздания”.
Angular: Дата создания сценария отображается в центральной области на экране “Планирование” в колонке “Дата создания” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Дата Создания”.
Описание: Логин пользователя. ФИО пользователя.
1C: Логин пользователя из таблицы “ГПН_Сценарий” из поля “АвторСоздания”.
Angular: ФИО пользователя отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Автор создания”.
Описание: Дата изменения сценария.
1C: Дата изменения сценария из таблицы “ГПН_Сценарий” из поля “ДатаИзменения”. Если нет значения, то передавать “null”.
Angular: Дата изменения сценария отображается в центральной области на экране “Планирование” в колонке “Дата изменения” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Дата Изменения”. Если “null”, то ничего не отображается.
Описание: Логин пользователя. ФИО пользователя.
1C: Логин пользователя из таблицы “ГПН_Сценарий” из поля “АвторИзменения”. Если нет значения, то передавать “null”.
Angular: ФИО пользователя отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Автор изменения”. Если “null”, то ничего не отображается.
Описание: Описание сценария.
1C: Описание сценария из таблицы “ГПН_Сценарий” из поля “Описание”. Если нет значения, то передавать “null”.
Angular: Описание сценария отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Описание”. Если “null”, то ничего не отображается.
Описание: Текущая страница.
1C: “pageNumber” из запроса, если значение валидное ИЛИ значение, замененно на валидное.
Валидация: Если номер страницы меньше “1”, то меняем на “1”. Если номер страницы больше максимального, то меняем на максимальный. Если нет данных - всё равно первая страница.
Angular: Подсветка номера текущей страницы.
Описание: Размер страницы.
1C: “pageSize” из запроса, если значение валидное ИЛИ значение, замененно на валидное.
Валидация: проверяем соответствует ли переданное значение одному из допустимых значений (25, 50, 75, 100). Если соответствует, то используем без изменения; если не соответствует, то устанавливаем значение по умолчанию: 50.
Angular: Значение в рамке “Сценариев на странице”.
Описание: Общее количество записей.
1C: Полученное количество сценариев с учетом сортировки и применения всех фильтров.
Angular: Значение в подписи “Показано 1-100 сценариев из 500”
Описание: Общее количество страниц.
1C: “totalCount”/“pageSize”.
Angular: Номер последней страницы. Если страниц больше 7, то добавляется многоточие после 3 страницы, а после многоточия номер последней страницы.
Описание: Есть ли предыдущая страница?
1C: “false” - если “currentPage” = “1”, иначе “true”.
Angular: “false” - скрыть/заблокировать кнопки “Предыдущая страница” и “Первая страница”. “true” - показать/активировать кнопки “Предыдущая страница” и “Первая страница”.
Описание: Есть ли следующая страница?
1C: “false” - если “currentPage” = “totalPages”, иначе “true”.
Angular: “false” - скрыть/заблокировать кнопки “Следующая страница” и “Последняя страница”. “true” - показать/активировать кнопки “Следующая страница” и “Последняя страница”.
Массив значений для выпадающего списка статусов в фильтре “Статус”
Описание: Статус сценария.
1C: Передавать все коды статуса сценария из таблицы “ГПН_СтатусыСценариев” из поля “Комментарий”. Соответствие:
- “Новый” - “NEW”
- “ГотовКРасчету” - “READY”
- “ВПроцессе” - “IN_PROGRESS”
- “Отменен” - “CANCELLED”
- “Ошибка” - “ERROR”
- “Рассчитано” - “CALCULATED”
- “Ожидание” - “WAIT”
Angular: Список значений отображается в выпадающем списке в фильтре “Статус”. Соответствие:
- “NEW” - “Новый”
- “READY” - “Готов к расчету”
- “IN_PROGRESS” - “В процессе”
- “CANCELLED” - “Отменен”
- “ERROR” - “Ошибка”
- “CALCULATED” - “Рассчитано”
- “WAIT” - “Ожидание”
Описание: Количество сценариев в этом статусе.
1C: Количество сценариев в этом статусе. То есть количество записей с отбором по этому статусу из таблицы “ГПН_Сценарий”.
Angular: Список значений отображается в выпадающем списке в фильтре “Статус” следующим образом: “statusCode” + " (" + “count” + “)”. Например: “Новый (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
}
]
}Запрос списка сценариев
Request body
Описание: Поиск по наименованию сценария.
1C: Отбор по наименованию сценария в таблице “ГПН_Сценарии” из поля “НаименованиеСценария”.
Angular: Передавать значение, введенное в фильтре “Наименование” на экране “Планирование”.
Описание: Фильтрация по статасу сценариев с мультиселектом.
Может принимать следующие значения: “NEW” - “Новый”, “READY” - “Готов к расчету”, “IN_PROGRESS” - “В процессе”, “CANCELLED” - “Отменен”, “ERROR” - “Ошибка”, “CALCULATED” - “Рассчитано”, “WAIT” - “Ожидание”.
1C: Отбор по списку статусов сценария в таблице “ГПН_Сценарии” из поля “Статус”.
Angular: Передавать список заданных статусов в фильтре “Статус” на экране “Планирование”.
Описание: Начало интервала планирования.
1C: Отбор по началу интервала планирования в таблице “ГПН_Сценарии” из поля “НачалоИнтервалаПланирования”.
Angular: Передавать дату начала интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”.
Описание: Конец интервала планирования.
1C: Отбор по концу интервала планирования в таблице “ГПН_Сценарии” из поля “КонецИнтервалаПланирования”.
Angular: Передавать дату конца интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”.
Описание: Для пагинации - текущее количество отображаемых на фронте записей (сценариев).
1C:
Angular:
Описание: Для пагинации - количество записей которое нужно вернуть с бэка.
1C:
Angular:
Описание: Признак, который определяет какие сценарии будут отображаться на экране: только избранные сценарии или все сценарии, то есть в какой папке находится пользователь: “true” - “Избранные”; “false” - “Все сценарии”.
1C: “true” - применить дополнительный отбор по пользователю, сделавшему запрос - поле “Пользователь” в таблице “ГПН_Избранное” ; “false” - нет дополнительного отбора.
Angular: Передавать “true”, если пользователь находится в папке “Избранные” на экране “Планирование”. Передавать “false”, если пользователь находится в папке “Все сценарии” на экране “Планирование”.
Объект для передачи параметров сортировки для пагинации
Описание: Поле для сортировки.
1C: Полученный список сценариев после применения всех фильтров отсортировать по полученному параметру. “createDate” - поле “ДатаСоздания” из таблицы “ГПН_Сценарии”.
Angular: Всегда передавать “createDate”.
Описание: Направление сортировки.
1C: Полученный список сценариев после применения всех фильтров отсортировать по полученному параметру в нужном направлении. “DESC” - сортировка данных в порядке убывания; “ASC” - сортировка данных в порядке возрастания.
Angular: Всегда передавать “DESC”.
Объект для передачи параметров страниц для пагинации
Описание: Количество элементов на странице (25, 50, 75, 100).
1C: Полученное количество сценариев с учетом сортировки и применения всех фильтров нужно будет разделить на “pageSize” для получения количества страниц и передачи этого значения в ответе в поле “totalPages”.
+Валидация: проверяем соответствует ли переданное значение одному из допустимых значений (25, 50, 75, 100). Если соответствует, то используем без изменения; если не соответствует, то устанавливаем значение по умолчанию: 50.
Angular: Передавать выбранное пользователем значение из раскрывающегося списка. При смене значения “pageNumber” сбрасывается на “1”.
Описание: Номер текущей страницы (начинается с 1).
1C: Номер текущей страницы. Например, “pageSize” = “50”, “pageNumber” = “2” и полученное количество сценариев с учетом сортировки и применения всех фильтров равняется “500”. Значит в ответ в массив “scenarios” должны попасть вторые (“pageNumber” = “2”) 50 сценариев (“pageSize” = “50”).
+Валидация: Если номер страницы меньше “1”, то меняем на “1”. Если номер страницы больше максимального, то меняем на максимальный. Если нет данных - всё равно первая страница.
Angular: Передавать выбранное пользователем значение. При смене значения “pageSize” сохраняется.
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
Body
Описание: Массив для передачи списка сценариев, которые будут отображаться на фронте.
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарии”.
Angular: На экран не выводится.
Описание: Наименование сценария.
1C: Наименование сценария из таблицы “ГПН_Сценарии” из поля “НаименованиеСценария”.
Angular: Наименование сценария отображается в центральной области на экране “Планирование” в колонке “Наименование” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в заголовке.
Описание: Находится ли этот сценарий в папке “Избранное” для текущего пользователя: “true” - Да, находится"; “false” - Нет, не находится". Проверить есть ли этот сценарий в таблице “ГПН_Избранное” с отбором по пользователю, сделавшему запрос.
Фронт: “true” - символ «☆» с золотой заливкой; “false” - символ «☆» без заливки.
Описание: Статус сценария.
1C: Статус сценария из таблицы “ГПН_Сценарии” из поля “Статус”.
Angular: Статус сценария отображается в центральной области на экране “Планирование” в колонке “Наименование” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в рамке соответствующего цвета под заголовком с наименованием сценария.
Описание: Начало интервала планирования.
1C: Начало интервала планирования из таблицы “ГПН_Сценарии” из поля “НачалоИнтервалаПланирования”.
Angular: Первое из двух значений, отображаемых в центральной области на экране “Планирование” в колонке “Интервал планирования” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Интервал планирования”.
Описание: Конец интервала планирования.
1C: Конец интервала планирования из таблицы “ГПН_Сценарии” из поля “КонецИнтервалаПланирования”.
Angular: Второе из двух значений, отображаемых в центральной области на экране “Планирование” в колонке “Интервал планирования” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Интервал планирования”.
Описание: Дата создания сценария.
1C: Дата создания сценария из таблицы “ГПН_Сценарии” из поля “ДатаСоздания”.
Angular: Дата создания сценария отображается в центральной области на экране “Планирование” в колонке “Дата создания” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Дата Создания”.
Описание: Логин пользователя.
1C: Логин пользователя из справочника “Пользователи”.
Angular: На экран не выводится.
Описание: ФИО пользователя.
1C: ФИО пользователя из таблицы “ГПН_Сценарии” из поля “АвторСоздания”.
Angular: ФИО пользователя отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Автор Создания”.
Описание: Дата изменения сценария.
1C: Дата изменения сценария из таблицы “ГПН_Сценарии” из поля “ДатаИзменения”. Если нет значения, то передавать “null”.
Angular: Дата изменения сценария отображается в центральной области на экране “Планирование” в колонке “Дата изменения” и в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, в поле “Дата Изменения”. Если “null”, то ничего не отображается.
Описание: Логин пользователя.
1C: Логин пользователя из справочника “Пользователи”.
Angular: На экран не выводится.
Описание: ФИО пользователя.
1C: ФИО пользователя из таблицы “ГПН_Сценарии” из поля “АвторИзменения”. Если нет значения, то передавать “null”.
Angular: ФИО пользователя отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Автор Изменения”. Если “null”, то ничего не отображается.
Описание: Описание сценария.
1C: Описание сценария из таблицы “ГПН_Сценарии” из поля “Описание”. Если нет значения, то передавать “null”.
Angular: Описание сценария отображается в окне с дополнительной информацией по выбранному сценарию, расположенному в правой части экрана, на экране “Планирование” в поле “Описание”. Если “null”, то ничего не отображается.
Описание: Текущая страница.
1C: “pageNumber” из запроса, если значение валидное ИЛИ значение, замененно на валидное (описание в запросе).
Angular: Подсветка номера текущей страницы.
Описание: Размер страницы.
1C: “pageSize” из запроса, если значение валидное ИЛИ значение, замененно на валидное (описание в запросе).
Angular: Значение в рамке “Сценариев на странице”.
Описание: Общее количество записей.
1C: Полученное количество сценариев с учетом сортировки и применения всех фильтров.
Angular: Значение в подписи “Показано 1-100 сценариев из 500”
Описание: Общее количество страниц.
1C: “totalCount”/“pageSize”.
Angular: Номер последней страницы. Если страниц больше 10, то добавляется многоточие после 3 страницы, а после многоточия номер последней страницы.
Описание: Есть ли предыдущая страница?
1C: “false” - если “currentPage” = “1”, иначе “true”.
Angular: “false” - скрыть/заблокировать кнопки “Предыдущая страница” и “Первая страница”. “true” - показать/активировать кнопки “Предыдущая страница” и “Первая страница”.
Описание: Есть ли следующая страница?
1C: “false” - если “currentPage” = “totalPages”, иначе “true”.
Angular: “false” - скрыть/заблокировать кнопки “Следующая страница” и “Последняя страница”. “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
}
}Создание/редактирование сценария. Вызывается при нажатии на кнопку “Сохранить” в окне создания/редактирования сценария.
Request body
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”. Если “null”, то это создаие сценария и ID нужно сгенерировать; если значение есть, то это редактирование сценария.
- Поле “Статус” в таблице “ГПН_Сценарий”: Если “scenarioId” = “null”, то записать значение “Новый”, иначе оставить текущее значение без изменений.
Angular: При создании сценария передавать “null”. При редактировании сценария передавать известный ID сценария.
Описание: Наименование сценария.
1C: Записать наименование сценария в таблицу “ГПН_Сценарий” в поле “НаименованиеСценария”.
Angular: Наименование сценария задается в окне создания или в окне редактирования сценария, расположенными в правой части экрана. Обязательное поле.
Описание: Начало интервала планирования сценария.
1C: Записать начало интервала планирования в таблицу “ГПН_Сценарий” в поле “НачалоИнтервалаПланирования”.
Angular: Начало интервала планирования сценария задается в окне создания или в окне редактирования сценария, расположенными в правой части экрана. Обязательное поле. Приводить к началу дня.
Описание: Конец интервала планирования сценария.
1C: Записать конец интервала планирования в таблицу “ГПН_Сценарий” в поле “КонецИнтервалаПланирования”.
Angular: Конец интервала планирования сценария задается в окне создания или в окне редактирования сценария, расположенными в правой части экрана. Обязательное поле. Приводить к началу дня.
Описание: Описание сценария.
1C: Записать описание сценария в таблицу “ГПН_Сценарий” в поле “Описание”.
Angular: Описание сценария задается в окне создания или в окне редактирования сценария, расположенными в правой части экрана. Необязательное поле: если значение не задается, то передавать “null”.
НЕОБЯЗАТЕЛЬНЫЙ МАССИВ ДЛЯ ЗАГРУЗКИ ФАЙЛА.
ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ ПОЛЬЗОВАТЕЛЬ ДОБАВЛЯЕТ ФАЙЛ ПРИ СОЗДАНИИ СЦЕНАРИЯ.
ПРИ РЕДАКТИРОВАНИИ СЦЕНАРИЯ МАССИВ НЕ ПЕРАДЕТСЯ.
НЕОБЯЗАТЕЛЬНОЕ ПОЛЕ.
ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ ПОЛЬЗОВАТЕЛЬ ДОБАВЛЯЕТ ФАЙЛ ПРИ СОЗДАНИИ СЦЕНАРИЯ.
ПРИ РЕДАКТИРОВАНИИ СЦЕНАРИЯ НЕ ПЕРАДЕТСЯ.
Описание: Оригинальное наименование загружаемого файла.
1C: Оригинальное наименование загружаемого файла. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования.
Angular: Передавать оригинальное наименование загружаемого файла вместе с его разрешением. Например: “Исходные данные.xlsx”.
НЕОБЯЗАТЕЛЬНОЕ ПОЛЕ.
ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ ПОЛЬЗОВАТЕЛЬ ДОБАВЛЯЕТ ФАЙЛ ПРИ СОЗДАНИИ СЦЕНАРИЯ.
ПРИ РЕДАКТИРОВАНИИ СЦЕНАРИЯ НЕ ПЕРАДЕТСЯ.
Описание: Содержимое файла, бинарные данные.
1C: Содержимое файла, бинарные данные. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования. Файл, идущий на вход процедуры парсинга Excel-файла.
Angular: Передавать содержимое файла, бинарные данные.
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
Структура ответа при успехе (“actionMade” = “true”)
Body
Описание: Выполнены ли действия (запись/редактирование) И обработка файла исходных данных (НЕОБЯЗАТЕЛЬНО)? “true” - выполнено; “false” - не выполнено, то есть ошибка.
1C: Передавать “true” только при соблюдении трех условий одновременно (иначе “false”):
- Сценарий записан без ошибок И
- Успешное завершении процедуры парсинга Excel-файла (НЕОБЯЗАТЕЛЬНО, ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ) И
- Получение ответа от мат. модели с кодом “201” по запросу: POST /scenario/create (НЕОБЯЗАТЕЛЬНО, ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ)
Angular: На фронте не отображается. Быстрая индикация успешности операции.
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: На фронте не отображается. Сохранить в состоянии компонента для будущих операций.
Описание: Статус сценария “Новый” или “Готов к расчету”.
1C: Статус сценария: Если “Новый”, то “NEW”; если “Готов к расчету”, то “READY”
Angular: Логика вида правого окна может завязана на статус (“Новый” или “Готов к расчету”)
- Если “scenarioStatus” = “NEW”, то макет “4. ‘‘Новый’’ - без ИД”.
- Если “scenarioStatus” = “READY”, то макет “10. ‘‘Готов к рассчету’’ - с ИД”.
НЕОБЯЗАТЕЛЬНЫЙ МАССИВ.
ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ.
НЕОБЯЗАТЕЛЬНОЕ ПОЛЕ.
ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ.
Описание: ID загруженного файла.
1C: Передавать ID загруженного файла.
Angular: На фронте не отображается. Сохранить в состоянии компонента для будущих операций.
НЕОБЯЗАТЕЛЬНОЕ ПОЛЕ.
ПЕРЕДАЕТСЯ ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ.
Описание: Оригинальное наименование файла.
1C: Передавать оригинальное наименование загруженного файла.
Angular: На фронте отображается уведомление из макета “9. ‘‘Готов к расчету’’ - успешная загрузка ИД”:
“Файл “fileName” успешно загружен”.
Examples
{
"actionMade": true,
"scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
"scenarioStatus": "NEW",
"files": [
{
"fileId": "file-12345-67890",
"fileName": "Исходные данные.xlsx"
}
]
}Структура ответа при ошибке (“actionMade” = “false”)
Body
Описание: Выполнены ли действия (запись/редактирование) И обработка файла исходных данных (НЕОБЯЗАТЕЛЬНО)? “true” - выполнено; “false” - не выполнено, то есть ошибка.
1C: Передавать “true” только при соблюдении трех условий одновременно (иначе “false”):
- Сценарий записан без ошибок И
- Успешное завершении процедуры парсинга Excel-файла (НЕОБЯЗАТЕЛЬНО, ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ) И
- Получение ответа от мат. модели с кодом “201” по запросу: POST /scenario/create (НЕОБЯЗАТЕЛЬНО, ТОЛЬКО ЕСЛИ В ЗАПРОСЕ БЫЛ ПЕРЕДАН ФАЙЛ)
Angular: На фронте не отображается. Быстрая индикация успешности операции.
Массив ошибок
Описание: Код ошибки.
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": подсветить красным поле “Описание”.
Описание: Текст ошибки.
1C: Текст ошибки из таблицы “ГПН_Ошибки” из поля “ТекстОшибки”.
Angular:
ЕСЛИ ОШИБКИ ПРИ ЗАПИСИ/РЕДАКТИРОВАНИИ:
Текст ошибки отображается снизу красным шрифтом в окне создания/редактирования сценария, расположенными в правой части экрана.
ЕСЛИ ОШИБКИ ПРИ ОБРАБОТКЕ ФАЙЛА ИСХОДНЫХ ДАННЫХ:
На фронте отображается уведомление из макета “8. Ошибка при добавление ИД”:
“Что-то пошло не так. + на следующей строке “errorMessage”
Examples
{
"actionMade": false,
"errors": [
{
"errorCode": "NO_PERMISSION",
"errorMessage": "Нет прав на выполнение данного действия"
}
]
}Удаление сценария. Вызывается при нажатии на кнопку “Удалить” в pop-up для подтверждения удаления.
Request parameters
Описание: ID сценария.
1C: Удалить сценарий с полученным ID сценария, файл с исходными данными, а также удалить сценарий из БД мат. модели.
Angular: Передавать известный ID сценария.
Responses
Структура ответа при успешном совершении действия (“actionMade” = “true”)
Body
Описание: Выполнено ли удаление? “true” - выполнено; “false” - не выполнено, то есть ошибка.
1C: Передавать “true” только при соблюдении двух условий одновременно (иначе “false”):
- Успешное удаление сценария из БД и файла с исходными данными И
- Получение ответа от мат. модели с кодом “202” по запросу: DELETE /scenario/{id_scenario}
Angular: На фронте не отображается. Быстрая индикация успешности операции.
Examples
{
"actionMade": true
}Добавление файла исходных данных к сценарию. Вызывается при нажатии на кнопку “Сохранить” в окне создания/редактирования сценария при наличие файла.
Request body
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”. Для какого сценария необходимо запустить процедуру парсинга Excel-файла.
Angular: Передавать известный ID сценария.
Описание: Оригинальное наименование загружаемого файла.
1C: Оригинальное наименование загружаемого файла. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования.
Angular: Передавать оригинальное наименование загружаемого файла вместе с его разрешением. Например: “Исходные данные.xlsx”.
Описание: Содержимое файла, бинарные данные.
1C: Содержимое файла, бинарные данные. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования. Файл, идущий на вход процедуры парсинга Excel-файла.
Angular: Передавать содержимое файла, бинарные данные.
Examples
{
"scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
"fileName": "Исходные данные.xlsx",
"file": "0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/"
}Responses
Структура ответа при успешной обработке файла (“actionMade” = “true”)
Body
Описание: Успешно ли завершилась обработка файла исходных данных? “true” - да, успешно; “false” - нет, есть ошибка.
1C: Передавать “true” только при соблюдении двух условий одновременно (иначе “false”):
- Успешное завершении процедуры парсинга Excel-файла И
- Получение ответа от мат. модели с кодом “201” по запросу: POST /scenario/create
Angular: При “actionMade” = “true” использовать макет “9. ‘‘Готов к расчету’’ - успешная загрузка ИД”.
Описание: ID загруженного файла.
1C: Передавать ID загруженного файла.
Angular: На фронте не отображается. Сохранить в состоянии компонента для будущих операций.
Описание: Оригинальное наименование файла.
1C: Передавать оригинальное наименование загруженного файла.
Angular: На фронте отображается уведомление из макета “9. ‘‘Готов к расчету’’ - успешная загрузка ИД”:
“Файл “fileName” успешно загружен”.
Examples
{
"actionMade": true,
"fileId": "file-12345-67890",
"fileName": "Исходные данные.xlsx"
}Структура ответа при ошибке при обработке файла (“actionMade” = “false”)
Body
Описание: Успешно ли завершился парсинг Excel-файла? “true” - да, успешно; “false” - нет, есть ошибка.
1C: Передавать “true” при успешном завершении процедуры парсинга Excel-файла; “false” - при ошибке выполнения процедуры парсинга Excel-файла. Если произошла ошибка при обработке файла, то в этом сценарии не должно быть записей в таблице исходных данных.
Angular: При “actionMade” = “false” использовать макет “8. Ошибка при добавление ИД” + вывод “errorMessage”.
Описание: Код ошибки.
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: На фронте не отображается.
Описание: Текст ошибки.
1C: Текст ошибки из таблицы “ГПН_Ошибки” из поля “ТекстОшибки”.
Angular: На фронте отображается уведомление из макета “8. Ошибка при добавление ИД”:
“Что-то пошло не так. + на следующей строке “errorMessage”
Examples
{
"actionMade": false,
"errors": [
{
"errorCode": "INVALID_FILE_TYPE",
"errorMessage": "Ошибка. Формат загружаемого файла не соответствует допустимым форматам: \".xlsx\" или \".xlsm\"."
}
]
}Метод для начала расчета сценария. Вызывается по кнопке “Рассчитать” в окне создания/редактирования сценария.
Request body
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: Передавать известный ID сценария.
Examples
{
"scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f"
}Responses
Структура ответа при успешном совершении действия (“actionMade” = “true”)
Body
Описание: Начался ли расчет сценария? “true” - да, начался; “false” - нет, ошибка, невозможно начать расчёт.
1C: Передавать “true” только при получении ответа от мат. модели с кодом “200” по запросу: POST /scenario/{id_scenario}/ru, иначе “false”
Angular: На фронте не отображается. Быстрая индикация успешности операции.
Описание: Статус сценария. В этом случае может быть только “WAIT”.
1C: Статус сценария из таблицы “ГПН_Сценарий” из поля “Статус”. В этом случае может быть только “WAIT” (“WAIT_CALCULATING” с мат. модели).
Angular: На фронте отображается уведомление из макета “12. ‘‘В процессе’’”, в хэдере статус “Ожидание”, если “initialStatus” = “WAIT”.
ПОКА НЕ АКТУАЛЬНО
ПОКА НЕ АКТУАЛЬНО
Описание: Текущая позиция в очереди. “0”, если расчет начался сразу.
1C: Передавать текущую позицию в очереди (инфа с мат. модели). “0”, если расчет начался сразу.
Angular: Текущая позиция в очереди для оповещения пользователя.
ПОКА НЕ АКТУАЛЬНО
Примерное время ожидания для оповещения пользователя.
Examples
{
"actionMade": true,
"initialStatus": "IN_PROGRESS",
"calculationId": "calc-12345-67890",
"queuePosition": 1,
"estimatedWaitTime": "00:02:30"
}Метод для отслеживания статусов расчета сценариев. Начинать автоматический опрос каждые 20 секунд, если есть хотя бы один сценарий в статусах: “В процессе”, “Ожидание”. Вызывается до того момента, пока есть хотя бы один сценарий в статусах: “В процессе”, “Ожидание”.
Request body
Массив списка сценариев для актуализации статусов
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: Передавать известный ID сценария.
Examples
{
"scenarios": [
{
"scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f"
}
]
}Responses
Body
Массив списка сценариев со статусами
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: На фронте не отображается.
Описание: Текущий статус расчета сценария.
1C: Текущий статус расчета сценария из таблицы “ГПН_Сценарий” из поля “Статус”.
Angular: Текущий статус расчета сценария. Может принимать следующие значения:
На экране “Моделирование”:
- "Ожидание", если “calculationStatus” = “WAIT” - макет 12. ‘‘В процессе’’, в хэдере статус “Ожидание”;
- "В процессе", если “calculationStatus” = “IN_PROGRESS” - макет 12. ‘‘В процессе’’, в хэдере статус “В процессе”;
- "Ошибка", если “calculationStatus” = “ERROR” - макет 14. ‘‘Ошибка’’, в хэдере статус “Ошибка”;
- "Рассчитано", если “calculationStatus” = “CALCULATED” - макет 15. ‘‘Рассчитано’’, в хэдере статус “Рассчитано”.
На экране “Планирование”: обновлять статус в поле “Статус” в таблице сценариев.
ПОКА НЕ АКТУАЛЬНО, ДЛЯ ПРОГРЕСС БАРА НА БУДУЩЕЕ
Examples
{
"scenarios": [
{
"scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
"calculationStatus": "IN_PROGRESS",
"progressBar": "65"
}
]
}Метод для отмены расчета сценария. Вызывается при нажатии на кнопку “Отменить” на экране “Моделирование”. Прерывает запрос “scenarioCalculationStatus” для этого же сценария.
Request body
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”. Установить статус “Отменен” у текущего сценария в таблице “ГПН_Сценарий” в поле “Статус”
Angular: Передавать известный ID сценария.
Examples
{
"scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f"
}Responses
Структура ответа при успешной отмене расчета сценария (“actionMade” = “true”)
Body
Описание: Отменился ли расчет сценария? “true” - да, отменился; “false” - не отменился, ошибка при отмене.
1C: Передавать “true” только при получении ответа от мат. модели с кодом “200” по запросу: POST /scenario/{id_scenario}/cancel; “false” - при получении ответа от мат. модели с кодом “400” по запросу: POST /scenario/{id_scenario}/cancel
Angular: Если “actionMade” = “true”, то макет 13. ‘‘Отменен’’
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: На фронте не отображается.
Описание: Текущий статус сцеанария.
1C: Текущий статус сцеанария из таблицы “ГПН_Сценарий” из поля “Статус”.
Angular: Если “CANCELLED”, то в хэдере статус “Отменен”.
Examples
{
"actionMade": true,
"scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
"scenarioStatus": "CANCELLED"
}Структура ответа при ошибке в процессе отмена расчета сценария (“actionMade” = “false”)
Body
Описание: Отменился ли расчет сценария? “true” - да, отменился; “false” - не отменился, ошибка при отмене.
1C: Передавать “true” только при получении ответа от мат. модели с кодом “200” по запросу: POST /scenario/{id_scenario}/cancel; “false” - при получении ответа от мат. модели с кодом “400” по запросу: POST /scenario/{id_scenario}/cancel
Angular: На фронте не отображается.
Массив ошибок
Описание: Код ошибки.
1C: Код ошибки из таблицы “ГПН_Ошибки” из поля “КодОшибки”.
- Поле “КодОшибки” = “CALCULATION_ALREADY_COMPLETED”: Если получен ответ от мат. модели с кодом “400” по запросу: POST /scenario/{id_scenario}/cancel, то передавать код “CALCULATION_ALREADY_COMPLETED”.
Angular: Сам код на фронте не отображается, на нем завязана логика вывода информационных сообщений.
Описание: Текст ошибки.
1C: Текст ошибки из таблицы “ГПН_Ошибки” из поля “ТекстОшибки”.
Angular: Если “КодОшибки” = “CALCULATION_ALREADY_COMPLETED” И
- "scenarioStatus" = “CALCULATED”, то вывести “errorMessage” + переход на макет 15. ‘‘Рассчитано’’
- "scenarioStatus" = “ERROR”, то вывести “errorMessage” + переход на макет 14. ‘‘Ошибка’’
Описание: Текущий статус сцеанария.
1C: Текущий статус сцеанария из таблицы “ГПН_Сценарий” из поля “Статус”.
Angular: Отображается в хэдере на экране “Моделирование”.
Examples
{
"actionMade": "false",
"errors": [
{
"errorCode": "CALCULATION_ALREADY_COMPLETED",
"errorMessage": "Невозможно отменить завершенный расчет"
}
],
"scenarioStatus": "CALCULATED"
}Добавление сценария в избранное ИЛИ удаление сценария из избранного. Вызывается при нажатии на звездочку.
Request body
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: Передавать известный ID сценария.
Описание: Добавление сценария в избранное ИЛИ удаление сценария из избранного.
1C: Если “true”, то записать сценарий в таблицу “ГПН_Избранное”; “false” - удалить запись из таблицы “ГПН_Избранное”
Angular: Передавать “true” при добавлении в избранное; “false” - при удалении из избранного.
Examples
{
"scenarioId": "6433548a-6b4a-45f6-b538-e0fc48d7c51f",
"favorite": true
}Responses
Структура ответа при успешном совершении действия (“actionMade” = “true”)
Body
Описание: Выполнено ли действие (запись/удаление)? “true” - выполнено; “false” - не выполнено, то есть ошибка.
1C: Передавать “true” при успешной записи/удалении; “false” - при ошибке записи/удаления.
Angular: Меняется заливка элемента «☆» на противоположную.
Examples
{
"actionMade": true
}