Перейти к основному содержимому
Версия: 1.22.3

Версия 1.22.3

В этой версии произошло расширение инструментов ESM-платформы за счет появления новых таблиц: Потребности, Закупки, Бюджеты, Затраты компании, и таблицы для хранения Продуктов компании. Появилась настройка табулирования на формах таблиц. Также улучшения затронули виджет Summary, индикации, отображение страниц на портале и почтовые уведомления. Помимо этого, произведены системные улучшения, ускоряющие работу платформы.

Новая функциональность

Настройка табулирования на формах

Добавили возможность настройки табулирования на формах таблиц. Теперь вы можете настроить удобные для вас способы передвижения по элементам форм с помощью клавиатуры. Подробнее о настройке табулирования читайте в статье Представление форм.

Новые таблицы

Продукт/Product – новая таблица, предназначенная для хранения продуктов компании. Записи продуктов содержат информацию о ресурсах, конфигурацией которых является продукт: сотрудниках, технологиях, партнерах и поставщиках. Создание и управление записями таблицы доступно пользователям с новыми ролями product_agent и product_manager.

Финансовые таблицы – новые таблицы, которые закладывают основу для формирования Потребности, управления Бюджетом и Закупками, а также фиксации фактических затрат по центрам финансовой ответственности.

Новые таблицы являются расширяемыми и будут использоваться в будущих версиях приложений ITAM и SDLC.

Подробное описание вы найдете в разделе Сервисные инструменты платформы:

Раздел в документацииТаблицы
Продукт
  • Продукт/Product (product)
Потребности
  • Потребности/Demands (demand)
  • Задачи потребностей/Demand Tasks (demand_task)
Закупки
  • Заказы на закупку/Purchase Requests (purchase_request)
  • Задачи заказов на закупку/Purchase Request Tasks (purchase_request_task)
Бюджеты
  • Бюджеты/Budgets (budget)
  • Строки бюджетов/Budget Items (budget_item)
  • Плановые строки затрат/Planned Cost Items (planned_cost_item)
  • Экономия/Savings (savings)
  • Распределение экономии/Savings Allocations (savings_allocation)
Фактические строки затрат
  • Фактические строки затрат/Actual Cost Items (actual_cost_item)
Статьи затрат
  • Статьи затрат/Cost Category (cost_category)
Центры финансовой ответственности
  • Центры финансовой ответственности/Cost Centers (cost_center)
Валюты
  • Валюты/Currencies (currency)
Фискальные периоды
  • Фискальные периоды/Fiscal Periods (fiscal_period)

Системные улучшения

Индикации

Теперь при отмене или снятии флажка Активен система будет предупреждать об отмене текущих связанных индикаций. После подтверждения действия пользователем, активные индикации будут деактивированы. При отмене, деактивации или удалении индикатора, на форме связанных индикаций в поле Когда изменено будет отображаться время отмены индикации. Читайте подробнее в статье Индикации.

Виджет Summary

В виджете Summary на форме согласования теперь отображаются только заполненные поля. Для отображения виджета на портале убедитесь, что в целевой записи создан вид представления, Default/По умолчанию. Если его нет, то настройте его. Больше информации о виджете читайте в статье Summary.

Изменения на формах

Убрали поля с атрибутами модели CMDB на форме таблицы Конфигурационная единица/Configuration Items:

  • Мощность/Power
  • Информационная система/Information system
  • DNS/DNS
  • IP-адрес/IP Address
В соответствии с этими изменениями мы обновили локальный пакет c демоданными, а также удалили из демоданных REM-атрибуты warranty и manufacturer_warranty, а пользователям с ролью admin открыли доступ к редактированию бизнес-правила Generate Name for CI (record/sys_business_rule/163914487417347092).

Убрали кнопку Изменить/Edit из связанных списков для пользователей, у которых нет прав на редактирование записей. Изменения затронули формы следующих таблиц:

  • Модель запроса/Request Model (sys_rmc_model)
  • Коллекции/Collections (sys_re_collection)
  • Модели/Models (sys_re_model)
  • Формы/Form Views (sys_ui_form)
  • Секции форм/Form Section Elements (sys_ui_form_section)
  • Списки/List Views (sys_ui_list)

Уведомления

Добавили список всех согласующих задачи в уведомления о согласовании, которые приходят по электронной почте. Список разделен на две группы – обязательные и необязательные участники согласования. Это помогает получателю определить свою роль в согласовании задачи и увидеть список всех ее согласующих.

Портал

Улучшена работа виджетов бокового меню и категорий каталога услуг на портале. Для этого мы:

  • добавили 7 дополнительных атрибутов в портальный тег <sidemenu>.
  • добавили на форме Портала/Portal флажок Фиксировать верхний колонтитул/Fixed header, при помощи которого вы можете зафиксировать верхний колонтитул на странице.
  • добавили на форме Узла портала/Portal node флажок Игнорировать ACL/Ignore ACL. Когда флажок установлен, ограничения контроля доступа для записей в системе, на которые ссылаются динамические узлы, снимаются, и остаются только фильтры и пользовательские критерии для категорий и элементов каталогов моделей запросов.
Подробнее о настройке портала читайте в статье Интеграция с порталом.

Реализована изоляция контекста исполнения клиентских скриптов для объекта s_form, в случае, когда на странице располагаются формы нескольких разных записей, в том числе в виде виджетов с Simple-тегом <form> или <remform>. Теперь клиентский скрипт строго оперирует переменной s_form, относящейся к форме, для которой был запущен. Это позволяет клиентским скриптам разных форм работать независимо, без случайных срабатываний в "соседних" формах.

внимание
  1. На странице с загруженной формой в консоли браузера нельзя обратиться к форме напрямую через переменную s_form.

  2. В случае, если на странице с формой записи одной таблицы присутствует RE-модель записи другой таблицы, которая добавлена на форму с помощью виджета с Simple-тегом <rem>, или модель выведена с помощью тега <remform>, клиентский скрипт модели не сможет обратиться на прямую к форме через переменную s_form. В данном случае на странице два независимых объекта форм.

Для оперирования формой в обоих случаях, указанных выше, используйте конструкцию s_widgets.getForm('formName'), где formName – название представления необходимой формы.

Оптимизация системы

Добавлены новые инструменты для мониторинга экземпляров системы и трассировки запросов, а именно:

  • Добавили распределенную трассировку для сервисов Queue Consumer и Schedule Job.
  • Настроили мониторинг количества обработчиков php-fpm (BACKEND_API_MAX_CHILDREN – backend-api) на облачных экземплярах. Это позволит предотвратить падения экземпляров из-за нехватки обработчиков.
  • Создали инструмент интеграции OpenTelemetry и Jaeger для трассировки запросов, анализа работы приложения и выявления проблем, связанных с производительностью на on-premise экземплярах.
  • Добавили переменные окружения и соединение с репликой для чтения, чтобы разгрузить мастер-базу данных.

Исправления

DEF0018978: Исправили поведение, из-за которого выполнение PUT-запросов для таблицы Запросы на обслуживание/Service Requests значительно замедлялось. Сейчас обработка запросов занимает менее одной секунды.

DEF0018781: При обновлении платформы с версии 1.19.1 и 1.20.1 на новую 1.21.3 и выше, появлялись ошибки, препятствующие успешной установке обновления. Теперь обновление происходит успешно.

DEF00187686: Исправили ошибку отображения метаданных на странице, для которой не настроено форматирование. Ранее на странице отображался список ошибок. Теперь на странице отображается сообщение об ошибке.

DEF0018747: Исправлена ошибка, приводившая к увеличению нагрузки и деградации системы, связанная с установкой мониторинга количества обработчиков php-fpm.

DEF0018730: Исправлена ошибка, при которой удаление Индикатора (sys_indicator) приводило к длительному ожиданию пересчета Индикации (sys_indication). Теперь пересчет индикации занимает менее секунды.

DEF0018436: Исправили поведение системы, приводящее к повторному выполнению блоков рабочего процесса. Теперь при запуске рабочего процесса его контекст блокируется, и другой запрос, например, из очереди, не может выполнить этот контекст повторно.

DEF0018383: Исправили некорректный номер порта для микросервиса DelayQueue в конфигурациях haproxy для on-premise экземпляров.

DEF0017778: Исправлен некорректный ответ сервиса schedule-job, когда при успешном удалении записей таблицы Запланированные импорты/Scheduled Imports и Запланированные скрипты/Scheduled Scripts появлялась запись об ошибке GRPC server SCHEDULE_JOB_IMPORT_COMMAND returns code 0 with error: . в таблице Журнал исключений/Exception Logs. Теперь удаление записей этих таблиц не сопровождается сообщениями об ошибках.

DEF0017660: Устранена возможность использовать URL в методах API SimpleRestRequest c протоколами, отличными от http и https. Теперь проводится проверка URL и, в случае неподходящего URL, выводится сообщение об ошибке. Также информация об ограничении используемых протоколов добавлена в документацию в соответствующие разделы API для разработчиков и Настройки Rest API.

DEF0017646: Устранена причина, по которой метод s_form.getValue() возвращал значение undefined после того, как фильтр связанного списка формы был изменен пользователем, но сама форма не была перезагружена. Это представляло опасность для функционирования методов s_form.save(), s_form.getValue(), s_form.getAllFields(), которые обращаются к методу s_form.getValue().

DEF0017493: Исправили проблему, приводящую коннектор monolith-source в состояние Failed, когда для таблицы была создана и вынесена на ее форму колонка типа А, после чего запись колонки удалялась и создавалась колонка с таким же именем для этой же таблицы, но другого типа.

DEF0017462: Исправлена ошибка подключения к серверу IMAP по порту 143, из-за которой приложение предпринимало попытки ошибочно установить защищенное соединение. Теперь подключение почтового сервера по порту 143 происходит без использования SSL и TLS.

DEF0017130: Попытка создать быстрый ответ для таблицы, в которой содержится большое количество записей, заканчивалась появлением ошибки 500. Теперь проблема устранена, и быстрые ответы можно создавать для таблиц с любым количеством записей.

DEF0017607: После миграции при запуске запланированных скриптов по расписанию возникала ошибка коннектора schedule-job-sink из-за нерелевантности полей process_id и proccess_at и отсутствия source-коннекторе параметра column.exclude.list. Теперь в schedule-job-sink добавлен атрибут, исключающий эти поля. Благодаря этому запланированные скрипты запускаются без ошибок.

DEF0016960,DEF0016799: После исполнения действий рабочих процессов, часто сбрасывались значения REM-атрибутов и полей для записи, имеющей активный контекст рабочего процесса, и установленных этими действиями. Это происходило в результате параллельного взаимодействия с этой записью других пользователей или системы. А также внедрен механизм dirty-атрибутов, при котором не происходит затирание данных, когда одна и та же запись обновляется в нескольких скриптах сразу. После выполнения рабочего процесса заданные REM-атрибуты сохраняют свое новое значение, а в базе обновляются только те атрибуты, которые были изменены.

DEF0016845: Исправлена проблема, из-за которой метод addQuery() с операторами ISEMPTY и ISNOTEMPTY возвращал неверный ответ. В документацию добавили информацию о том, что этот метод в серверном и клиентском скрипте может принимать только два параметра, где первый параметр - название поля, а второй - название оператора, а также добавили список операторов, которые должны использоваться без значений, в том числе ISEMPTY и ISNOTEMPTY.

DEF0014868: Пользователи без роли admin не могли полноценно настроить отчёт из-за отсутствия доступа на чтение записей в таблицах Списки/List Views и Системные цвета/System Colors. Теперь эта проблема устранена, и пользователи могут применять все функции отчетов на платформе.