Поиск

Личный кабинет

Версия/Тикет

Режим

Краткое описание

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).

Вызывается после того, как с элемента при закрытии снимается блокировка.

Позволяет, например, переоткрыть редактируемую карточку другой схемой:

  • по нажатию Action выполнить закрытие формы, с сохранением в CustomData элемента какого-то значения
  • В событии OnAfterClose, если в CustomData  передан параметр, выполнить открытие RunCardByID другой схемы, по ключу закрываемой карточки
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 колонки с динмическими списками не обновляются при вызове списка