1.29

1.29

1.29.0-ms3 от 05.10.26

1.29.0-ms3
Добавлено:
  1. Обновить палитру цветов

    Цветовая палитра интерфейса приведена к обновлённому руководству по дизайну.

  2. Внести изменения в компонент Tooltip

    Всплывающие подсказки в обновленных частях интерфейса приведены к обновлённому стилю.

  3. Добавить кнопку «Загрузить все» на панель загрузки 324764T

    При неполной загрузке в панели грида доступна кнопка «Загрузить все».

    Правка перенесена из 1.28.0-rc5

  4. Изменить отображение панели состояния загрузки грида 324764T

    Обновлена панель состояния загрузки грида: сообщения отображаются снизу на всю ширину и не перекрывают данные.

    Правка перенесена из 1.28.0-rc5

  5. Добавить свойство конфигурации, управляющее активностью встроенного SSH-сервера 325620T

    Добавлено свойство конфигурации Configuration.Ssh.enabled , управляющее активностью запуска встроенного ssh-сервера при старте сервера приложений

  6. Вернуть исходный порядок кнопок в диалоговых окнах 327624T

    В диалоговых окнах восстановлен заданный порядок кнопок: фокусная кнопка больше не переносится автоматически в крайнюю правую позицию. Параметр focusButtonNumber по-прежнему определяет кнопку, которая получает фокус, но больше не влияет на её расположение.

    Правка перенесена из 1.28.0-rc5

Исправлено:
  1. Исправить некорректную установку ширины колонок грида после ресайзинга 326924T

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

  2. Исправить сброс флага «Восстанавливать изменения в интерфейсе при переоткрытии» после переоткрытия интерфейса 331030T

    Исправлен сброс флага «Восстанавливать изменения в интерфейсе при переоткрытии»

    после переоткрытия интерфейса: флаг сохраняется отдельно для каждого интерфейса и грида,

    детальные гриды и другие интерфейсы его не перезаписывают. Ширина дерева и масштаб диаграммы

    Ганта также сохраняются отдельно для каждого интерфейса.

    Правка перенесена из 1.28.0-rc6

  3. Восстановить отображение клавиатурной фокусной обводки у React-компонентов при монтировании в GWT

    Восстановлена обводка фокуса при навигации с клавиатуры в модальных окнах обновленного интерфейса.

  4. Устранить блик React модального окна при монтировании через GWT

    Устранена кратковременная вспышка в левом верхнем углу экрана при открытии модальных окон обновленного интерфейса.

  5. Исправить игнорирование новых параметров динамических деталей при обновлении выборки-источника 328844T

    Исправлено игнорирование новых значений параметров динамических деталей и закладок

    при обновлении выборки-источника, когда имя выборки, представление и имя детали не изменились.

    Правка перенесена из 1.28.0-rc6

  6. Исправить ошибку вызова clientSetSelfVar в нередактируемой выборке 329120T

    Исправлена ошибка при вызове selection.clientSetSelfVar в выборке, недоступной для

    редактирования (isEditable = false). Метод устанавливает значение атрибута без вызова сеттера

    независимо от редактируемости выборки и сам завершает редактирование записи, если до вызова

    она не редактировалась. В выборке только для чтения (isReadOnly = true) запись по-прежнему запрещена.

    Правка перенесена из 1.28.0-rc6

  7. Освобождать незавершённую сессию редактирования грида

    Исправлены отмена зависшего Lookup-редактирования по Escape и очистка сессии при закрытии грида.

  8. Привязать Lookup-ответ к сессии редактирования ячейки

    Исправлено применение устаревшего ответа Lookup-редактора к другой сессии редактирования грида.

  9. Исправить клавиатурное редактирование checkbox в гриде

    Исправлены переключение checkbox клавишей Enter и продолжение редактирования при навигации по гриду.

  10. Ограничить реплей навигационного autorepeat в гриде

    Исправлено продолжение навигации по гриду после отпускания клавиши.

  11. Сохранить режим редактирования при вертикальной навигации в гриде

    Исправлено сохранение режима редактирования при перемещении вверх и вниз между ячейками табличного представления.

  12. Синхронизировать завершение редактирования с переключением колонки

    Исправлено сохранение значения при переходе кликом из редактируемой ячейки грида.

  13. Сделать завершение inline-редактирования реентерабельно безопасным

    Исправлено завершение inline-редактирования при синхронном запуске следующей ячейки.

  14. Защитить очередь и отложенный запуск редактора грида

    Исправлена обработка быстрых переходов и отложенного запуска inline-редактора грида.

  15. Исправить перенос pending-редактирования грида

    Исправлено восстановление ожидающего inline-редактирования после обновления грида.

  16. Исправить пропадание названия колонки в области группировки 321382D

    Исправлено пропадание названия колонки в области группировки грида.

    Правка перенесена из 1.28.0-rc5

  17. Исправить отображение состояния unset в чекбоксах 327234T

    В гридах и карточках чекбоксы со значением null отображаются в состоянии unset, а не как unchecked.

    Правка перенесена из 1.28.0-rc5

  18. Исправить типографику вкладок в компактном режиме

    Улучшена читаемость вкладок и закладок в компактном режиме.

  19. Исправить типографику контекстных меню в компактном режиме

    Улучшена читаемость контекстных меню в компактном режиме.

Изменено:
  1. Обновить зависимости для view 313770T

    Осуществлено обновление зависимостей во всех npm проектах внутри AS, что позволило закрыть ряд уязвимостей, связанных с безопасностью.

    Правка перенесена из 1.28.0-rc6

  2. Убрать флаг “Конфигуратор” из клиентской части окна логина

    Из окна входа в систему убран чекбокс “Конфигуратор” — запуск конфигуратора через основной сервер приложений больше не поддерживается.

  3. Сделать включение Configurator в сборку дистрибутива условным по версии 327608T

    Из дистрибутива GlobalServer убрано приложение Конфигуратор

  4. Перенести ssh-сервер из модуля webserver в модуль engine 325620T

    Перенесён код webserver/services/ssh в engine/sshd.

1.29.0-ms2 от 21.09.26

1.29.0-ms2
Добавлено:
  1. Объединить отчёты JUnit в один xml до формирования Test summary в GitLab CI

    В GitLab CI junit-отчёты всех модулей объединяются в один файл перед

публикацией артефактов, а запись stdout и stderr тестов в junit-xml отключена. Test summary в

merge request’е строится заметно быстрее, вывод тестов остаётся доступен в логе job и в

html-отчёте.

  1. Отключать автоматически цвето-анимацию DOM при выполнении в GitLab CI

    В библиотеке gs-automation цвето-анимационная индикация действий

(dom.colorizable) автоматически отключается при выполнении автотестов в pipeline GitLab CI.

Признак pipeline – переменная окружения GITLAB_CI. Включить индикацию в pipeline можно явно:

переменной GSAUTO_DOM_COLORIZABLE или аргументом -Dgsauto.dom.colorizable.

  1. Заменить ожидание стабилизации dom-модели динамическими ожиданиями

    В библиотеке gs-automation ожидание стабилизации dom-модели заменено

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

только элемент присутствует в dom-модели, видим, перестал перемещаться, не перекрыт маской

длительной операции и доступен. Добавлены Actionability, WebDriverHelper.retryingUntil,

waitActionable, clickRetrying, waitFocused, Grid.waitFullLoaded и Grid.waitEditable. Методы

WebDriverHelper.waitForDomStability, WebDriverHelper.waitUntilMaskDisappears и параметр

duration.dom.stability удалены.

Исправлено:
  1. Исправить ожидание фактического ухода фокуса в clickToResetFocus

    В библиотеке gs-automation метод clickToResetFocus теперь дожидается

фактического ухода фокуса ввода из редактора: ранее одиночного клика не хватало, если редактор

возвращал себе фокус отложенной командой, и введённое значение оставалось незакоммиченным.

  1. Заменить бесполезное предупреждение о закладке без имени выборки 317010T

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

    Правка перенесена из 1.28.0-rc5

Изменено:
  1. Обновить numbertostr до версии 1.2 327480T

    Исправлена пропись дробной части числа в печатных формах: вместо дробных

    разрядов печатался мусорный знаменатель, разделитель стоял в мужском роде, а у чисел

    по модулю меньше единицы пропадала целая часть. Библиотека прописи обновлена до версии 1.2.

    Правка перенесена из 1.28.0-rc5

1.29.0-ms1 от 18.09.26

1.29.0-ms1
Добавлено:
  1. Реализовать отображение blob-изображений в ячейках табличного представления 285952T

    Реализована возможность отображения в табличном представлении изображений, получаемых из файлового хранилища сервера. Более подробная информация содержится в спецификации изображений из файлового хранилища сервера.

  2. Добавить метод MsgDialog.text() получения текста сообщения диалога 322934T

    В библиотеку gs-automation добавлен метод MsgDialog.text(), возвращающий текст сообщения диалога с инкапсулированным ожиданием видимости.

  3. Добавить группировку SQL-запросов в консоли браузера 312518T

    SQL-запросы в консоли браузера группируются пачками по выборкам и категориям с именем SQL-блока, а упавшие запросы выводятся красной строкой с текстом ошибки СУБД.

  4. Добавить группировку операций в консоли браузера 312518T

    Операции в консоли браузера выводятся сворачиваемыми группами с бейджем OPER, длительностью выполнения и текстом ошибки при сбое.

  5. Переработать выбор уровней в карточке «Настройки логирования» 312518T

    В карточке «Настройки логирования» у каждого тумблера отображается и выбирается свой уровень логирования из набора уровней канала, а состояние каналов восстанавливается при повторном открытии карточки.

  6. Открыть внешнему агенту чтение выборок по протоколу MCP

    Добавлен встроенный MCP-сервер только на чтение: эндпоинт /app/sys/rest/es/mcp (Streamable HTTP, JSON-RPC 2.0) даёт внешнему агенту десять инструментов — поиск выборок, их метаданные, операции, атрибуты и поля фильтра, открытие выборки с правами пользователя и постраничное чтение строк. Перечень доступных выборок задаётся серверной секцией конфигурации <mcp>, число сессий на пользователя и открытых выборок на сессию ограничено; поддерживаются решения на PostgreSQL.

  7. Реализовать метод CoreApplication#getMdiForms 323236T

    Добавлен метод ru.bitec.gtk.core.gl.CoreApplication.getMdiForms().

  8. Добавить операции над веткой дерева в интерфейс древовидного списка 319236T

    В контекстное меню древовидного списка добавлены пункты «Развернуть всю

ветку» и «Свернуть всю ветку», действующие на поддерево текущего узла. В отличие от пунктов

«Развернуть/Свернуть все дерево», они доступны и на частично загружаемом, и на рекурсивном

(курсорном) дереве: потомки каждого узла ветки дозагружаются запросами к базе данных. Перед

раскрытием ветки на таком дереве выводится запрос подтверждения. Ранее горячая клавиша

«Развернуть ветку текущего узла» (HK_TREE_OPEN_CURRENT_SUBNODE) на таких деревьях раскрывала

только один уровень вложенности — теперь раскрывается вся ветка. Добавлена горячая клавиша

«Свернуть ветку текущего узла» (HK_TREE_CLOSE_CURRENT_SUBNODE) с сочетанием по умолчанию

Ctrl+Alt+-. Более подробная информация содержится в описании операций

разворачивания ветки и

сворачивания ветки, а также в

справке по горячим клавишам.

  1. Добавить перенос описания операции в размножаемые операции 321978T

    У операций, созданных клонирующим запросом, во всплывающей

    подсказке теперь отображается описание: из поля sDescription запроса,

    а если оно не задано — описание клонирующей операции.

    Правка перенесена из 1.28.0-rc3

  2. Добавить вывод описания операции во всплывающей подсказке кнопки тулбара 321978T

    Во всплывающей подсказке кнопки тулбара теперь

    отображается описание операции (description из @Oper), если оно задано;

    иначе, как раньше, показывается название операции.

    Правка перенесена из 1.28.0-rc3

  3. Добавить нормализацию ввода в автофильтре и inline-редактировании грида

    Добавлена нормализация пробельных символов пользовательского ввода в строковых

полях. Свойство редактора trimValue (edit,

memo,

buttonsEdit,

editButton,

hyperLink)

включает нормализацию в карточке и строке списка, свойство фильтра

trimAttrValues задаёт умолчание для атрибутов

фильтра, настройка приложения

trimFilterInput — умолчание

для полей фильтров и автофильтра грида (по умолчанию включена). Значение обрезается по краям,

ставшее пустым приводится к NULL, пустое обязательное поле штатно подсвечивается; в автофильтре

грида ввод из одних пробелов условие не подставляет.

Исправлено:
  1. Исправить попадание значений показателей в чужие колонки при экспорте грида в Excel 325728T

    Исправлено попадание значений показателей в чужие колонки при экспорте грида в Excel.

    Ошибка проявлялась, когда колонки грида разложены по нескольким рядам внутри группы колонок, — например

    в универсальном отчёте, построенном по нескольким видам учёта.

    Правка перенесена из 1.27.3

  2. Исправить игнорирование прикладной выборки при выборе версии печатной формы на БД Oracle 326804T

    На БД Oracle версия печатной формы выбирается прикладной выборкой SEL_RPT_ReportVersion

    (представление VersionAtDate). Раньше метод БД, выбирающий версию, вызывал сам сервер приложений, а он

    знал и передавал только два аргумента — имя отчёта и дату, — поэтому аргументы, добавленные в решении,

    в выборе версии не участвовали. Теперь метод БД вызывает прикладная выборка, поэтому расширить состав

    аргументов или изменить правила выбора версии можно силами решения, без доработки сервера приложений.

    Правка перенесена из 1.28.0-rc4

  3. Исправить проверку доступа к прикладным пакетам из SDW 318602T

    Убрана проверка прав на прикладные пакеты из модуля SDW.

  4. Очистить java.util.ResourceBundle от ссылок на прикладные загрузчики 319302T

    Устранены причины, мешавшие выгрузке из памяти прикладных загрузчиков классов после перезагрузки кода образа решения.

  5. Добавить копирование *.md5 файлов при копировании образа решения 317450T

    Добавлено копирование *.md5 файлов при копировании образа решения в рабочий каталог. Содержимое файла solution.md из корневого каталога образа решения возвращается в результатах методов ru.bitec.gtk.core.gl.cluster.CoreClusterNodeManager.getClusterNodesAsJsonString() и ru.bitec.gtk.core.gl.cluster.CoreClusterNodeManager.getClusterNodeAsJsonString(String).

  6. Синхронизировать список выделенных записей карточного фрейма с текущей записью 324548T

    В карточном фрейме selectedRecordsCount() и selectedValue() теперь всегда соответствуют текущей записи (1 при наличии записи, 0 на пустой выборке), независимо от свойства isMultiSelect и порядка обновления/скролла.

    Правка перенесена из 1.28.0-rc4

  7. Восстановить поведение метода CoreApplicationImpl#eventBus. Проблема ——— При вызове CoreApplication#eventBus в создание экземпляра CoreEventBus всегда передавалась главная выборка приложения, из-за чего при попытке вызова метода handleEvents на события afterScroll и beforeScroll метод не видел event.representation 324184T

    Восстановлено поведение вызова application.eventbus.post(“Topic”,”Event”). Начиная с версии AS 1.26.0-ms18 метод отсылал BusEvent, источником которого становилась главная выборка приложения. Восстановлена исходная логика, в которой источником BusEvent является выборка, в коде которой получен объект application.

  8. Устранить пропадание значений tagLookup после обновления выборки 323608T

    Исправлено пропадание выбранных значений tagLookup после обновления выборки со свёрнутой панелью фильтров.

    Правка перенесена из 1.28.0-rc3

  9. Убрать канал «Скрипт» из карточки логирования в PostgreSql решениях 312518T

    В PostgreSql решениях карточка «Настройки логирования» больше не показывает канал «Скрипт», не дающий вывода.

  10. Исправить позиционирование scrollbar в grid после обновления (F5)

    Исправлено положение вертикальной полосы прокрутки в гриде после обновления страницы (F5).

    Правка перенесена из 1.28.0-rc3

  11. Исправить перемешивание строк в древовидном grid 304517T

    Исправлено перемешивание и дублирование строк в древовидном гриде после сворачивания, разворачивания и прокрутки.

    Правка перенесена из 1.28.0-rc3

  12. Починить закрытие занятых REST-сессий и захват закрывающихся

    Исправлено закрытие REST-сессий, занятых выполнением запроса: команда закрытия сессии администратором больше не завершается молчаливым отказом, а выполняется сразу после того, как запрос отпустит сессию. Обращение к закрывающейся сессии теперь возвращает 404 вместо внутренней ошибки сервера.

  13. Исправить потерю контекста операции в host-функциях скриптов 315996T

    Устранена ошибка, из-за которой обращение к функции контекста операции в квадратных скобках (например, Libs[‘ИМЯ’]) внутри вложенной процедуры паскаль-скрипта завершалось ошибкой вместо выполнения.

    Правка перенесена из 1.28.0-rc3

  14. Исправить распознавание клавиш «-» и «=» основного ряда в горячих клавишах

    Горячие клавиши с клавишами «-» и «=» основного ряда клавиатуры теперь

срабатывают: ранее их распознавание работало только для одноимённых клавиш дополнительной

клавиатуры. Затронуты все настроенные сочетания с этими клавишами, в том числе «Развернуть

текущий узел дерева», «Закрыть текущую ветку дерева» и «Развернуть ветку текущего узла».

  1. Починить закрытие простаивающих REST-сессий по таймауту

    Исправлено закрытие REST-сессий по таймауту: простаивающие просроченные сессии не закрывались вовсе и удерживали ресурсы сервера — прикладное решение и соединения с базой — до его перезапуска, тогда как закрывались, наоборот, занятые.

  2. Исправить обработку полей с датой и блобом при экспорте в Access

    Исправлен экспорт списка в формат Access: списки со столбцами дат

    и двоичных данных выгружаются, а не завершаются ошибкой создания столбцов.

  3. Добавить создание целевого каталога выгрузки при экспорте в Access

    Исправлен экспорт списка в формат Access, который не работал на инсталляциях,

    где каталог временных файлов выгрузки ещё не создан: теперь экспортёр создаёт его сам.

  4. Добавить освобождение ресурсов при ошибке экспорта в Access

    Исправлено накопление временных файлов после неудачного экспорта списка

    в формат Access: файл выгрузки теперь удаляется и при ошибке.

  5. Исправить обрыв экспорта в Access на дробных значениях BigDecimal

    Исправлен экспорт в формат Access списков, у которых числовой столбец объявлен

    типом BigDecimal: раньше дробное значение в таком столбце прерывало выгрузку. Количество знаков

    после запятой подбирается по данным списка, а значения, не помещающиеся в разрядность Access,

    округляются.

  6. Включить isCanEditText и setEditButtonEnabled в гридах

    Свойства «Разрешить ввод текста» и доступность кнопок редактора теперь действуют в списках, а не только в карточках.

    Правка перенесена из 1.28.0-rc2

  7. Устранить схлопывание текста в ячейках табличного представления 314930T

    Устранена проблема, которая приводила к схлопыванию текста в ячейках табличного представления.

    Правка перенесена из 1.27.1

  8. Исправить переоткрытие браузера сессий при смене пароля и сервера

    Исправлено переоткрытие браузера сессий после смены пароля или сервера.

  9. Исправить поведение ресайзинга элементов FlexBoxLayoutContainer 311094T

    Исправлено поведение ресайзинга дочерних элементов Flex-компоновщика в случае, если у него имеются элементы с фиксированными размерами.

    Правка перенесена из 1.28.0-rc1

Изменено:
  1. Обновить jackcess до версии 4.0.11 и заменить commons-lang 2.0 на commons-lang3

    Обновлены библиотеки зависимостей для экспорта данных выборки в Access

  2. Изменить gtk-шлюз выполнения Jexl-скриптов и добавить информацию об источнике скрипта 316822T

    Изменён gtk-шлюз выполнения Jexl-скриптов. Вместо методов: “ru.bitec.app.gtk.jexl.session.Gtk_JexlPkg$.jexlScript.eval”, “ru.bitec.app.gtk.jexl.gl.Gtk_JexlLib$.jexlScript.eval” вызываются: “ru.bitec.app.gtk.jexl.session.Gtk_JexlGatePkg$executeJexl”, “ru.bitec.app.gtk.jexl.gl.Gtk_JexlGateLib$executeJexl”. Добавлена информация об источнике скрипта: SSH, REST, SOAP, WebSocket, RichClient.

  3. Опубликовать в GTK Core Api недостающие константы ключей сведений о рабочих сеансах

    Добавлены класс констант ru.bitec.gtk.core.gl.cluster.CoreWorkSessionManager.Ct.Attributes.WorkSessionInfo; В класс констант ru.bitec.gtk.core.session.WorkSessionCtx.Ct добавлены недостающие значения.

  4. Добавить в сведения узла кластера информацию об образах решения 317450T

    1. В результаты методов ru.bitec.gtk.core.gl.cluster.CoreClusterNodeManager.getClusterNodesAsJsonString() и ru.bitec.gtk.core.gl.cluster.CoreClusterNodeManager.getClusterNodeAsJsonString(String)— добавлены ключи: “nodeCurrentDate”, “nodeTimeZone”, “nodeTimeZoneOffset”, “solutions/images/loadDate”, “solutions/images/isObsolete”, “solutions/images/md5”, “solutions/images/id”. 2. В результаты методов ru.bitec.gtk.core.gl.cluster.CoreWorkSessionManager.getWorkSessionsAsJsonString() и ru.bitec.gtk.core.gl.cluster.CoreWorkSessionManager.getWorkSessionsAsJsonString(String) — добавлен ключ “solutionImageId”.

  5. Переименовать коллекцию изображений navigation_hub в navhub #317480T

    Коллекция изображений ‘navigation_hub’ переименована в ‘navhub’

  6. Добавить новую коллекцию изображений navigation_hub #316519T

    Добавлена векторная коллекция изображений navigation_hub.