OLE
Материал из GB wiki
Версия от 09:21, 5 июля 2011; Bars (обсуждение | вклад) (Новая страница: «Категория:Настройка ГБ Для запуска ГБ через OLE существует набор интерфейсов == GB.Application …»)
Для запуска ГБ через OLE существует набор интерфейсов
Содержание
GB.Application
Интерфейс для взаимодействия с ГБ
Свойства
- Params['Имя параметра']
- позволяет задать или прочитать любой параметр запуска ГБ
- ReportNames
Методы
- Open
- запускает ГБ
- Close
- закрывает ГБ
- EvaluateExpression('выражение')
- выполняет любое выражение на языке ГБ (например, вызов функции)
- NewGbObject()
- Создает объект ГБ
- ReportByCommand(код)
- Создает отчет по коду команды
- ProcessCommand(объект,команда)
- Выполняет команду ГБ
IAutoGBObject
Интерфейс для работы с объектами ГБ
Свойства
- ItemCount
- число вложеннных объектов
- ObjectType
- тип объекта
- Items[номер,'свойство']
- позволяет прочитать или установить значение свойства вложенного объекта с указанным номером. Имена свойств: Id, Name, Node, ItemType, SubType
- Params['Имя параметра']
- позволяет прочитать или установить значение глобального параметра объекта(см. PROCESSCOMMAND)
Методы
- AddItem
- добавляет вложенный элемент
IAutoReport
Интерфейс для работы с отчетами ГБ
Свойства
- PresetLayoutSelected
- позволяет прочитать или изменить значение предустановки для настройки таблицы
- PresetParamsSelected
- позволяет прочитать или изменить значение предустановки для параметров
Методы
- Execute()
- выполнить отчет
- CopyToClipBoard()
- скопировать результаты в буфер
- TabularResult()
- получить результаты в виде таблицы
- TabularTotals()
- получить итоги в виде таблицы
Пример
// открываем ГБ Gb := CreateOleObject('Gb.Application'); // проверить статус ГБ if (Gb.Params['path']<>) then begin // уже запущено, что-то делаем end begin else begin //путь к базе; Gb.Params['path'] := CfgFile.DBLogin; // без сплэш-формы Gb.Params['nosplash'] := '1'; // хотим получать Exception при ошибках GB.Params['erroraction'] := 'raise'; if CfgFile.DBLogin <> then begin GB.Params['user'] := CfgFile.DBLogin; GB.Params['password'] := CfgFile.DBPassword; end; Gb.Open; end //обработка заказа Obj := Gb.NewGbObject; //тип - заказы из интернет Obj.ObjectType := 20; Obj.AddItem; Obj.Items[0,'Id'] := Id; Obj.Params['SaveImmediate'] := 'Y'; Obj.Params['SendSaveMessage'] := '1'; Gb.ProcessCommand(Obj,5); // получить код созданного заказа DocId := GB.EvaluateExpression(':LastCreated');