GetNewParamWindow

Материал из GedeminWiki
Перейти к: навигация, поиск

Окно ввода параметров макроса или отчета создается с помощью метода GetNewParamWindow глобального объекта System.

GetNewParamWindow(WindowKey: Integer): IgsParamWindow

где WindowKey — хэндл родительского окна.

Пример:

dim Win
set Win = System.GetNewParamWindow(0)

Объект окна поддерживает интерфейс IgsParamWindow.

Содержание

Свойства IgsParamWindow

ParamList

property ParamList: TgsParamList;

Возвращает объект класса TgsParamList, содержащий список параметров, которые должен отобразить диалог. Свойство доступно для чтения, то есть ему нельзя присвоить новый список, можно только редактировать существующий.

Методы IgsParamWindow

AddParam

procedure AddParam (ParamName: String; 
          ParamType: String; 
          Comment: String)

Добавляет в список параметров окна новый параметр. Например,

Win.AddParam "Параметр 1", "PRMDate", "Parameter 1"

ParamType может иметь следующие значения:

  • prmInteger — целое число
  • prmFloat — число с плавающей точкой
  • prmDate — дата
  • prmDateTime — дата и время
  • prmTime — время
  • prmString — строка
  • prmBoolean — логическое значение
  • prmNoQuery — параметр не отображается в диалоге

AddLinkParam

procedure AddLinkParam(ParamName: String; 
              ParamType: String; 
              TableName: String; 
              PrimaryName: String;
              DisplayName: String; 
              LinkCondition: String; 
              LinkLanguage: String; 
              Comment: String)

Добавляет в список параметров окна новый параметр типа ссылка. Константы типов:

  • prmLinkElement — ссылка на элемент
  • prmLinkSet — множество элементов

Например,

Win.AddLinkParam "Параметр 2", "PRMLinkElement", "GD_USER", "ID", "NAME", "", "", ""

Execute

function Execute: Variant

Запустить диалог с параметрами заполненными через методы AddParam, AddLinkParam или свойство ParamList. Функция возвращает массив Variant с введенными параметрами. Причем "простые" параметры возвращаются как простые элементы массива, а параметры типа prmLinkElement и prmLinkSet как массивы. Например,

Win.AddParam "Параметр 1", "PRMDate", "Parameter 1"
Win.AddLinkParam "Параметр 2", "PRMLinkElement", "GD_USER", "ID", "NAME", "", "", ""
Result = Win.Execute

Получим окно следующего вида:

Paramwnd.jpg

После нажатия "ОК" получим: в Result(0) — дата, в Result(1)(0) — ID администратора. Если нажать "Отмена", Result будет Empty!

ExecuteWithParam

function ExecuteWithParam(ParamName: String; 
                  ParamType: String;                                     
                  Comment: String): Variant

Для единственного "простого" параметра — добавить его и вызвать окно.

ExecuteWithLinkParam

function ExecuteWithLinkParam(ParamName: String;
                      ParamType: String; 
                      TableName: String; 
                      PrimaryName: String;
                      DisplayName: String; 
                      LinkCondition: String; 
                      LinkLanguage: String; 
                      Comment: String): Variant

Для единственного параметра-ссылки — добавить его и вызвать окно.

ExecuteWithParamList

function ExecuteWithLinkParam(ParamList: TgsParamList): Variant

Запустить диалог с переданным списком параметров.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты