Мельница данных  (19.04.2024)
Интерфейс IFormContext
01  IFormContext = interface(IDispatch)
02    ['{1944F1C8-CAEA-4CF9-9A4D-CE3423508FF7}']
03    function ChangedControl: OleVariant;
04    function ControlCount: Integer;
05    function ButtonCount: Integer;
06    function ID: WideString;
07    procedure Cancel;
08    function ControlExists(const Name: WideString): WordBool;
09    function ChangedControlName: WideString;
10    function ParentForm: OleVariant;
11    function RoutineID: WideString;
12    procedure PreInitControl(const Name: WideString; Value: OleVariant);
13    procedure NavigatorNext;
14    procedure NavigatorPrevious;
15    function NavigatorCanNext: WordBool;
16    function NavigatorCanPrevious: WordBool;
17    procedure RefreshView(RefreshAll: WordBool);
18    function ExpressionContextValue(const Name: WideString): OleVariant; safecall;
19    property Controls[Name: OleVariant]: IControl;
20    property Buttons[Name: OleVariant]: IButton;
21    property Enabled: WordBool;
22  end;

Представляет собой модель формы задания параметров. Члены интерфейса доступны для использования в скриптах форм задания параметров.

  • Функция ChangedControl возвращает объект, реализующий интерфейс IControl, соответствующий элементу управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - Empty. Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция ControlCount возвращает число элементов управления на форме параметров, как видимых так и невидимых.
  • Функция ButtonCount возвращает число командных кнопок на форме параметров, как видимых так и невидимых.
  • Функция ID возвращает значение идентификатора объекта, для которого вызван метод. Для методов класса возвращает пустое значение.
  • Функция ControlExists возвращает True, если элемент управления с именем Name существует на форме, и, соответственно, существует соответствующий параметр.
  • Функция ChangedControlName возвращает имя элемента управления, изменение которого вызвало исполнение скрипта формы параметров. Если выполнение скрипта вызвано инициализацией формы задания параметров, то значение функции - пустая строка.
  • Процедура Cancel прекращет работу формы задания параметров. Форма закрывается, выполнение действия блокируется.
  • Функция ParentForm возвращает ссылку на контекст родительской формы в цепочке вызовов. В контексте первой формы (вызванной с грида немодальной формы) возвращает пустое значение (Empty). Пустоту значения можно проверить с помощью функции VBScript IsEmpty.
  • Функция RoutineID возвращает идентификатор подпрограммы, для которой вызвана форма.
  • Процедура PreInitControl имитирует предварительную инициализацию элемента управления с именем Name значением, переданным в параметре Value. Сам элемент управления при этом будет скрыт, и не будет показан вплоть до следующего вызова формы пользователем.
  • Процедура NavigatorNext выполняет переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Процедура NavigatorPrevious выполняет переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanNext возвращает True, если возможен переход к следующему объекту набора данных, для которого показывается форма параметров.
  • Функция NavigatorCanPrevious возвращает True, если возможен переход к предыдущему объекту набора данных, для которого показывается форма параметров.
  • Процедура RefreshView обновляет набор данных, для которого показывается форма параметров. Если значение параметра RefreshAll равно True, то будет обновлен весь набор, если False, то только выделенные записи.
  • Свойство Controls позволяет обращаться к элементам управления на форме задания параметров, их свойствам и методам. Каждый элемент управления реализует интерфейс IControl. В параметре Name (строкового типа)может быть передано как имя элемента управления, так и его индекс (в этом случае индекс должен быть передан как строка). Имена элементов управления на форме параметров соответствуют именам параметров подпрограммы (метода, отчета, etc).
  • Свойство Buttons позволяет обращаться к командным кнопкам на форме задания параметров, их свойствам и методам. Каждая командная кнопка реализует интерфейс IButton. В параметре Name (строкового типа)может быть передано как имя командной кнопки, так и ее индекс (в этом случае индекс должен быть передан как строка).
  • Свойство Enabled позволяет получать и устанавливать доступность кнопки OK на форме задания параметров. Если на форме есть невалидные (имеющие недопустимые значения) элементы управления, значение свойства всегда равно False и устанавливать его в явном виде в True не рекомендуется. Для учета дополнительного условия рекомендуется использовать следующую конструкцию: Enabled = Enabled and (Controls("SalesCount").Value > 10)
  • Функция ExpressionContextValue возвращает значение переменной контекста с именем Name, которая используется для интeрпретации выражений условий отбора на форме.