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.2.1. Навигация по файловой системе

InternalLibrary.AskFileNameForOpen()
InternalLibrary.AskFileNameForSave()
InternalLibrary.AskFileNamesForOpen()
InternalLibrary.AskFolderName()
InternalLibrary.AskImageFileNameForOpen()
InternalLibrary.AskImageFileNameForSave()

InternalLibrary.ShellExec(FileName, Parameters, AWait, ChoiseMode)

Запускает на выполнение файл средствами ОС Windows.

Parameters:
  • FileName (string) – полное имя открываемого или исполняемого файла.
  • Parameters (string) – параметры командной строки, передаваемые исполняемому файлу. Передача параметров поддерживается только при запуске исполняемого файла, в противном случае генерируется исключение.
  • Wait (Boolean) – флаг, задающий ожидание закрытия файла - открыть модально.
  • ChoiseMode (TbtkFileChoiseMode) – Режим выбора приложения для открытия файла. Необязателен - по умолчанию fcmByExtensionOrDialog.
TbtkFileChoiseMode
  • fcmByExtension - приложение которым будет открыт файл выбирается согласно существующих настроек в системе.
  • fcmByExtensionOrDialog - расширяет возможности значения fcmByExtension, если расширению файла не сопоставлено никакого приложения, то будет открыт диалог выбора приложения.
  • fcmAlwaysWithDialog - всегда предлагать пользователю выбрать приложение, вне зависимости от существующих в системе настроек.

Note

На ОС Windows 8+ метод может вызвать исключение EbtkFileWatcherException в случае, если файл открыт средством просмотра документов (фотографий) в модальном режиме. Шаблон обработки этого исключения см. в примерах.

Note

Режим ожидания закрытия файла в случае указания AWait = True определяется автоматически. Если при открытии создается новый процесс, то ожидается завершение этого процесса. Если же процесса не создается, то ожидание происходит по критерию занятости файла внешней программой. Ручное задание этого режима предусмотрено в методе TbtkScriptSelectionObject.BlobOpenEx2.

<PASCAL>
  try
    ShellExec('..\test.txt', ", True, fcmAlwaysWithDialog);
  except
    if not SameText(LastExceptionClassName, 'EbtkFileWatcherException') then
      raise(LastExceptionMessage);
  end;
</PASCAL>
InternalLibrary.ShellExecute()

Выполняет указанное действие (Operation) над файлом средствами ОС Windows.

Parameters:
  • Operation (string) –

    действие, которое необходимо выполнить над указанным файлом (или папкой).

    • ‘edit’ - открыть документ на редактирование;
    • ‘explore’ - открыть указанный каталог;
    • ‘open’ - открыть файл, либо запустить исполняемый файл, либо открыть каталог;
    • ‘print’ - отправить файл на печать.
  • FileName (string) – полное имя открываемого или исполняемого файла.
  • Parameters (string) – параметры командной строки, передаваемые исполняемому файлу. Передача параметров не предполагается, если файл не исполняемый, в этом cлучае генерируется исключение.
  • ChoiseMode (TbtkFileChoiseMode) – Режим выбора приложения для открытия файла. Необязателен - по умолчанию fcmByExtensionOrDialog.
Пример использования ShellExecute
//Открыть текстовый документ на просмотр. Будет показан диалог выбора приложения
ShellExecute('open', '...\test.txt', ", fcmAlwaysWithDialog);
Пример использования ShellExecute
//Распечатать текстовый документ
ShellExecute('print', '...\test.txt', ");
Пример использования ShellExecute
//Открыть текущий каталог в Explorer-е
ShellExecute('explore', '.\', ");
InternalLibrary.LoadFromFileToBlob()
InternalLibrary.SaveBlobToFile()
InternalLibrary.TestApp

Возвращает объект класса TbtkScriptTesterObject, реализующий методы для работы с тестируемым приложением Global.

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) – Имя файла. Можно передать:
  1. Полный путь к файлу (C:Temppicture.jpg); В случае, если такой файл уже существует, то будет возбуждено исключение.
  2. Имя файла (picture.jpg), тогда приложение попытается создать файл с таким именем во временном каталоге пользователя;
  3. Расширение файла (.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>
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:

ILookupData

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:

ILookupData

CreateForm(AFormName, AEntityName, AFormType)
Parameters:
  • AFormName (String) – Имя формы.
  • AEntityName (String) – Имя выборки которая будет показана на форме.
  • AFormType (TFormCreationFlags) – Определяет как будет показана форма.
Return type:

TModalResult

CreateFormEx(AFormName, AEntityName, AFormType, APropNames, APropValues)
Parameters:
  • AFormName (String) – Имя формы.
  • AEntityName (String) – Имя выборки которая будет показана на форме.
  • AFormType (TFormCreationFlags) – Определяет как будет показана форма.
  • APropNames (Array) – Массив имен параметров.
  • APropValues (Array) – Массив значений параметров.
Return type:

TModalResult

1.3.2. TFormCreationFlags

class InternalLibrary.TFormCreationFlags
fcfMDI
fcfModal

1.3.3. TModalResult

class InternalLibrary.TModalResult
mrAbort
mrAll
mrCancel
mrNo
mrNone
mrNoToAll
mrOk
mrRetry
mrYes
mrYesToAll

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

class InternalLibrary.TLookupResult

Результат выбора записей в lookup-форме.

lrOk
lrCancel

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

InternalLibrary.DragRecord

Ссылка на обёртку записи списка или дерева, либо элемента диаграммы, над которой находится курсор мыши. Свойство следует использовать в операциях–триггерах onDragDrop и onDragOver.

Note

Для диаграммы возвращается обёртка на запись выборки SEL_BTD_OBJECT.OBJECTSOFDIAGRAM. При этом доступно только поле с именем id.

Для дерева и списка все поля возвращаемой записи соответствуют полям записи их выборки.

New in version 5.4.0.3745: Возможность перетаскивания на диаграмму.

Return type:TbtkScriptRecordObject

1.3.7. TbtkScriptRecordObject

class InternalLibrary.TbtkScriptRecordObject

Обёртка для записи.

ValueByName(AName)

Возвращает значение ячейки по имени поля.

Parameters:AName (String) –
Return type:Variant
Values(AIndex)

Возвращает значение ячейки по индексу.

Parameters:AIndex (Integer) –
Return type:Variant

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

Входные параметры:

  1. Текст новой строки скрипта или результат выполнения операции.
  2. Имя операции чей результат вернулся. Если вызов был произведён не в результате выполнения операции, а как результат непосредственной записи пользовательских действий- пустая строка.
AddRecorderManualOperation
Parameters:
  • ASysName (String) – Системное имя операции, которое ей будет присвоено.
  • ACalption (String) – поле DisplayLabel операции.
  • AImageIndex (Integer) – Номер пиктограммы в основном ImageList’е приложения.
  • AScriptText (String) – Текст Pascal-операции.

Примечания:

  1. Метод должен вызываться в то время когда тестируемое приложение находится в режиме записи скрипта, т.е. после выполнения метода  InternalLibrary.TbtkScriptTesterObject.EnableScriptRecording.
  2. После завершения записи (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