Изменения документа VKPHT. Релиз нота R4 (24Q1)
Редактировал(а) Александра Баруткина 2024/06/27 13:20
От версии 5.1
отредактировано Александра Баруткина
на 2024/05/28 08:44
на 2024/05/28 08:44
Изменить комментарий:
К данной версии нет комментариев
К версии 12.1
отредактировано Александра Баруткина
на 2024/06/21 11:49
на 2024/06/21 11:49
Изменить комментарий:
К данной версии нет комментариев
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,3 +1,5 @@ 1 +{{toc/}} 2 + 1 1 = ADM. Управление правами доступа = 2 2 3 3 В этом релизе мы выпускаем модуль "Управление правами доступа" и на данном этапе мы умеем защищать представления, методы работы с таблицами реализованными через Hateoas (все справочники в Админ.Панели), исполняемые методы (вариант 2) - возможность их запустить или нет, и исполняемые методы с указанием допустимых значений (вариант 3). ... ... @@ -14,6 +14,7 @@ 14 14 15 15 Всё это позволяет максимально гибко настроить систему и через Административные панели системы выстраивать матрицу ролей и их полномочия. 16 16 19 +(% class="table-bordered" %) 17 17 |**Тема**|**Описание **|**Задача RM** 18 18 |Реализация экранных форм с помощью административных панелей - "Управление правами доступа"|((( 19 19 * Реализована модель данных ... ... @@ -74,28 +74,358 @@ 74 74 75 75 = AWA. Управление нотификациями = 76 76 77 -(% style="width:1109px" %) 80 +(% class="table-bordered" style="width:1109px" %) 78 78 |**Тема**|**Описание **|**Задача RM** 79 79 | | |(% style="width:252px" %) 80 -| |Добавлена возможность просмотра почт у выбранных подразделений: при нажатии на кнопку "Список адресов" открывается попап "Список адресатов" с перечнем почт сотрудников подразделения, которым отправится уведомление.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101679>>url:https://redmine.goodt.me/issues/101679]] 81 -| |Отредактированы данные таблиц бд notification на стенде [[https:~~/~~/vkpht-dev.goodt.me>>url:https://vkpht-dev.goodt.me/editor/#/apps]] для миграции: 83 +|Отредактированы данные таблиц бд notification на стенде [[https:~~/~~/vkpht-dev.goodt.me>>url:https://vkpht-dev.goodt.me/editor/#/apps]] для миграции.|Отредактированы данные таблиц бд notification на стенде [[https:~~/~~/vkpht-dev.goodt.me>>url:https://vkpht-dev.goodt.me/editor/#/apps]] для миграции: 82 82 удалены тестовые и закрытые записи, проставлены признаки у системных записей (is_system=true).|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/114431>>url:https://redmine.goodt.me/issues/114431]] 83 -| |Добавлено поле is_system c типом данных bool (true/false), со значением по умолчанию false в таблицы бд notification.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/114424>>url:https://redmine.goodt.me/issues/114424]] 84 -| |Добавлен на страницу выбора получателей инструмента управления количеством отображаемых записей - Пагинация.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101674>>url:https://redmine.goodt.me/issues/101674]] 85 -| |Добавили всплывающее сообщение при успешном создании события в реестрах "Уведомления о событиях" и "Ручные рассылки". 85 +|Добавление поля is_system|Добавлено поле is_system c типом данных bool (true/false), со значением по умолчанию false в таблицы бд notification.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/114424>>url:https://redmine.goodt.me/issues/114424]] 86 +|Добавление всплывающего сообщения при успешном создании события|Добавили всплывающее сообщение при успешном создании события в реестрах "Уведомления о событиях" и "Ручные рассылки". 86 86 Текстовка: "Событие "Код события" "Название события" создано". 87 87 В сообщении присутствует гиперссылка, при нажатии на которую, происходит переход к созданному событию (автоматически устанавливается фильтр в код события): при нажатии на текст/кнопку записывается в хранилище переменная(которую слушают таблица и фильтр) и закрывается попап.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/108113>>url:https://redmine.goodt.me/issues/108113]] 88 -| |Вывелив табличном представлении(попапдобавленияполучателей)табельный номерсотрудника.По атрибутудоступнафильтрацияипоиск.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101676>>url:https://redmine.goodt.me/issues/101676]]89 -| |Реализованвыводполного спискаполучателейотдельномпопапе, а нев табличном представлении.ИсправленонастраницеУведомленияособытияхи Ручныерассылки.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101681>>url:https://redmine.goodt.me/issues/101681]]90 -| |((( 89 +|Добавление пагинации|Добавлен на страницу выбора получателей инструмента управления количеством отображаемых записей - Пагинация.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101674>>url:https://redmine.goodt.me/issues/101674]] 90 +|Попап добавления получателей|Вывели в табличном представлении (попап добавления получателей) табельный номер сотрудника. По атрибуту доступна фильтрация и поиск.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101676>>url:https://redmine.goodt.me/issues/101676]] 91 +|Добавление кнопки "Удалить всех"|((( 91 91 В карточках "Добавить шаблон" и "Редактировать шаблон" реестров "Уведомления о событиях" и "Ручные рассылки" добавили кнопку "Удалить всех", при нажатии на которую удаляются все выбранные получатели. 92 92 )))|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101661>>url:https://redmine.goodt.me/issues/101661]] 93 -| |((( 94 +|Вывод полного списка получателей в отдельном попапе|Реализован вывод полного списка получателей в отдельном попапе, а не в табличном представлении. Исправлено на странице Уведомления о событиях и Ручные рассылки.|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/101681>>url:https://redmine.goodt.me/issues/101681]] 95 +|Доработка виджета ElemCreateNitificationEvent|((( 94 94 Доработка виджета ElemCreateNitificationEvent: кнопка "Отправить уведомления". Кнопка неактивна для событий, у которых не создан ни один шаблон уведомления. 95 95 )))|(% style="width:252px" %)[[https:~~/~~/redmine.goodt.me/issues/96705>>url:https://redmine.goodt.me/issues/96705]] 96 96 97 97 = BPS. Управление фоновыми программам = 98 98 99 -(% style="width:1109px" %) 101 +(% class="table-bordered" style="width:1109px" %) 100 100 |**Тема**|**Описание **|**Задача RM** 101 101 |Реализация фоновой программы TASKS_REASSIGNMENT.|Реализация фоновой программы TASKS_REASSIGNMENT. Фоновая программа переноса задач, в случаях, когда у сотрудника появляется новое назначение и имеется закрытое старое назначение|[[https:~~/~~/redmine.goodt.me/issues/106128>>url:https://redmine.goodt.me/issues/106128]] 104 + 105 += BPM. Управление конфигурацией бизнес-объектов = 106 + 107 +(% class="table-bordered" %) 108 +|**Тема**|**Описание **|**Задача RM** 109 +|Удаление добавленного статуса на экране Матрица статусных переходов|- Добавлена иконка корзины для удаления неиспользуемого в статусной модели статуса|[[https:~~/~~/redmine.goodt.me/issues/114771>>url:https://redmine.goodt.me/issues/114771]] 110 +|Исправление возможности использования различных сервисов при конфигурации справочников|- Проведен рефакторинг методов конфигурации севрисов, к которым возможно обращение для получения данных справочника|[[https:~~/~~/redmine.goodt.me/issues/107135>>url:https://redmine.goodt.me/issues/107135]] 111 +|Изменения в UX для справочников административной панели|- Проведены различные исправления и изменения в пользовательском пути при работе со справочниками административной панели|((( 112 +[[https:~~/~~/redmine.goodt.me/issues/114978>>url:https://redmine.goodt.me/issues/114978]] 113 + 114 +[[https:~~/~~/redmine.goodt.me/issues/114306>>url:https://redmine.goodt.me/issues/114306]] 115 +))) 116 +|Рефакторинг интерфейса заведения поля бизнес-объекта|((( 117 +- Проведена группировка конфигурации поля бизнес-объекта 118 + 119 +- Добавлены дополнительные возможности конфигурации 120 +)))|[[https:~~/~~/redmine.goodt.me/issues/113104>>url:https://redmine.goodt.me/issues/113104]] 121 +|Ведение нового типа владельца БО - employee |- Реализована механика и необходимые проверки для ведения бизнес-объектов с типом владельца - работник (employee) |[[https:~~/~~/redmine.goodt.me/issues/104881>>url:https://redmine.goodt.me/issues/104881]] 122 + 123 += CFG. Управление конфигурацией = 124 + 125 +(% class="table-bordered" %) 126 +|**Тема**|**Описание **|**Задача RM** 127 +|Доработка модели данных для учета системных записей и возможности управления их доступностью для редактирования при настройке системы на проекте.|((( 128 +* Структура таблиц обновлена с учетом признаков is_system и is_editable 129 +* Изменения учтены в работе HATEOAS методов для таблиц 130 +)))|((( 131 +[[https:~~/~~/redmine.goodt.me/issues/110241>>url:https://redmine.goodt.me/issues/110241]] 132 + 133 +Актуализация модели данных с учетом признаков is_system и is_editable 134 +))) 135 + 136 += INT. Управление интеграцией = 137 + 138 +INT0 Общие требования 139 + 140 +(% class="table-bordered" %) 141 +|**Тема**|**Описание **|**Задача RM** 142 +|Создание сервиса и БД интеграции 143 +Создание структур данных|((( 144 +* Создан сервис и БД интеграции. 145 +* Созданы структуры данных. 146 +* Предзаполнены таблицы в БД. 147 +* Развернут SFTP сервер. 148 + 149 + 150 +)))|((( 151 +[[https:~~/~~/redmine.goodt.me/issues/100207>>url:https://redmine.goodt.me/issues/100207]] 152 + 153 +API_ИП/1 Разработка механизма хранения информации по интеграции 154 +))) 155 +|Реализация метода разбора данных из файла в БД интеграции|Реализован метод разбора xlsx файла **PutFileInBuffer **, проверка на структуру файла, на то что файл не пуст и забор его данных в БД интеграции.|((( 156 +[[https:~~/~~/redmine.goodt.me/issues/99568>>url:https://redmine.goodt.me/issues/99568]] 157 + 158 +Реализация API метода PutFileInBuffer для разбора данных заполненного шаблона 159 +))) 160 +|((( 161 +Регистрация модуля в метамодели и разработка базовых методов 162 +)))|((( 163 +* Модуль интеграции зарегистрирован в метамодели. 164 +* Реализован hateoas и представления бизнес-модели. 165 +* Реализованы настройки работы с SFTP сервером. 166 +* Реализованы методы: 167 +** **GetFileList **/api/import/buffer/file-list - Вызывается по кнопке "Создать поток" на странице правил обработки данных по шаблонам. Метод создает интеграционный поток и формирует список файлов соответствующие критериям (путь к сфтп, префикс, расширение). Регистрирует в системе записи интеграционных файлов (flow_file) 168 +** **GetFileData **/api/import/buffer/file-data - Вызывается по кнопке "Забрать данные в буффер" на странице правил обработки данных по шаблонам. Метод заполняет данные flow_file, вызывает метод **PutFileInBuffer**, вызывает метод **MoveFile **по результату забора данных 169 +** ** GetExecuteFlowFileListCheck **/api/integration/execution/check -Вызывается по нажатию "проверить без вставки" Метод проверяет данные в БД интеграции. 170 +** ** GetExecuteFlowFileListCheckInsert **/api/integration/execution/insert - Вызывается по нажатию "проверить и загрузить" Метод проверяет данные в БД интеграции и загружает в целевую систему. 171 +** **MoveFile - **забирает файл по указанному пути и перекладывает файл по указанному пути 172 +* В рамках методов реализовано логирование ошибок. 173 +* Доработана структура данных БД интеграции. 174 +)))|((( 175 +[[https:~~/~~/redmine.goodt.me/issues/102235>>url:https://redmine.goodt.me/issues/102235]] 176 + 177 +API_ИП/2 Разработка методов (базовые) 178 +))) 179 +|Разработка базовых интерфейсов для прохождения основного сценария|((( 180 +* Реализованы на UI основные таблицы: 181 +** Просмотр шаблонов. 182 +** Просмотр типов файла интеграционной платформы. 183 +** Просмотр состава данных шаблона интеграции. 184 +** Просмотр алгоритма проверки шаблонов интеграции. 185 +** Просмотр типов файлов для интеграции. 186 +** Просмотр реестра источников файлов для интеграции. 187 +** Просмотр правил обработки данных по шаблонам по интеграционным потокам. 188 +** Просмотр правил обработки данных по шаблонам. 189 +** Просмотр реестр интеграционных потоков. 190 +** Просмотр файлов интеграции. 191 +** Просмотр строк файлов интеграции. 192 +** Редактирование файлов интеграционного потока. 193 +** Редактирование карточки интеграционного потока. 194 +** Редактирование карточки правил обработки данных по шаблонам. 195 +* Реализованы элементы на UI, которые обеспечивают вызов методов и прохождение всего сценария работы с интеграционным потоком на примере любого бизнес- объекта: 196 +** Создание потока через вызов метода. 197 +** Создание и обработки потока через вызов метода. 198 +** Забор данных в БД интеграции через вызов метода. 199 +** Проверка и загрузка через вызов метода. 200 +** Формирование и скачивание отчетности через вызов метода. 201 +** Скачивание пустого шаблона через вызов метода. 202 +)))|((( 203 +[[https:~~/~~/redmine.goodt.me/issues/109401>>url:https://redmine.goodt.me/issues/109401]] 204 + 205 +API_ИП/2 Разработка интерфейсов 206 +))) 207 +|Разработка мастер методов для массового создания и обработки потоков |((( 208 +Реализованы мастер методы: 209 + 210 +* **executeAllIntegrationSteps **/api/integration/template-flow/{id}/execute - Вызывается по кнопке "Создать и обработать поток" для определенного правила обработки. Мастер метод который вызывает внутри себя подряд все методы: 211 +** /api/import/buffer/file-list 212 +** /api/import/buffer/file-data 213 +** /api/integration/execution/check 214 +** /api/integration/execution/insert 215 +* ((( 216 + **ChainLaunch **/api/integration/template-flow/execute - Вызывается по кнопке "Создать и обработать все потоки поток" для определенного правила обработки. Мастер метод который вызывает внутри себя подряд все методы: 217 + 218 +* /api/import/buffer/file-list 219 +* /api/import/buffer/file-data 220 +* /api/integration/execution/check 221 +* /api/integration/execution/insert 222 +))) 223 +)))|((( 224 +[[https:~~/~~/redmine.goodt.me/issues/109436>>url:https://redmine.goodt.me/issues/109436]] 225 + 226 +API_ИП/2 Разработка расширенного списка методов, реализующих функционал массового запуска базовых методов ИП 227 + 228 + 229 +))) 230 +|Стабилизация интерфейса и работы системы|((( 231 +Свёрстаны все страницы интерфейса 232 + 233 +Реализованы методы: 234 + 235 +* **GetEmptyTemplate **api/integration/api/import/buffer/file/{id}/excel - Вызывается по кнопке "Скачать". Метод генерирует пустой шаблон для заполнения на основе данных БД. 236 +* **ErrorLinesDownload **api/integration/api/template/{id}/generate - Вызывается по кнопке "Загрузить ошибочные строки". Метод генерирует файл сapi/integration/api/template/{id}/generate - Вызывается по кнопке "Загрузить о ошибочными строками, которые не загрузились в целевую систему. 237 + 238 + 239 +)))|((( 240 +[[https:~~/~~/redmine.goodt.me/issues/104186>>url:https://redmine.goodt.me/issues/104186]] 241 + 242 +API_ИП/3 Стабилизация 243 +))) 244 +|Реализация методов загрузки и обработки шаблонов загрузки бизнес объектов, часть 1 |((( 245 +Для таблиц: 246 + 247 +* Legal_entity 248 +* Division 249 +* Person 250 +* Employee 251 +* Position 252 +* Role 253 +* Division_team 254 + 255 +Выполнено: 256 + 257 +* Обновлена структура хранения данных в БД. 258 +* Исправлены представления. 259 +* Реализована обработка и вставка в целевую систему шаблонов. 260 +* Подготовлены пустые xlsx шаблоны. 261 +* Подготовлены заполненные xlsx шаблоны. 262 + 263 + 264 +)))|((( 265 +[[https:~~/~~/redmine.goodt.me/issues/101583>>url:https://redmine.goodt.me/issues/101583]] 266 + 267 +API (Интеграционная платформа). Загрузка оргструктуры. Часть 1 268 +))) 269 +|Реализация методов загрузки и обработки шаблонов загрузки бизнес объектов, часть 2|((( 270 +Для таблиц: 271 + 272 +* Project 273 +* Function 274 +* Legal_entity_team 275 +* Division_function 276 +* Function_team 277 +* Project_team 278 +* Work_function 279 +* Location 280 + 281 +Выполнено: 282 + 283 +* Обновлена структура хранения данных в БД. 284 +* Исправлены представления. 285 +* Реализована обработка и вставка в целевую систему шаблонов. 286 +* Подготовлены пустые xlsx шаблоны. 287 +* Подготовлены заполненные xlsx шаблоны. 288 + 289 + 290 +)))|((( 291 +[[https:~~/~~/redmine.goodt.me/issues/101584>>url:https://redmine.goodt.me/issues/101584]] 292 + 293 +API (Интеграционная платформа). Загрузка оргструктуры. Часть 2 294 +))) 295 +|Реализация методов загрузки и обработки шаблонов загрузки бизнес объектов, часть 3|((( 296 +Для таблиц: 297 + 298 +* Structure 299 +* Workplace 300 +* Person_disability 301 +* Person_privilege 302 +* Personnel_document 303 +* Employee_condition 304 +* Placement 305 +* employee_education 306 +* work_experience 307 + 308 +Выполнено: 309 + 310 +* Обновлена структура хранения данных в БД. 311 +* Исправлена представления. 312 +* Реализована обработка и вставка в целевую систему шаблонов. 313 +* Подготовлены пустые xlsx шаблоны. 314 +* Подготовлены заполненные xlsx шаблоны. 315 + 316 + 317 +)))|[[https:~~/~~/redmine.goodt.me/issues/101604>>url:https://redmine.goodt.me/issues/101604]]((( 318 +API (Интеграционная платформа). Загрузка оргструктуры. Часть 3 319 +))) 320 +|Реализация методов загрузки и обработки шаблонов загрузки бизнес объектов, часть НМИ|((( 321 +Для таблиц: 322 + 323 +* legal_entity_status 324 +* legal_entity_type 325 +* division_status 326 +* division_group 327 +* position_type 328 +* position_status 329 +* position_rank 330 +* job_title 331 +* position_category 332 +* family_status 333 +* system_role 334 +* team_type 335 +* team_status 336 +* work_function_status 337 +* project_type 338 +* project_status 339 +* function_status 340 +* assignment_type 341 +* assignment_status 342 +* assignment_category 343 +* job_title_cluster 344 +* cost_center 345 +* position_importance 346 +* location_group 347 +* project_team_status 348 +* substitution_type 349 +* citizenship 350 + 351 +Выполнено: 352 + 353 +* Обновлена структура хранения данных в БД 354 +* Исправлена представления 355 +* Реализована обработка и вставка в целевую систему шаблонов 356 +* Подготовлены пустые xlsx шаблоны 357 +* Подготовлены заполненные xlsx шаблоны 358 +))) 359 + 360 += ONB0 Общие требования = 361 + 362 +(% class="table-bordered" %) 363 +|=((( 364 +**Тема** 365 +)))|=((( 366 +**Описание** 367 +)))|=(% colspan="1" %)((( 368 +Задача RM 369 +))) 370 +|(% colspan="1" %)((( 371 +Редактирование раздела "Полезные материалы" через административную панель 372 +)))|(% colspan="1" %)((( 373 +У Администратора Системы появилась возможность редактировать состав раздела "Полезные материалы" процесса "Адаптация" через административную панель. Теперь состав раздела можно сконфигурировать: задать заголовок, описание и ссылку на материал из внешнего ресурса. 374 +)))|(% colspan="1" %)((( 375 +[[https:~~/~~/redmine.goodt.me/issues/106869>>url:https://redmine.goodt.me/issues/106869]] 376 +))) 377 +|((( 378 +Редактирование плана адаптации 379 +)))|((( 380 +В рамках развития процесса "Адаптации" добавлена возможность через административную панель формировать состав задач и подзадач плана адаптации работников. 381 +)))|((( 382 +[[https:~~/~~/redmine.goodt.me/issues/106949>>url:https://redmine.goodt.me/issues/106949]] 383 +))) 384 +|Настройка фоновой программы|Реализована новая фоновая программа, которая формирует индивидуальный план адаптации нового работника исходя из настройки плана адаптации. Кроме этого, назначение опросов выведены в отдельный фоновый процесс, который при необходимости отключается.|[[https:~~/~~/redmine.goodt.me/issues/106949>>url:https://redmine.goodt.me/issues/106949]] 385 + 386 += PLT0 Общие требования = 387 + 388 +(% class="table-bordered" %) 389 +|=((( 390 +**Тема** 391 +)))|=((( 392 +**Описание** 393 +)))|=(% colspan="1" %)((( 394 +Задача RM 395 +))) 396 +|(% colspan="1" %)Переход на RT-Core|(% colspan="1" %)Переход на rt-core, включение TS2 в rt-core|(% colspan="1" %)[[https:~~/~~/redmine.goodt.me/issues/103594>>url:https://redmine.goodt.me/issues/103594]] 397 +|(% colspan="1" %)Фоновая программа обработки переводов и тасков|(% colspan="1" %)Новый функционал фоновой программы позволяет обрабатывать переводы работника и "переводить" на его новое назначение его исторические таски основных процессов|(% colspan="1" %)[[https:~~/~~/redmine.goodt.me/issues/106128>>url:https://redmine.goodt.me/issues/106128]] 398 + 399 += PLT2 Оргструктура = 400 + 401 +(% class="table-bordered" %) 402 +|=((( 403 +**Тема** 404 +)))|=((( 405 +**Описание** 406 +)))|=(% colspan="1" %)((( 407 +Задача RM 408 +))) 409 +|(% colspan="1" %)((( 410 +Новая структура для раздела "Образование" профиля работника 411 +)))|(% colspan="1" %)((( 412 +В модель данных модуля добавлена новая структура для хранения данных образования работника 413 +)))|(% colspan="1" %)((( 414 +[[https:~~/~~/redmine.goodt.me/issues/110997>>url:https://redmine.goodt.me/issues/110997]] 415 +))) 416 +|(% colspan="1" %)Органиграмма 2.0|(% colspan="1" %)Обновление и изменение функционала визуализации Органиграммы|(% colspan="1" %)((( 417 +[[https:~~/~~/redmine.goodt.me/issues/93958>>url:https://redmine.goodt.me/issues/93958]] 418 + 419 +[[https:~~/~~/redmine.goodt.me/issues/101978>>url:https://redmine.goodt.me/issues/101978]] 420 +))) 421 + 422 += Разворачивание системы = 423 + 424 +(% class="table-bordered" %) 425 +|**Сервис**|**Описание**|**Значения переменных**|**Примечания** 426 +|rtl-core|Изменение или добавление|RTL_ROOT_URL: https:~/~/root_url| 427 +|rtl-job|Изменение или добавление|((( 428 +RTL_BACKEND_TASKSETTING_URL: [[__https:~~/~~/root_url/rtl-api/rt-core/old__>>url:https://root_url/rtl-api/rt-core/old]] 429 + 430 +RTL_BACKEND_RTCORE_URL: [[__https:~~/~~/root_url/rtl-api/rt-core__>>url:https://root_url/rtl-api/rt-core]] 431 +)))| 432 +|hr-competence|Изменение или удаление| |Удален frontend сервис 433 +|my-attestation|Изменение или удаление| |Удален frontend сервис 434 +|vkph-admin|Изменение или добавление| |Добавлен frontend сервис