1. Internal prebuild Library¶
1.1. Доступ к объектам сущностей фреймворка¶
-
InternalLibrary.
Selection
¶ Доступ к объекту выборки текущего контекста. Возвращает объект класс
TbtkScriptSelectionObject
1.2. Методы модуля¶
-
InternalLibrary.
CreateReportForm
(ASelWithTemplate, AFieldWithTepmlate, AExtention, ATemplateFileName, AAction, ASelectionName, AOpenStyle)¶
Альтернативный метод создания отчёта. В него необходимо передавать выборку с шаблоном отчёта или имя файла.
param TbtkScriptSelectionObject ASelWithTemplate: выборка с шаблоном отчета. param String AFieldWithTepmlate: Имя поля в выборке SelWithTemplate, в котором находится шаблон отчёта. param String AExtention: Расширение файла-шаблона, находящегося в базе. param String ATemplateFileName: Имя файла-шаблона находящегося на жестком диске. param TReportVieMode AAction: Действие, которое необходимо произвести после заполнения отчёта. Может иметь следующие значения: rvmShow – открыть отчёт на просмотр rvmSave – сохранить отчёт на жесткий диск (при этом будет запрошено имя файла), rvmPrint – напечатать отчёт. param String ASelectionName: Устаревший параметр, не используется, в качестве параметра передавайте пустую строку. Системное имя выборки, операции которой будут отображены на панели задач фрейма, при просмотре отчёта. Если параметр не указан, на панели задач будут отображены операции выборки, из которой было вызвано создание отчёта. param TFormCreationFlags AOpenStyle: Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
1.3. Классы модуля¶
1.3.1. TbtkScriptSelectionObject¶
-
class
InternalLibrary.
TbtkScriptSelectionObject
¶ Скриптовый класс реализует доступ к сущности Выборка. Создание объекта этого класса приведет к создание выборки без визуального отображения.
-
SetVar
(Name, Value)¶ Устанавливает значение параметра.
Parameters: - Name (string) – Имя параметра
- Value (variant) – Значение параметра
See also
Подробнее о параметрах в Параметры выборки .
-
GetVar
(Name)¶ Возвращает значение параметра выборки по имени атрибута Name.
Parameters: Name (string) – Имя параметра Returns: Значение параметра Return type: TbtkScriptControllerObject See also
Подробнее о параметрах в Параметры выборки .
-
Controller
¶ Возвращает объект класса
TbtkScriptControllerObject
по работе с GUI редактором выборки.
-
OleContainer
¶ Возвращает объект класса
TOleContainer
.
-
PivotGrid
()¶ Возвращает объект класса
TbtkScriptPivotGridObject
.
-
CreateLobLocator
()¶ Создаёт объект локатора привязанный к сессии данной выборки.
Return type: TbtkScriptOraLobLocator
-
CreateReport
(ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag)¶ Генерирует отчет по его системному имени и дате, по которой будет найдена актуальная версия шаблона.
Parameters: - AReportName (String) – Cистемное имя отчёта.
- AReportVersionDate (TDateTime) – Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
- AAction (TReportViewMode) – Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
- AShowWizard (Boolean) – Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
- AOpSelectionName (String) – Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд (“Save as” и “Print”)
- AStyleFlag (TFormCreationFlags) – Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
-
CreateReportEx
(ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag, Params, ParamsValues)¶ Генерирует отчёт по его системному имени и дате, по которой будет найдена актуальная версия шаблона. Метод представляет рассширенную версию метода CreateReport.
Parameters: - AReportName (String) – Cистемное имя отчёта.
- AReportVersionDate (TDateTime) – Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
- AAction (TReportViewMode) – Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
- AShowWizard (Boolean) – Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
- AOpSelectionName (String) – Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд (“Save as” и “Print”)
- AStyleFlag (TFormCreationFlags) – Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
- AParamNames (Array) – Массив имен параметров отчета.
- AParamValues (Array) – Массив значений параметров AParamNames отчета.
-
AsyncExecOpScript
()¶ Асинхронный вызов операции
Parameters: AOperationName (String) – Имя операции
-
ExecOpScript
()¶ Выполняет операцию выборки
Parameters: OpName (String) – Имя операции в текцщей выборке
-
BlobOpen
()¶ -
Запускает приложение, ассоциированное с расширением Extension, передает ему данные из поля выборки FieldName и, если Wait=true, то ожидает завершения запущенного приложения, после чего сохраняет или нет (в зависимости от параметра Save) обратно в БД. Возвращает true если изменения в файле были сохранены в поле.
Parameters: - AFieldName (Varant) – Имя поля
- AExtension (Variant) – Расширение файла (с точкой впереди)
- AWait (Variant) – Ожидать ли завершения запущенного приложения.
- ASave (Variant) – Имеет смысл только если параметр Wait=true. Сохранять ли файл в БД если он был изменен: stTrue – сохранить stFalse – не сохранять
-
BlobOpenEx
()¶ -
Добавлена возможность открывать на редактирование файлы хранящиеся в blob-полях в немодальном режиме. В не модальном режиме файл можно открыть использую метод BlobOpenEx. После завершения приложения будет вызвана операция выборки. Операция выборки вызовется только в случае если файл был изменён. Возвращает true если изменения в файле были сохранены в поле.
Parameters: - AFieldName (Varant) – Имя поля типа blob с файлом.
- AFileName (String) – Имя файла. Можно передать:
- Полный путь к файлу (C:Temppicture.jpg); В случае, если такой файл уже существует, то будет возбуждено исключение.
- Имя файла (picture.jpg), тогда приложение попытается создать файл с таким именем во временном каталоге пользователя;
- Расширение файла (.jpg) - приложение попытается создать файл с уникальным именем и указанным расширением во временном каталоге пользователя.
Parameters: - ASelection (TbtkScriptSelectionObject) – Выборка в которой будет вызвана операция на событие завершение редактирования файла
- AOperation (String) – Имя операции которая будет вызвана при завершении редактирования файла
- Amode (TbtkWatcherMode) – Режим открытия файла:
- wmProcess - Определение того, что файл редактируется, производится на основе существования процесса приложения открывшего его. Как только процесс завершается, делается вывод, что редактрование завершено. Данный режим обладает недостатком. Если приложение(например MS Word) для открытия нескольких файлов использует один и тот же процесс, то процесс завершится после закрытия всех открытых файлов, чего следует избегать, и , по возможности, использовать следующий режим;
- wmFile - Определение того, что файл редактируется, производится на основе того, что многие прилоежния занимают файл при открытии, недопуская его открытия на редактирование другим приложением. Но данный способ применим не ко всем приложениям (Например, приложение “Блокноте” не запрещает редатировать файл при открытии другим приложения).
- wmAuto - авто-определения режима. В случае, если при вызове уже не запущен процесс приложения которым следует открыть файл, то будет выбран режим wmProcess , иначе режим wmFile.
-
BlobOpenEx2
(FieldName, FileName, Selection, Operation, Mode, AModal, ExecOperOnClose, ChoiseMode)¶ Метод позволяет открывать на редактирование файлы хранящиеся в blob полях в не модальном режиме и модальном режиме, объединяя возможности
InternalLibrary.TbtkScriptSelectionObject.BlobOpen
иInternalLibrary.TbtkScriptSelectionObject.BlobOpenEx
. После завершения приложения открывшего файл будет вызвана операция выборки. Операция выборки вызовется только в случае если файл был измен или установлен флаг ExecOperOnClose. В выборку вызываемой операции будет добавлено два параметра выборки(получить значение можно функцией GetVar) “EditedFileName” - полное имя отредактированного файла, и “FileChanged” - был ли изменён документ или нет (значение Boolean).Parameters: - FieldName (string) – Имя поля или значения контекста выборки
(см.
InternalLibrary.TbtkScriptSelectionObject.AddVar
) типа blob с файлом. - FileName (string) –
Имя файла.
- Полный путь к файлу (C:\Temp\picture.jpg); В случае, если такой файл уже существует, то будет возбуждено исключение.
- Имя файла (picture.jpg), тогда приложение попытается создать файл с таким именем во временном каталоге пользователя;
- Расширение файла (.jpg) - приложение попытается создать файл с уникальным именем и указанным расширением во временном каталоге пользователя.
- Selection (TbtkScriptSelectionObject) – Скриптовый объект выборки из которой будет вызвана операция из параметра Operation.
- Operation (string) – Имя операции из выборки ASelection которая будет вызвана на закрытие приложения, при условии что файл был изменен.
- Mode (TbtkWatcherMode) –
Режим открытия файла:
- wmProcess - Определение того, что файл редактируется, производится на основе существования процесса приложения открывшего его. Как только процесс завершается, делается вывод, что редактирование завершено. Данный режим обладает недостатком. Если приложение(например MS Word) для открытия нескольких файлов использует один и тот же процесс, то процесс завершится после закрытия всех открытых файлов, чего следует избегать, и , по возможности, использовать следующий режим;
- wmFile - Определение, что файл редактируется производится на основе того, что многие прилоежния занимают файл при открытии, недопуская его открытия на редактирования другим приложением. Но данный подход применим не ко всем приложениям(Например, приложение “Блокнот” не запрещает редатировать файл при открытии другим приложением).
- wmAuto - авто-определение режима. В случае, если при вызове запущен процесс приложения которым следует открыть файл, то будет выбран режим wmProcess , иначе режим wmFile.
- AModal (Boolean) – Флаг задает модальный режим открытия файла.
- ExecOperOnClose (Boolean) – Не обязательный параметр, по умолчанию значние False. Вызывает операцию выборки, независимо от того был документ изменён или нет.
- ChoiseMode (TbtkFileChoiseMode) –
Режим выбора приложения для открытия файла. Необязателен - по умолчанию fcmByExtensionOrDialog.
- TbtkFileChoiseMode
- fcmByExtension - приложение которым будет открыт файл выбирается согласно существующих настроек в системе.
- fcmByExtensionOrDialog - расширяет возможности значения fcmByExtension, если расширению файла не сопоставлено никакого приложения, то будет открыт диалог выбора приложения.
- fcmAlwaysWithDialog - всегда предлагать пользователю выбрать приложение, вне зависимости от существующих в системе настроек.
Note
Если при открытии через
BlobOpenEx2
используется режим открытия wmFile - режим при котором приложение занимает файл на время работы с ним, то могут возникать нюансы:- Некоторые приложения занимают файл не сразу после вызова и нужно время чтобы дать приложению открыться и занять файл. По умолчанию дается 15 секунд. Если приложение заняло файл быстрее, чем за 15 секунд, то начинается отслеживание когда приложение освободит файл. Если же приложение не заняло файл, то через 15 секунд будет вызвана операция-обработчик извещающая о том, что работа с файлом завершена.
- Приложение может не занять файл, если открывает его в режиме только на чтение, так сделает, например, MS Excel когда открывает потенциально опасный файл в защищенном режиме.
Warning
На ОС Windows 8+ метод может вызвать исключение EbtkFileWatcherException в случае, если файл открыт средством просмотра документов (фотографий) в модальном режиме или с CallBack-операций. Шаблон обработки этого исключения см. в примере ниже.
Пример¶<sql> <func> [out blobe] begin select t.blobfile into :blob from btk_attach t where t.id = 2890001; end; </func> </sql> <pascal> Selection.AddVar('blob', null, ftOraBlob); ExecSQL('func'); try Selection.BlobOpenEx2('blobe', GetTempFileName('','.doc'), Selection , '' ,wmAuto, true); except if not SameText(LastExceptionClassName, 'EbtkFileWatcherException') then raise(LastExceptionMessage); end; Selection.SetVar('blobe', null); //Освободить память от блоба. </pascal>
- FieldName (string) – Имя поля или значения контекста выборки
(см.
-
DownloadFile
(FieldName, FileName)¶ Метод сохраняет содежимое поля типа Blob, в файл на жёстком диске.
Parameters: - FieldName (string) – Имя поля выборки. Содержимое поля будет сохранено на диск.
- FileName (string) – Имя файла, или полный путь к файлу, куда следует сохранить Blob.
Note
Если FileName не задан, или равен пустой строке, или содержит краткое имя файла, открывается диалог сохранения файла с возможностью выбора каталога и имени нового файла.
-
UploadFile
(FieldName)¶ Метод загружает файл с жёсткого диска пользователя в поле (Blob) выборки. Возвращает полное имя загруженного файла. В случае отмены действия возвращает пустую строку. Выбор файла для загрузки выполняется с помощью диалога открытия файла.
Parameters: FieldName (string) – Имя поля выборки куда будет загружен файл.
-
SelectedRecordsCount
()¶ Количество выделенных записей.
Return type: Integer
-
SelectedValue
(FieldIndex, Index)¶ Значение выделенной записи по индексу поля.
Parameters: - FieldIndex (Integer) – Индекс поля.
- Index (Integer) – Номер выделенной записи.
Return type: Variant
-
SelectedValuebyName
(FieldName, Index)¶ Значение выделенной записи по имени поля.
Parameters: - FieldName (String) – Имя поля.
- Index (Integer) – Номер выделенной записи.
Return type: Variant
-
DoLookup
(ALookupControlClass, AEntityName, ALocateFieldNames, ALocateFieldValues, AResultFieldNames, AMultiSelect)¶ Отображает выборку в режиме выбора (в lookup-форме) и возвращает результат в виде набора записей
InternalLibrary.ILookupData
.Parameters: - ALookupControlClass (String) – Имя класса формы.
- AEntityName (String) – Системное имя выборки (если пусто, то определяется вызываемой формой).
- ALocateFieldNames (Array) – Массив имен атрибутов выборки по которым ищется запись для начального позиционирования.
- ALocateFieldValues (Array) – Массив значений для LocateFieldNames.
- AResultFieldNames (Array) – Массив имен атрибутов выборки, значения которых будут возвращены как результат. В случае, если необходимо вернуть значение атрибута из детальной выборки, в качестве массивов имен атрибутов передаются имена состоящие из: [имя выборки].[имя поля].
- AMultiSelect (Boolean) – Возможен ли выбор нескольких записей из выборки.
Return type:
-
DoLookupEx
(ALookupControlClass, AEntityName, ALocateFieldNames, ALocateFieldValues, AResultFieldNames, AMultiSelect, APropNames, APropValues)¶ Отображает выборку в режиме выбора (в lookup-форме) и возвращает результат в виде набора записей
InternalLibrary.ILookupData
.Parameters: - ALookupControlClass (String) – Имя класса формы.
- AEntityName (String) – Системное имя выборки (если пусто, то определяется вызываемой формой).
- ALocateFieldNames (Array) – Массив имен атрибутов выборки по которым ищется запись для начального позиционирования.
- ALocateFieldValues (Array) – Массив значений для LocateFieldNames.
- AResultFieldNames (Array) – Массив имен атрибутов выборки, значения которых будут возвращены как результат. В случае, если необходимо вернуть значение атрибута из детальной выборки, в качестве массивов имен атрибутов передаются имена состоящие из: [имя выборки].[имя поля].
- AMultiSelect (Boolean) – Возможен ли выбор нескольких записей из выборки.
- APropNames (Array) – Массив имен свойств.
- APropValues (Array) – Массив значений свойств.
Return type:
-
CreateForm
(AFormName, AEntityName, AFormType)¶ Parameters: - AFormName (String) – Имя формы.
- AEntityName (String) – Имя выборки которая будет показана на форме.
- AFormType (TFormCreationFlags) – Определяет как будет показана форма.
Return type:
-
CreateFormEx
(AFormName, AEntityName, AFormType, APropNames, APropValues)¶ Parameters: - AFormName (String) – Имя формы.
- AEntityName (String) – Имя выборки которая будет показана на форме.
- AFormType (TFormCreationFlags) – Определяет как будет показана форма.
- APropNames (Array) – Массив имен параметров.
- APropValues (Array) – Массив значений параметров.
Return type:
-
1.3.3. TModalResult¶
1.3.4. ILookupData¶
-
class
InternalLibrary.
ILookupData
¶ Информация о выбранных записях в lookup-форме.
-
LookupResult
¶ Результат выбора записей в lookup-форме.
Return type: TLookupResult
-
RecCount
¶ Суммарное (по всем выборкам указанным в ResultFieldNames и в системной выборке EntityName) количество записей, выбранных пользователем. Если массив ResultFieldNames пустой то количество записей всегда равно 0.
Return type: Integer
-
Data
(AttrNo, RecNo)¶ Возвращает значение поля.
Parameters: - AttrNo (Integer) – Номер поля.
- RecNo (Integer) – Номер записи.
Note
Нумерация полей с начинается 0, а записей с 1.
-
1.3.5. TLookupResult¶
1.3.6. TbtkScriptControllerObject¶
-
class
InternalLibrary.
TbtkScriptControllerObject
¶ Класс реализующий интерфейс взаимодействия с выборой посредством GUI контрола.
-
SetFocus
()¶ Перевод фокуса ввода на оконный элемент выборки.
-
BeginDrag
(Immediate, Threshold)¶ Процедура запускает перетаскивание объекта на котором удерживается нажатый указатель мыши. Данную процедуру следуют использовать только из операции триггера onCanDragObject, если свойством фрейма DragAndDropRows.DragMode задан ручной режим перетаскивания.
Parameters: - Immediate (Boolean) – Если данный параметр установлен в True, то режим перетаскивания будет включен незамедлительно, сразу по нажатию на кнопку мыши, иначе режим перетаскивания включится только после смещение указателя на кол-во пикселей указанное в параметре Threshold
- Threshold (Integer) – количество пикселей, на которое необходимо сдвинуть чтобы началось перетаскивание объекта.
-
SetDropAsChild
(AValue)¶ Метод можно использовать в операции OnDragDrop, в случае если используется режим автоматического переноса записей (DragAndDropRows.AutoDropTo) то с помощью этого метода можно определить как перенести запись, как потомка относительно записи на которую перетаскиваем, или на тот же уровень. Метод действует только на один перенос, после чего значение DropAsChild сбрасывается (вызов надо делать перед каждым бросанием). По умолчанию запаись перемещается в список потомков.
Parameters: AValue (Boolean) –
-
DragObject
¶ - Свойство возвращает источник, который инициировал перетаскивание. Тип источника
TbtkScriptSelectionObject
. Перед использованиемTbtkScriptControllerObject.DragObject
следует проверить его с использованием функции Assigned. Использовать данное свойство можно из операций-триггеров OnDragOver и OnDragDrop. OnDragOver вызывается при перемещении указателя в состоянии «перетаскивание».Return type: TbtkScriptSelectionObject
-
AcceptDragObject
¶ - Свойство определяет возможность «принятия» перетаскиваемого объекта объектом, над которым находится указатель мыши. Использовать данное свойство следует использовать в операции–триггере OnDragOver, которая вызывается автоматически при перемещении указателя в режиме «перетаскивание».
-
rtype: | Boolean
|
---|
1.3.7. TbtkScriptRecordObject¶
1.3.8. TbtkScriptOraLobLocator¶
-
class
InternalLibrary.
TbtkScriptOraLobLocator
¶ Вспомогательный класс для прямой работы с lob-локатор-ами на сервере. Класс хранит идентификатор локатора на сервере(Handle предоставляемый OCI) и предоставляет набор методов для работы с ним. Для работы с экземплярами данного класса при передаче в запросы следует использовать тип
ftOraLobLocator
.Главной отличительной особенностью работы с блобами через локатор является тот факт что чтение/запись осуществляются без кеширования - потоково. Это снимает ограничение на количество данных со стороны клиента. Прочие же способы работы с блобами ограничены объёмом доступной оперативной памяти.
Методы загрузки/сохранения работающие с файлом (
LoadFromFile
,SaveToFile
) ограничений по объёму не имеют. Методы жеWriteData
иReadData
ограничены доступным объёмом оперативной памяти, т.к. работают с Variant-массивом хранящимся в памяти приложения; реализованы для совместимости с ранее имевшимися методами работы с блобами, такими какLoadFromFileToBlob
.Note
- Время жизни экземпляра lob-локатора управляется счётчиком ссылок.
- Экземпляр lob-локатора всегда привязан к одной конкретной сессии в рамках которой он был создан,
если сессия закрыта, то возможность обратиться к клиентскому экземпляру остаётся валидной, но попытки
оперировать данными на сервере будут возвращать cоответствующую ошибку. Если не известно состояние
серверного объекта - следует проверять свойство
IsInit
.
-
LoadFromFile
(AFileName)¶ Загрузить содержимое файла на сервер
Parameters: AFileName (String) –
-
SaveToFile
(AFileName)¶ Скачать данные с сервера. Сохранить данные в указанный файл.
Parameters: AFileName (String) –
-
ReadData
()¶ Скачать данные с сервера. Данные будут размещены в памяти скриптера в виде Variant-массива байт
Return type: Variant Returns: Variant-массив байт
-
WriteData
(AData)¶ Загрузить данные на сервер. В качестве данных используется Variant-массив байт в памяти скриптера.
Parameters: AData (Variant) – Массив данных полученный одним из Blob-методов или методом ReadData
.
-
CreateTemporary
()¶ Создать временный объект на сервере. Требуется для отправки данных на сервер.
-
Length
¶ Количество байт в данном курсоре.
Return type: Integer
-
IsInit
¶ Проверить инициализирован ли данный локатор, имеется ли связь с объектом на сервере. Свойство корректно отработает как в случае когда объект не связан с данными на сервере (не инициализирован), так и если сессия была закрыта - вернёт False; в противном случае, если связь имеется и, соответственно, доступна работа с данными локатора (на сервере) - возвращается True.
Return type: Boolean
-
IsBlob
¶ Проверить является ли данный курсор блобом.
Return type: Boolean
-
IsClob
¶ Проверить является ли данный курсор клобом.
Return type: Boolean
-
IsTemporary
¶ Проверить является ли данный курсор временным.
Return type: Boolean
1.3.9. TOleContainer¶
-
class
InternalLibrary.
TOleContainer
¶ Компонент ялвялется контейнером OLE объектов. В нем можно создать и отобразить экземпляр Microsoft Office Word, Excel.
-
CreateObjectFromFile
(FileName, Iconic)¶ Создает новый OLE объект из файла. Определяет тип OLE класса по имени файла. Параметр Iconic опеределяет как будет созда объект, как инонка иил как встраиваемый контрол.
Parameters: - FileName (string) – Имя файла
- Iconic (Boolean) – Создать свёрнутым
-
CreateObject
(OleClassName, Iconic)¶ Создает новый OLE объект по имени класса объекта. Параметр Iconic опеределяет как будет созда объект, как инонка иил как встраиваемый контрол.
Parameters: - OleClassName (string) – Имя класса
- Iconic (Boolean) – Создать свёрнутым
-
DoVerb
(Verb)¶ Запрашивает OLE контрол выполнить некоторые действия. Так константа ovShow - показать объект, ovPrimary - активировать объект (действие по умолчнию). Метод следует вызвать только когда форма видима, инача будет возбуждено исключение, на попытку уставить фокус на OleContainer. Объявлены следующие константы ovShow, ovOpen, ovHide, ovUIActivate, ovInPlaceActivate, ovDiscardUndoState, ovPrimary.
Parameters: Verb (Integer) – Код команды
-
1.3.10. TbtkScriptPivotGridObject¶
-
class
InternalLibrary.
TbtkScriptPivotGridObject
¶ Предоставляет доступ к компоненту PivotGrid.
-
SaveToBlob
()¶ Сохраняет настройки PivotGrid в blob.
Returns: Сохранённые настройки для записи в blob. Return type: Variant Deprecated: Метод больше не используется. Пример¶<PASCAL> stream := Selection.PivotGrid.SaveToBlob(); SaveBlobToFile('...\Saved_Settings.txt', stream); </PASCAL>
-
LoadFromBlob
(ABlob)¶ Загружает настройки PivotGrid из blob-а.
Parameters: ABlob (Variant) – Настройки PivotGrid полученные из blob-а. Deprecated: Метод больше не используется. Пример¶<PASCAL> stream := LoadFromFileToBlob('...\Saved_Settings.txt'); Selection.PivotGrid.LoadFromBlob(stream); </PASCAL>
-
ResetAllSettings
()¶ Очищает настройки PivotGrid. При этом, как и при первом открытии, все поля помещаются в область фильтрации.
-
1.3.11. TbtkAdvDiagram¶
-
class
InternalLibrary.
TbtkAdvDiagram
¶ Скриптовый класс управляющий доступом к свойствам фрейма TbtkAdvDiagramFrame
-
CreateReport
(ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag)¶ Генерирует FastReport4 отчет, на основе шаблона “Diagram Report(*.dgr)”. Описание совпадает с
InternalLibrary.TbtkScriptSelectionObject.CreateReport
Parameters: - AReportName (String) – Cистемное имя отчёта.
- AReportVersionDate (TDateTime) – Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
- AAction (TReportViewMode) – Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
- AShowWizard (Boolean) – Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
- AOpSelectionName (String) – Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд (“Save as” и “Print”)
- AStyleFlag (TFormCreationFlags) – Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
-
CreateReportEx
(ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag, Params, ParamsValues)¶ Генерирует FastReport4 отчет, на основе шаблона “Diagram Report(*.dgr)”. Описание совпадает с
InternalLibrary.TbtkScriptSelectionObject.CreateReportEx
Parameters: - AReportName (String) – Cистемное имя отчёта.
- AReportVersionDate (TDateTime) – Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
- AAction (TReportViewMode) – Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
- AShowWizard (Boolean) – Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
- AOpSelectionName (String) – Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд (“Save as” и “Print”)
- AStyleFlag (TFormCreationFlags) – Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
- AParamNames (Array) – Массив имен параметров отчета.
- AParamValues (Array) – Массив значений параметров AParamNames отчета.
-
1.3.12. TbtkGantt¶
-
class
InternalLibrary.
TbtkGantt
¶ Скриптовый класс, управляющий доступом к фрейму TbtkLookUpGanttTreeFrame (диаграмма Гантта)
-
CreateReportEx
(ReportName, ReportVersionDate, Action, ShowWizard, OpSelectionName, StyleFlag, Params, ParamsValues)¶ Генерирует FastReport4 отчет, на основе шаблона “Diagram Report(*.dgr)”. Описание совпадает с
InternalLibrary.TbtkScriptSelectionObject.CreateReportEx
Parameters: - AReportName (String) – Cистемное имя отчёта.
- AReportVersionDate (TDateTime) – Дата, по которой будет найдена актуальная версия отчёта (если не задана, берётся SysDate).
- AAction (TReportViewMode) – Действие, которое небходимо произвести над отчётом после его создания. Возможные значения: {rvmPrint, rvmShow, rvmSave, rvmDesign}
- AShowWizard (Boolean) – Флаг отображения мастера настройки отчётов (если указана главная выборка мастера)
- AOpSelectionName (String) – Системное имя выборки, операции которой будут отображаться в главном меню окна при модальном просмотре построенного отчёта. Если не указана, подставляются выборки со стандартным набором команд (“Save as” и “Print”)
- AStyleFlag (TFormCreationFlags) – Флаг модального или немодального открытия окна просмотра отчёта {fcfModal, fcfMDI}. fcfMDI - работает только для отчетов на основе FastReport 4й версии.
- AParamNames (Array) – Массив имен параметров отчета.
- AParamValues (Array) – Массив значений параметров AParamNames отчета.
-
1.3.13. TbtkScriptTesterObject¶
-
class
InternalLibrary.
TbtkScriptTesterObject
¶ Класс, реализующий методы работы с тестируемым приложением Global.
-
RaiseOperationName
¶ Задаёт системное имя Pascal-операции обрабатывающей невыброшенные скриптовыми методам исключительные ситуации. В операцию первым параметром поступает текст исключительной ситуации, для того, чтобы можно было, например, сохранить его в лог выполнения скрипта. Операция должна принадлежать той же выборке что исполняет скрипт.
Return type: String
-
DefaultWaitExecTimeout
¶ Задаёт значение подставляемое по-умочанию в дефолтный параметр Timeout ф-й поддерживающих обработку ошибок сервера
Return type: Integer
-
DefaultDoRaise
¶ Задаёт значение подставляемое по-умочанию в дефолтный параметр DoRaise ф-й поддерживающих обработку ошибок сервера
Return type: Boolean
-
DefualtRaiseOnTimeout
¶ Задаёт значение подставляемое по-умочанию в дефолтный параметр RaiseOnTimeout ф-й поддерживающих обработку ошибок сервера
Return type: Boolean
-
Run
()¶ Метод запускает экземпляр тестируемого приложения.
Parameters: - ACmdLine (String) – command_lines приложения, там, как правило, передаются параметры соединение: пользователь/логин, база данных и имя главной выборки приложения.
- AInitSyncronize (Boolean) – параметр говорит о необходимости включить “синхронизацию выполнения методов”, что так же позволяет принимать ошибки сервера в скрипт.
-
Quit
()¶ Метод завершает работу, запущенного ранее экземпляра тестируемого приложения. Если в тестируемом приложении открыты какие-либо окна будет задан вопрос о подтвеждении закрытия.
-
Terminate
()¶ Метод аварийно завершает работу тестируемого приложения. Тестируемое приложение завершает свою работу без запросов закрытия активных форм.
-
Runned
¶ Свойство указывает, запущено ли тестируемое приложение.
Return type: Boolean
-
RunAsCurrent
()¶ Метод запускает экземпляр тестируемого приложения, используя имя пользователя и пароль текущего пользователя. В качестве параметра может быть передано системное имя главной выборки приложения.
Parameters: ACmdLine (String) – command_lines
-
CmdLine
()¶
-
DisableScriptRecording
()¶ Метод выключает в тестируемом приложении режим записи тестового скрипта.
-
ScriptRecording
¶ Свойство указывает, что тестируемое приложение работает в режиме записи тестового скрипта.
-
ExecuteOperation
()¶ Метод выполняет операцию, принадлежащую выборке с указанным именем и отображением. Выполнение операции производится асинхронно.
Parameters: - ASelectionName (String) – Системное имя выборки
- ARepresentation (String) – Отображение выборки
- AOperationName (String) – Имя операции
- ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Примечания: CommandType = tcExecuteOperation
-
ExecuteOperationEx
()¶ Метод выполняет операцию, принадлежащую выборке с указанным именем и отображением. В метод возможно передать параметры, управляющие режимом выполнения операции. Указание параметров может быть необходимо при вызове сеттеров, в которых производится анализ свойств SetterExecType, GetEditButtonName и UserActionType.
Parameters: - ASelectionName (String) – Системное имя выборки
- ARepresentation (String) – Отображение выборки
- AOperationName (String) – Имя операции
- AParamNames (Array) – Массив имен параметров
- AParamValues (Array) – Массив значений параметров
- ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Примечания: CommandType = tcExecuteOperationEx
Имя параметра Возможные значения SetterExecType etUnknown, etEditBtn, etClearBtn, etManual, etSetVar, etExecOp,,etBulkUpdateпо умолчанияю: etEditBtn ButtonName ‘LOOKUP#’ - кнопка выбора значения (по умолчанию)
‘OPENCARD#’ - кнопка,открытия карточки
UserAction uaUnknown, uaNextControlпо умолчанию: uaUnknown
-
SelectionLocate
()¶ Метод выполняет позиционирование на запись в указанной выборке по ключевому полю.
Parameters: - ASelectionName (String) – Системное имя выборки
- ARepresentation (String) – Отображение выборки
- AFieldName (String) – название поля позиционирования, или VarArray имён полей
- AFieldValue (Variant) – значение поля позиционирования, или VarArray значений в порядке соответствующем заданному в FieldName.
- ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Return type: Integer
Примечания: CommandType = tcSelectionLocate
Возможные результаты, возвращаемые методом:
Код Описание 1 Позиционирование произведено успешно -1 Выбока не найдена -2 Выборка не активна -4 Запись не найдена
-
IsSelectionActive
()¶ Метод проверяет существование и активность выборки с указанным именем и отображением на текущей форме тестируемого приложения
Parameters: - ASelectionName (String) – Системное имя выборки
- ARepresentation (String) – Отображение выборки
- ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Return type: Integer
Возможные результаты, возвращаемые методом:
Код Описание 1 Выборка существует и активна -1 Выбока не найдена -2 Выборка не активна
-
WaitSelection
()¶ Метод ожидает создания и открытия выборки с указанным именем. Если выборка не будет создана и открыта в течении указанного интервала времени, будет сгенерирована ошибка.
Parameters: - ASelectionName (String) – Системное имя выборки
- ARepresentation (String) – Отображение выборки
- ATimeout (Ineger) – Временной интервал ожидания
Примечания: Это не метод интерфейса, он реализован непосредственно на уровне объекта TestApp. Выполняет в цикле проверку
TbtkScriptTesterObject.IsSelectionActive
с задержкой в 100 миллисекунд, если за время работы ф-и выборка с такими характеристиками так и не появилась - будет выброшена исключительная ситауция “Ожидание выборки прекращено по таймауту”. После каждого вызова IsSelectionActive так же выполняется проверка на наличие ошибок в очереди сервера.
-
SelectionSetVar
()¶ Метод устанавливает значение параметру в указанной выборке.
Parameters: - ASelectionName (String) – Системное имя выборки
- ARepresentation (String) – Отображение выборки
- AVarName (String) – Имя параметра
- AValue (Variant) – Значение параметра
- ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Примечания:
- CommandType = tcSetVar
- Если серверный сеттер решит вернуть сообщение об ошибке - оно уже не попадёт в результат выполнения этого метода, т.к. SQL-Операция выполняется асинхронно - исключение будет выбрано из очереди следующим поддерживающим обработку ошибок сервера методом за этим.
-
SelectionGetVar
()¶ Метод возвращает значение атрибута (параметра) указанной выборки.
Parameters: - ASelectionName (String) – Системное имя выборки
- ARepresentation (String) – Отображение выборки
- AVarName (String) – Имя параметра
- ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Return type: Variant
Примечания: CommandType = tcGetVar
-
CloseActiveModalForm
()¶ Метод закрывает текущую активную модальную форму тестового приложения установкой форме соответствующего значения ModalResult. Определение активной модальной формы приложения производится в следующем порядке: - Диалог (форма диалога должена быть активной) - Модальная форма
Не модальные формы метод не закрывает.
Parameters: - AModalResult (TmodalResult) – Значение, которое будет присвоено свойству ModalResult формы.
- ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Примечания: CommandType = tcUnknown
-
CloseActiveForm
()¶ Метод закрывает текущую активную форму тестового приложения. Определение активной формы приложения производится в следующем порядке: - Диалог (форма диалога должена быть активной) - Модальная форма - MDI форма - Главное окно приложения
Parameters: - ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Примечания:
- CommandType = tcCloseActiveForm
- Просто закрывает активную форму серверного приложения, аналогично CloseActiveModalForm (mrCancel), но асинхронно: на CloseQuery может быть повешен модальный вызов - он не должен остановить выполнение скрипта.
-
WaitDialog
()¶ Метод ожидает отображения диалога в тестируемом приложении. Если диалог не будет отображён в течении указанного интервала времени, будет сгенерирована ошибка.
Parameters: ATimeout (Ineger) – Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении. (в миллисекундах). Примечания:
- CommandType = tcUnknown
- Работает как WaitSelection, проверяет верхнее окно Серверного приложения на ClassName = ‘TbtkMessageForm’ и состояние (fsModal in FormState)
-
CloseActiveModalWindow
()¶ Закрывает модальное окно
Deprecated: Устаревший
Parameters: - AModalResult (TModalResult) – результат модального выполнения
- ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- RaiseOnTerminate (Boolean) –
Примечания:
- CommandType = tcUnknown
- Находит верхнее окно(GetForegroundWindow) в целом, и, если оно принадлежит Серверному приложению - присвавает ему результат модального выполнения, что опосредованно должно привести к его закрытию.
-
CloseActiveWindow
()¶ Метод закрвыает окно
Parameters: - ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Примечания:
- CommandType = tcUnknown
- Находит верхнее окно, проверяет на принадлежность к Серверу(ищет хендл среди компонентов) и посылает ему сообщение PostMessage WM_Quit.
-
FocusOnFirstControl
()¶ Parameters: - ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
-
FocusOnFieldByName
()¶ Метод перемещает фокус ввода на контрол, являющийся редактором для указанного атрибута выборки. Для карточки, это будет редактор, для списка или дерева, колонка соответствующая указанному атрибуту.
Parameters: - ASelectionName (String) – Системное имя выборки
- ARepresentation (String) – Отображение выборки
- AFieldName (String) – Имя атрибута
- ATimeout (Ineger) – Временной интервал ожидания
- ADoRaise (Boolean) –
- ARaiseOnTimeout (Boolean) –
Примечания: CommandType = tcFocusOnFieldByName
-
WaitWindow
()¶ Метод ожидает отображения в тестируемом приложении окна указанного класса и с указанным текстом в загноловке. Если окно не будет отображено в течении указанного интервала времени, будет сгенерирована ошибка.
Parameters: - AWindowClass (String) – Класс окна Windows.
- AWindowCaption (String) – Заголовок окна.
- ATimeout (Integer) – Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении. (в миллисекундах).
-
WaitDialogA
()¶ Метод ожидает отображения диалога в тестируемом приложении. Если диалог не будет отображён в течении указанного интервала времени, будет сгенерирована ошибка.
Parameters: - ADialogCaption (String) – Заголовок окна диалога.
- ATimeout (Integer) – Временной интервал ожидания отображения диалога или сообщения в тестируемом приложении. (в миллисекундах).
Примечания: то же самое что и WaitWindow, но ClassName фиксирован - “TbtkMessageForm”.
-
InputText
()¶ Метод эмулирует клавиатурный ввод текста в текущий контрол.
Parameters: AText (String) – Текст, который будет введён в текущий контрол
-
KeyPress
()¶ Метод эмулирует нажатие клавиши с указанным кодом.
Parameters: AKey (Integer) – Код клавиши, нажатие которой должно быть эмулировано.
-
KeyPressA
()¶ Метод эмулирует нажатие комбинации клавиш.
Parameters: - AKey (Integer) – Код клавиши, нажатие которой должно быть эмулировано.
- AShiftState (Array) – Массив определяет, какие функциональные клавиши (Alt, Ctrl, Shift) были нажаты в дополнении к основной клавише. Допустимые значения элементов массива: ssAlt, ssCtrl, ssShift
-
RecordingOperationName
¶ Имя операции куда будут отправляться новые сгенерированные строки скрипта и результаты выполнения операций отправленных методом
InternalLibrary.TbtkScriptTesterObject.AddRecorderManualOperation
.Return type: String Входные параметры:
- Текст новой строки скрипта или результат выполнения операции.
- Имя операции чей результат вернулся. Если вызов был произведён не в результате выполнения операции, а как результат непосредственной записи пользовательских действий- пустая строка.
-
AddRecorderManualOperation
¶ Parameters: - ASysName (String) – Системное имя операции, которое ей будет присвоено.
- ACalption (String) – поле DisplayLabel операции.
- AImageIndex (Integer) – Номер пиктограммы в основном ImageList’е приложения.
- AScriptText (String) – Текст Pascal-операции.
Примечания:
- Метод должен вызываться в то время когда тестируемое приложение
находится в режиме записи скрипта, т.е. после выполнения
метода
InternalLibrary.TbtkScriptTesterObject.EnableScriptRecording
. - После завершения записи (
InternalLibrary.TbtkScriptTesterObject.DisableScriptRecording
) все операции удаляются как и сам объект ручного управления записью скрипта.
-
1.3.14. TbtkScriptSelectionEventObject¶
-
class
InternalLibrary.
TbtkScriptSelectionEventObject
¶ Класс события выборки. Экземпляр этого объекта автоматически создаётся для каждого события, и автоматически разрушается после обработки во всех обработчиках.
-
EntityName
(String)¶ -
системное имя выборки, из которой отправили сообщение. Присваивается автоматически
-
Name
(String)¶ -
системное имя события. Указывается при отсылке.
-
Representation
(String)¶ -
отображение выборки, из которой отправили сообщение. Присваивается автоматически.
-
SelectionId
(String)¶ -
ID выборки, из которой отправили сообщение. Присваивается автоматически.
-
TopicName
(String)¶ -
имя подписки. Используется для персонализации получателя. Указывается при отсылке.
-
Args
(TbtkNamedArg)¶ -
набор именованных аргументов данного события. Может быть указано при отсылке.
-
2. Тест C++ домена¶
Основная библиотека скриптовых методов.
- InternalLibrary::TbtkScriptSelectionObject
Selection
¶Возвращает указатель на объект Selection.
- class
InternalLibrary::
TbtkScriptSelectionObject
¶
- void
TbtkScriptSelectionObject::
SetVar
(string Name, variant Value)¶Устанавливает значение атрибута/параметра.
- variant
TbtkScriptSelectionObject::
GetVar
(string Name)¶Возвращает значение атрибута (параметра) по имени атрибута Name