Global 5.5

Реализованная заявка

1. Реализовать методы преобразования Hex в Blob и обратно

Реализовано.

2. Задержка при переключении между вкладками с детальными выборками

Время переключения между вкладками с деталями увеличивалось в зависимости от количества открытых в приложении окон и их сложности.

3. При выборе значения в выпадающем списке возникает ошибка: Access violation

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

4. Расширить возможности по работе с блобом в скрипторе

Набор методов преобразования блоба расширен следующими методами (требуемыми для генерации цифровой подписи XML документа):

  • BlobToHex
  • HexToBlob
  • BlobToString
  • StringToBlob
  • BlobIntToStr
  • BlobRevers

Подробнее см. документацию.

5. Чекворк при выполнении refreshdetails

Возвращён вызов операции CheckWorkability. Но он совершается не сразу в процессе общего обновления, а после того как все детали обновились.

6. Реализовать копирование/вставку гиперссылки вместе с её заголовком

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

7. Ошибка обработки метаданных в архивном режиме для свойств с пустым значением

В некоторых случаях при попытке выполнить операцию с пустым именем выполнялась случайная операция, например, закрытие окна. Исправлено.

8. Реализовать канонизацию XML

Реализован API по работе с XML, в рамках которого имеется возможность канонизации как всего документа целиком, так и отдельных его элементов - в режимах Exclusive True и False.

Подробнее можно ознакомиться с реализованным API в документации.

9. Поддержка ЭЦП для ХКХ

Расширена функциональность встроенных скриптовых библиотек для реализации подписи XAdES-BES.

Пример генерации подписи приведён в документации.

10. Ошибка формата даты при использовании нестандартных настроек локали

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

В работу со строковыми атрибутами, с которыми используются редакторы даты и времени, были внесены изменения. Эти изменения позволяют корректно сохранять значения даты и времени в строковые поля базы данных. Подробнее про это можно почитать в статье документации.

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

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

12. Выполнение sql операций библиотечной выборки не отражается на кнопке commit выборки, из которой вызывалась библиотечная выборка.

Исправлено.

13. Фреймы накладываются друг на друга

При сжатии формы фреймы наезжают друг на друга в случае нехватки места. Выровненный посередине фрейм мог оказаться посреди другого фрейма, того, что его, по идее, вытеснил, и должен был закрыть собой целиком. Такое происходило из-за отсутствия управления порядком отображения фреймов (Z-Index), порядок оказывался случайным.

Исправлено: реализован механизм, упорядочивающий фреймы в соответствии с их выравниванием (по правому/левому краю, по верхней/нижней границе, по центру), теперь фреймы с одинаковым выравниванием имеют соседние Z-Index, что гарантирует невозможность визуально оказаться фрейму посреди другого фрейма.

14. Неисправимая ошибка прогресс бара

Использование скриптового метода ExecSQLWithProgress() с большой долей вероятности приводило к исключению “Неисправимая ошибка” при достижении 100% выполнения.

Исправлено.

15. Поддержка вывода всплывающей подсказки с нужным текстом при наведении на поле в древовидном представлении

Возможность реализована по аналогии с существующим функционалом в списочных фреймах.

Текст подсказки задаётся в скриптовой операции OnShowCellComment через TbtkScriptHintController (Selection.Controller.Hints). Операция вызывается для атрибутов, чьё имя присутствует в поле, указанном в свойстве CommentAttribute.

New in version BTK: 1.5.1.0.

Пример паскаль операции OnShowCellComment
<PASCAL>
  hints := Selection.Controller.Hints;
  if hints.GetHint(hints.AttributeName, hints.RecordId) = '' then
    hints.PutHint(hints.AttributeName, hints.RecordId, Format('Подсказка для %s_%s', [hints.AttributeName, hints.RecordId]));
</PASCAL>

16. Добавить в скриптовые методы навигацию по записям редактора (дерево, список) выборки

В TbtkScriptControllerObject добавлены методы для навигации по элементам контрола в порядке их вывода на экран. Добавлены следующие методы:

  • Next
  • Prior
  • First
  • Last
  • IsLast
  • IsFirst
  • IsEmpty
  • VisibleElementCount

Методы с похожей функциональностью присутствовали и остаются в классе TbtkScriptSelectionObject. Новые методы добавлены в рамках улучшения структуры скриптового API.

17. Невозможно скрыть секунды при использовании механизма “Атрибут, отвечающий за тип редактора”

Добавлена возможность использовать свойство HideSeconds в поле, указанном в качестве “Атрибут, отвечающий за тип редактора”.

18. Неправильно печатается отчет FastReport

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

19. Расширить встроенные криптографические возможности скриптера

Функциональность криптографического API (скриптовый объект Cryptor) расширена классами по работе с сертификатом безопасности (TbtkCryptorCertificate) и расчёту/подписанию хешей данных (TbtkCryptorHash).

20. Реализовать 2D штрихкоды в отчетах FastReport

Произведен переход на FastReport 5, что дает возможность использовать 2D штрихкоды в отчетах FastReport.

Для новых шаблонов FR5 добавлен формат отчета - FastReport 5 (*.fr5).

Отчеты FastReport 4 (*.fr3) можно открыть только для печати. Для редактирования старых отчетов необходимо установить обновление модуля RPT, которое будет автоматически менять формат отчета с FR4 на FR5. Это заблокирует возможность изменения отчетов FR5 в старых клиентах, использующих FR4, во избежание порчи шаблонов отчетов.

21. Не рефрешится фрейм на закрытой закладке, после RefreshDetails

Переработан механизм блокировки связи “Мастер/Деталь”. Подробности можно прочесть в документации метода TbtkScriptSelectionObject.LockRefreshDep().

22. Ошибка в работе тулбара в редакторе отчетов FastReport5

Кнопки на панели инструментов, отвечающие за индикацию отображаемых границ объекта отчёта, работали неверно: при переключении на объект “загоралась” только одна из кнопок.

Исправлена ошибка работы редактора отчётов FastReport.