Версия 3.8
| Версия/Тикет |
Режим |
Краткое описание |
| 3.8.342.198 |
Новое |
|
| 1035348 |
Схемы |
У Элемента добавлено Событие OnTabActivate, которое срабатывает при каждом нажатии на таб, на котором расположен контрол элемента. В параметр передается элемент. Если событие прописано для детали - передается коллекция. Позволяет выполнять рефреш контрола каждый раз, когда пользователь открывает таб, а не только в начале при открытии карточки либо по отдельному Action. Если функция-обработчик вернет True, будет автоматически выполнен Refresh формы. |
| 1035345 |
Скрипт |
В gRoot.RunCardByID добавлен последний необязательный параметр ReadOnly, который указывает, что карточка должна открыться в режиме просмотра. Поведение аналогично параметру ReadOnly в команде RunCardByID. Значение по умолчанию = False Если НЕ используется функция загрузки параметров, обязательно должна передаваться пустая строка, например: gRoot.RunCardByID "BaseEntity", s, "", null, True |
| 1035344 |
Система |
Изменена внутренняя структура объектов для поддержки Action на любом уровне схемы |
| Исправления |
||
| 1035347 |
Система |
Исправлена сортировка параметров в форме параметров карточки запроса |
| 1035346 |
Система |
Исправлен GPF в редакторе вводов, возникавший после редактирования ввода из-за ошибки с подсчетом ссылок в скриптовой машине |
| 3.8.342.190 |
Новое |
|
| 1035131 |
Система |
1. Востановление возможности работать по именованым лицензиям. 2. Возможность работать с мульти-клиентской лицензией. 3. Защита протокола общения с сервером лицензий. |
| 1035128 |
Схемы |
Добавлено Управление показом Action: 1. Action должен показываться в карточке и гриде в зависимости от атрибутов Visible и GridVisible соответственно, таким образом появилась возможность прятать в списке режимы, актуальные только для процесса редактирования (например, пересчет значений или загрузку данных) и в карточке прятать действия, ориентированные,например, на работу с готовыми, неизмененными, данными(или над несколькими элементами). 2. Если у Action установлен атрибут ActionForList="True", На вход в функцию передается коллекция, а не элемент/массив элементов. Таким образом, если в списке нет ни одной записи, действие все равно будет доступно. Атрибут ActionForList имеет больший приоритет, чем ActionForSelection (его значение в таком случае игнорируется). Для гридов, если в коллекции нет ни одного элемента, в меню показываются только действия с ActionForList="True", остальные не показываются. OnClick может возвращать результат (True|False) - заменяющий атрибут NeedRefresh |
| Исправления |
||
| Исправления и доработки BP3 |
||
| 1035118 |
Система |
Испарвлена 100%-ная загрузка процесора после открытия грида с 250 тыс. Записей. Для этого переделано формирование лога. |
| 1035130 |
Схемы |
Не всегда обрабатывался атрибут LookupBookType |
| 3.8.342.189 |
Исправления |
|
| 1035102 |
Система |
Залипание прогрес-бара на новых сборках (RAD Studio XE6) |
| Исправления и доработки BP3 |
||
| 3.8.342.188 |
Новое |
|
| 1035070 |
Система |
Команда: ClearCache Параметры: Analisys - сброс Аналитик (все созданные схемы не перегружаются) Access - сброс кеша схемы AccessTable (только данные, схемы не перегружаются) Book - сброс кеша Book-схем (только данные, схемы не перегружаются) BP - сброс кеша BP3 (только данные Bp3, BP3_Event, BP3_State, BP3_Transition, схемы не перегружаются) Element - сброс глобального кеша элементов (там также кешируются View, GroupView и т.д.) Roles - сброс ролей (кеш обновляеся каждые 5 мин) SchemaAddon - сброс динамических расширений схем (все созданные схемы не перегружаются) SchemaXML - сброс кеша загруженых, но не импользуемых схем (все созданные схемы не перегружаются) Icon (скорее всего программа помрет!!!) RibbonMenu (меню не перегенерится, сброс только закешированой копии в файле) Registry - сброс кеша схемы Registry (только данные, схемы не перегружаются) |
| Исправления |
||
| 1035074 |
Запросы |
Открывать мастер запросов на редактирование если нет используемого поля |
| 1035101 |
Схемы |
Ругается при не совпадении LookupType и данных бука |
| 1035040 |
Схемы |
Исправлена обработка InsertBefore и InsertAfter |
| 3.8.342.186 |
Новое |
|
| 1035073 |
Система |
Исправлена и расширена gRoot.ElementToDBFImportFile <IElemCollection>, <SFileName>, <Encoding> Исправления: 1) Currency всегда импортировалась как строка -> теперь как число (20 знаков включая знак и разделитель) с учетом Precission 2) Все числа импортировались в поле длиной 20 знаков -> теперь только Float(Single и Double), Currency и LargeInt (Int64), а для остальных остальных длина поля уменьшена: Byte 0..255 - 3 знака; Int8 -128..127 - 4 знака; Word 0..65535 - 5 знаков; Int16 -32768..32767 - 6 знаков; DWord 0..4294967295 - 10 знаков; Int32 -2147483648..2147483647 - 11 знаков. 3) Значения Null импортировались только для строк (CHARacter) и дат (DATE) полей, для чисел (NUMeric) простовлялись нули, Boolean (Logical) - False -> теперь все Null импортируются корректно. 4) Теперь в описании DBF файла проставляется кодировка с которой импортировалось (программы для работы с DBF теперь автоматически переключаются на правильную кодировку) 5) Параметр <Encoding> дополнен значениями для кодирования символов и указания максимальной длины строк (CHARacter) - важно для длинных строк т.к. поддержка Memo полей в DBF требует геннерации еще одного файла (DBT(dBASE) или FPT(FoxPro), или SMT(Clipper)). Значения для параметра <Encoding>: 0 - как и раньше - MS-DOS Cyrillic (CodePage 866) 1 - как и раньше - Windows ANSI Cyrillic (CodePage 1251) 2 - Macintosh Cyrillic (CodePage 10007) 3 - Unicode UTF8 (CodePage 65001) 4 - Current System OEM CodePage 5 - Current System ANSI CodePage 6 - Macintosh Standatd Roman (CodePage 10000) 7 - Reserved CodePage 8 - OEM Cyrillic CP (CodePage 866) - отличие от Encoding: 0 только в оглавлении DBF-файла 9 - Windows ANSI Latin 1 (CodePage 1252) 10 - Macintosh Ukrainian (CodePage 10017) 11 - Unicode UTF7 (CodePage 65000) 12 - Reserved CodePage 13 - Reserved CodePage 14 - Reserved CodePage 15 - Reserved CodePage 16 - Reserved Encoding Flag 32 - Reserved Encoding Flag 0 - Encoding Flag for MAX_CHAR_LEN = 254 (dBASE III) 64 - Encoding Flag for MAX_CHAR_LEN = 1024 (DBF Manager, etc.) 80 - Encoding Flag for MAX_CHAR_LEN = 32767 (FoxPro, Clipper) 192 - Encoding Flag for MAX_CHAR_LEN = 65535 * Значения CodePage и Encoding Flag можно комбинировать |
| Исправления |
||
| 1035082 |
Система |
BSI Launcher не коректно работает (обрыв распаковки и обновление уже оновленного) |
| 1035084 |
Система |
Переключение Ribbon -> ClassicMenu скрывает пункты меню |
| 3.8.342.185 |
Новое |
|
| 1035080 |
Система |
Добавлен метод RefreshForKeys в IBSForm для принудительного обновления по масиву ключей грида/дерева, например, после работы скрипта, изменяющего данные в базе. |
| 1035083 |
Схемы |
Оновлять Templat-ы всех видов одной процедурой ReloadEntry |
| Исправления |
||
| 1035081 |
Система |
При закрытии карточки открытой с использованием SchemaEdit - обновлять связвную запись в гриде/дереве |
| 3.8.342.184 |
Новое |
|
| 1035068 |
Система |
Добавлена возможность использования таймера с интервалом повторения, измеряемым в секундах. По истечении заданного времени происходит вызов скриптовой функции с передачей параметров, указанных при подписке. Подписка возможна для всей системы либо для конкретной экранной/визуальной формы. Примеры использования: - Для автоматического обновления в карточке, открытой на редактирование, показаний подключенных весов - для периодической зачитки уведомлений из базы данных Формат: gRoot.Subscribe(TypeId: Int; Callback: Str; Frequency: Int; Custom: Variant): Int64; Frequency (Seconds) TypeId: msoIdle = 1 msoTimer = 2 msoParallel = 4 msoIgnoreError = 8 msoTimerIgnoreError = msoTimer + msoIgnoreError ( = 10) Callback: function Callback(SubscribeID: Int64; ByRef Custom: Variant): boolean; ' if Result is True then Unsubscribe(SubscribeID) Если callback-Функция подписки вернет False, подписка будет отменена. TimerID = gRoot.Subscribe(10, "UnitTestSubscribeEvent", 5, 1) IBSForm.Subscribe(TypeId: Int; Callback: Str; Frequency: Int): Int64; Callback: function Callback(SubscribeID: Int64; Form: IForm): boolean; ' if Result is True then Unsubscribe(SubscribeID) Отписаться: В случае подписки для формы, при закрытии этой формы, происходит автоматическая отмена подписки. Для общесистемных подписок отменять подписку надо принудительно, иначе она будет обрабатываться до перезагрузки либо закрытия экземпляра BSI. Также прекратить подписку можно при помощи gRoot.UnSubscribe gRoot.Unsubscribe(Subscriber: Variant); <ParamType> is numeric - Unsubscribe by Unique ID <ParamType> is string -> Unsubscribe all with Callback = <Param> <ParamType> is Object: Object is IElement -> Find subscribed IForm by Element может принимать - код таймера, возвращенный gRoot.Subscribe - Element , будут удалены все подписики на форму с этим элементом - Имя Callback функции, будут удалены все подписки на нее Отписка формы: IBSForm.Unsubscribe(Subscriber: Variant); <ParamType> is Empty -> IForm.Unsubscribe(all) <ParamType> is Null -> IForm.Unsubscribe(all) <ParamType> is numeric: <Param> = -1|0 -> IForm.Unsubscribe(all) <Param> <> -1|0 -> IForm.Unsubscribe(Unique ID) <ParamType> is string: <Param> = "" -> IForm.Unsubscribe(all) <Param> <> "" -> IForm.Unsubscribe(<Callback script name>) <ParamType> is Object: <Param> is IElement -> IForm.Element = <Param> -> IForm.Unsubscribe(all) <Param> is IForm -> IForm = <Param> -> IForm.Unsubscribe(all) |
| 1035069 |
Схемы |
Добавлено событие OnAfterPaste в дополнение к OnBeforePaste. На вход передается новый несохраненный элемент с заполненными значениями. Для дерева поле Parent заполнено кодом элемента, на котором нажали "вставить". |
| Исправления |
||
| 1035067 |
Система |
При вставке из клипбоарда в дерево в поле Parent подставлять код текущей активной в списке записи. Облегчает,например, копирование и вставку записей в настройке меню и т.д. |
| 3.8.342.183 |
Новое |
|
| 1035039 |
Схемы |
Значения из атрибутов схемы справочника (из заголовка) дожны перетирать значения атрибутов элемента (в котором указан RefBook), если в файле parse_refbook.xml для правила указан атрибут Overwrite="True" (например <element name="NotionReadOnly" Overwrite="True">ReadOnly</element>). Таким образом появится возможность внести изменения во все элементы, где используется интересующий RefBook, поменяв через custom в 1м месте. Например,так можно спрятать все элементы,ссылающиеся на какой-то справочник. |
| 1035035 |
Схемы |
Обработка SchemaAddon. Позволяет собирать схему из неограниченного кол-ва блоков, не только из ParentSchema и schema. |
| 1035041 |
Схемы |
Выполнять перенос атрибутов из RefBook для аналитик - ссылок |
| Схемы |
ReloadSchema COR ReloadSchema файл, false - перегружает из файла только скрипты, не трогая схемы. Если файл ранее не загружен, то параметр игнорируется |
|
| Исправления |
||
| 1035040 |
Схемы |
Исправлена обработка InsertBefore и InsertAfter |
| 1035042 |
Схемы |
Исправление порядка зачитки custom схем, для оптимизации полностью переделана зачитка схем |
| 3.8.342.182 |
Новое |
|
| 1034998 |
Схемы |
Добавлен Action для деталей схемы |
| 1035012 |
Схемы |
Для карточек добавлено новое событие - OnAfterClose(inElement, iForm). Вызывается после того, как с элемента при закрытии снимается блокировка. Позволяет, например, переоткрыть редактируемую карточку другой схемой:
|
| 1035014 |
Схемы |
При включении атрибута ButtonNext="True" в деталях должна появляться кнопка следующая. Для деталей атрибут рекомендуется добавлять не в схему детали, а в строку детали, в парент схеме (схема которая содержит деталь). - работает только для новых строк деталей. |
| Исправления |
||
| 1034966 |
Грид |
При начале внесения новой строки в гриде (не через карточку, а прямо в гриде), новая строка визуально заполнялась значениями последней строки. |
| 3.8.342.181 |
Новое |
|
| 1035000 |
Скрипты |
Для использования в скриптах в gRoot опубликованы функции шифрования и расшифровки gRoot.Encode и gRoot.Decode. Подробнее http://erpbsi.com/encryption |
| Исправления |
||
| 1034999 |
Группировки |
При использовании MS SQL 2012 и выше, возникала ошибка из-за использования DISTINCT в группировках с сортировкой по вычисляемым полям. |
| 1034988 |
Грид, Combobox |
В гридах не вызывалось событие OnFillComboBox для элементов с наполняемыми в скриптах списками. |
| 1034995 |
Схемы |
Для полей аналитик со ссылками на справочник неправильно определялось поле названия для формирования и возникала ошибка при отсутствии поля Name в схеме. |
| 1035002 |
Control WebBrowser |
Добавлена обработка внутреннего события HTML OnPropertyChange, так как при обновлении поля формы из HTML-скрипта, событие OnChange у соответствующего элемента BSI не вызывалось. |
| 3.8.342.180 |
Новое |
|
| 1034989 |
Грид |
В гриде добавлен переключатель "Итоги по выбранным" - если есть выделенные строки, итоги будут считаться только по выделенным, а не по всему гриду |
| 1034982 |
БП |
Работа с BP 1.0 на прямых схемах (вместо template достаточно указать имя схемы, остальные настройки без изменений) |
| 1034990 |
Грид |
Добавление режима быстрой настройки колонок (из левого верхнего угла) |
| Исправления |
||
| 1034988 |
Грид |
ComboBox колонки с динмическими списками не обновляются при вызове списка |
