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: Передавать значение, введенное в фильтре “Наименование” на экране “Планирование”.
Описание: Фильтрация по статасу сценариев с мультиселектом. Соответствие:
- “Новый” - “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”
Описание: Начало интервала планирования.
1C: Отбор по началу интервала планирования в таблице “ГПН_Сценарий” из поля “НачалоИнтервалаПланирования”.
Angular: Передавать дату начала интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”.
Описание: Конец интервала планирования.
1C: Отбор по концу интервала планирования в таблице “ГПН_Сценарий” из поля “КонецИнтервалаПланирования”.
Angular: Передавать дату конца интервала, заданного в фильтре “Интервал планирования” на экране “Планирование”.
Описание: Признак, который определяет какие сценарии будут отображаться на экране: только избранные сценарии или все сценарии, то есть в какой папке находится пользователь: “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-09-01T16:26:07+03:00",
"selectPlanningDateEnd": "2025-09-30T16:26:07+03:00",
"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": "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",
"changeDate": "2025-09-25T16:26:07+03:00",
"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”.
Examples
{
"scenarioId": "09de65a8-a0ac-49ca-b2dl-d2c99c04c109",
"scenarioName": "Сценарий №1",
"planningDateStart": "2025-09-01T00:00:00+03:00",
"planningDateEnd": "2025-09-30T23:59:59+03:00",
"description": "Описание для сценария №1"
}
Responses
Структура ответа при успешной записи (“actionMade” = “true”)
Body
Описание: Выполнено ли действие (запись/редактирование)? “true” - выполнено; “false” - не выполнено, то есть ошибка.
1C: Передавать “true” при успешной записи; “false” - при ошибке записи.
Angular: На фронте не отображается. Быстрая индикация успешности операции.
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: На фронте не отображается. Сохранить в состоянии компонента для будущих операций.
ПОКА ПОД ВОПРОСОМ
Описание: Тип операции: создание или редактирование.
1C: Тип операции: создание или редактирование. Если создание, то “CREATE”: если редактирование, то “UPDATE”
Angular: Логика вида правого окна может быть завязана на действие (“Создание” или “Редактирование”) и статус (“Новый” или “Готов к расчету”)
ПОКА ПОД ВОПРОСОМ
Описание:
1C:
Angular: Логика вида правого окна может быть завязана на действие (“Создание” или “Редактирование”) и статус (“Новый” или “Готов к расчету”)
Examples
{
"actionMade": true,
"scenarioId": "09de65a8-a0ac-49ca-b2dl-d2c99c04c109",
"operationType": "CREATE",
"scenarioStatus": "NEW"
}
Структура ответа при ошибке (“actionMade” = “false”)
Body
Описание: Выполнено ли действие (запись/редактирование)? “true” - выполнено; “false” - не выполнено, то есть ошибка.
1C: Передавать “true” при успешной записи; “false” - при ошибке записи.
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”.
Angular: Действия на фронте в соответствии с кодом:
- "VALIDATION_ERROR": подсветить красным поля “Наименование сценария” и “Интервал планирования”.
- "SCENARIO_NAME_TOO_LONG": подсветить красным поле “Наименование сценария”.
- "PLANNING_INTERVAL_INVALID": подсветить красным поле “Интервал планирования”.
- "DESCRIPTION_TOO_LONG": подсветить красным поле “Описание”.
Описание: Текст ошибки.
1C: Текст ошибки из таблицы “ГПН_Ошибки” из поля “ТекстОшибки”.
Angular: Текст ошибки отображается снизу красным шрифтом в окне создания/редактирования сценария, расположенными в правой части экрана.
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” - при ошибке удаления.
Angular: На фронте не отображается. Быстрая индикация успешности операции.
Examples
{
"actionMade": true
}
Добавление файла исходных данных к сценарию. Вызывается при нажатии на кнопку “Сохранить” в окне создания/редактирования сценария при наличие файла.
Request body
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”. Для какого сценария необходимо запустить процедуру парсинга Excel-файла.
Angular: Передавать известный ID сценария.
Описание: Оригинальное наименование загружаемого файла.
1C: Оригинальное наименование загружаемого файла. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования.
Angular: Передавать оригинальное наименование загружаемого файла вместе с его разрешением. Например: “Исходные данные.xlsx”.
Описание: Содержимое файла, бинарные данные.
1C: Содержимое файла, бинарные данные. Файл необходимо сохранить на сервере в директории: “???” с сохранением его оригинального наименования. Файл, идущий на вход процедуры парсинга Excel-файла.
Angular: Передавать содержимое файла, бинарные данные.
Examples
{
"scenarioId": "09de65a8-a0ac-49ca-b2dl-d2c99c04c109",
"fileName": "Исходные данные.xlsx",
"file": "0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/"
}
Responses
Структура ответа при успешной обработке файла (“actionMade” = “true”)
Body
Описание: Успешно ли завершился парсинг Excel-файла? “true” - да, успешно; “false” - нет, есть ошибка.
1C: Передавать “true” при успешном завершении процедуры парсинга Excel-файла; “false” - при ошибке выполнения процедуры парсинга Excel-файла.
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": "09de65a8-a0ac-49ca-b2dl-d2c99c04c109"
}
Responses
Структура ответа при успешном совершении действия (“actionMade” = “true”)
Body
Описание: Начался ли расчет сценария? “true” - да, начался; “false” - нет, ошибка, невозможно начать расчёт.
1C: Передавать “true” при успешном начале расчёта (инфа с мат. модели); “false” - при ошибке запуска расчёта (инфа с мат. модели).
Angular: На фронте не отображается. Быстрая индикация успешности операции.
Описание: Статус сценария. В этом случае может быть только “IN_PROGRESS” или “WAIT”.
1C: Статус сценария из таблицы “ГПН_Сценарий” из поля “Статус”. В этом случае может быть только “IN_PROGRESS” или “WAIT” (инфа с мат. модели).
Angular: На фронте отображается уведомление из макета “12. ‘‘В процессе’’”, в хэдере статус может быть:
- "Ожидание", если “initialStatus” = “WAIT”;
- "В процессе", если “initialStatus” = “IN_PROGRESS”.
ПОКА НЕ АКТУАЛЬНО
ПОКА НЕ АКТУАЛЬНО
Описание: Текущая позиция в очереди. “0”, если расчет начался сразу.
1C: Передавать текущую позицию в очереди (инфа с мат. модели). “0”, если расчет начался сразу.
Angular: Текущая позиция в очереди для оповещения пользователя.
ПОКА НЕ АКТУАЛЬНО
Примерное время ожидания для оповещения пользователя.
Examples
{
"actionMade": true,
"initialStatus": "IN_PROGRESS",
"calculationId": "calc-12345-67890",
"queuePosition": 1,
"estimatedWaitTime": "00:02:30"
}
Метод для отслеживания статуса сценария. При входе на экран “Моделирование” начинать автоматический опрос каждые 5 секунд до того момента, пока:
- Не придёт один из следующих статусов: “Ошибка”, “Рассчитано”.
- Не вызывался метод “scenarioCalculationStatus” для этого же “scenarioId”.
Request parameters
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: Передавать известный ID сценария.
Responses
Body
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: На фронте не отображается.
Описание: Текущий статус расчета сценария.
1C: Текущий статус расчета сценария из таблицы “ГПН_Сценарий” из поля “Статус”.
Angular: Текущий статус расчета сценария. Может принимать следующие значения:
На экране “Моделирование”:
- "Ожидание", если “initialStatus” = “WAIT” - макет 12. ‘‘В процессе’’, в хэдере статус “Ожидание”;
- "В процессе", если “initialStatus” = “IN_PROGRESS” - макет 12. ‘‘В процессе’’, в хэдере статус “В процессе”;
- "Ошибка", если “initialStatus” = “ERROR” - макет 14. ‘‘Ошибка’’, в хэдере статус “Ошибка”;
- "Рассчитано", если “initialStatus” = “CALCULATED” - макет 15. ‘‘Рассчитано’’, в хэдере статус “Рассчитано”.
На экране “Планирование”: обновлять статус в поле “Статус” в таблице сценариев.
ПОКА НЕ АКТУАЛЬНО, ДЛЯ ПРОГРЕСС БАРА НА БУДУЩЕЕ
Examples
{
"scenarioId": "09de65a8-a0ac-49ca-b2dl-d2c99c04c109",
"calculationStatus": "IN_PROGRESS",
"progress": 65
}
Метод для отмены расчета сценария. Вызывается при нажатии на кнопку “Отменить” на экране “Моделирование”. Прерывает запрос “scenarioCalculationStatus” для этого же сценария.
Request body
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”. Установить статус “Отменен” у текущего сценария в таблице “ГПН_Сценарий” в поле “Статус”
Angular: Передавать известный ID сценария.
Examples
{
"scenarioId": "09de65a8-a0ac-49ca-b2dl-d2c99c04c109"
}
Responses
Структура ответа при успешной отмене расчета сценария (“actionMade” = “true”)
Body
Описание: Отменился ли расчет сценария? “true” - да, отменился; “false” - не отменился, ошибка при отмене.
1C: Передавать “true” при успешной отмене расчета сценария; “false” - при ошибке при отмене расчета сценария.
Angular: Если “actionMade” = “true”, то макет 13. ‘‘Отменен’’
Описание: ID сценария.
1C: ID сценария из таблицы “ГПН_Сценарий”.
Angular: На фронте не отображается.
Описание: Текущий статус сцеанария.
1C: Текущий статус сцеанария из таблицы “ГПН_Сценарий” из поля “Статус”.
Angular: Если “CANCELLED”, то в хэдере статус “Отменен”.
Examples
{
"actionMade": true,
"scenarioId": "09de65a8-a0ac-49ca-b2dl-d2c99c04c109",
"scenarioStatus": "CANCELLED"
}
Структура ответа при ошибке в процессе отмена расчета сценария (“actionMade” = “false”)
Body
Описание: Отменился ли расчет сценария? “true” - да, отменился; “false” - не отменился, ошибка при отмене.
1C: Передавать “true” при успешной отмене расчета сценария; “false” - при ошибке при отмене расчета сценария.
Angular: На фронте не отображается.
Массив ошибок
Описание: Код ошибки.
1C: Код ошибки из таблицы “ГПН_Ошибки” из поля “КодОшибки”.
- Поле “КодОшибки” = “CALCULATION_ALREADY_COMPLETED”: Если расчёт уже завершен (“Статус” = “Ошибка” или “Рассчитано”), то передавать код “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": "5b234866-56c8-11ee-85e7-00505692a275",
"favorite": true
}
Responses
Структура ответа при успешном совершении действия (“actionMade” = “true”)
Body
Описание: Выполнено ли действие (запись/удаление)? “true” - выполнено; “false” - не выполнено, то есть ошибка.
1C: Передавать “true” при успешной записи/удалении; “false” - при ошибке записи/удаления.
Angular: Меняется заливка элемента «☆» на противоположную.
Examples
{
"actionMade": true
}