Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1C_pr77_Lang2.doc
Скачиваний:
7
Добавлен:
20.11.2019
Размер:
2.52 Mб
Скачать

Контекст работы с внешними приложениями

Внешнее приложение, с которым предполагается устанавливать связь, должно отвечать следующим условиям: внешнее приложение должно поддер­живать механизм OLE Automation и должно быть установлено на том компью­тере, где его намечено использовать.

Во всех программных модулях вызов процедур или функций внешнего при­ложения может выполняться только при помощи переменной со ссылкой на объект, который создается функцией СоздатьОбъект. Чтобы вызвать метод внешнего приложения, имя метода (с указанием необходимых параметров) пи­шется через точку после идентификатора переменной.

При создании переменной со ссылкой на внешнее приложение, в качестве имени объекта в операторе СоздатьОбъект должен выступать зарегистриро­ванный OLE идентификатор внешнего приложения.

Зарегистрированный OLE идентификатор внешнего приложения — это уникальный идентификатор программного продукта, который записывается в регистрационную базу Windows при инсталляции программы.

Примеры OLE идентификаторов:

Excel

"Excel.Application"

LotusApproach

"Approach.Application"

MSGraph

"MSGraph.Application"

PowerPoint

"PowerPoint.Application"

Пример:

// Создаем объект Excel (запускаем программу Excel)

Ехсеl = СоздатьОбъект("Excel.Application");

// делаем окно программы Excel видимым и активным

Excel.Visible = l;

Методы внешних приложений

Методы внешних приложений, а также синтаксис их использования у каж­дого приложения свои. Описание процедур и функций внешнего приложений можно получить только в документации данного приложения. Например, прак­тически все программы, входящие в пакет Microsoft Office используют для сво­его управления версию языка Visual Basic.

Чтобы вызвать метод внешнего приложения в языке системы 1С:Предприятие, имя метода (с указанием необходимых параметров) пишется через точку после имени ссылки на объект внешнего приложения.

Пример:

// Создаем объект Excel и присвоим его переменной языка

ОкноЕхсеl = СоздатьОбъект("Excel.Application");

// устанавливаем имя окна Excel

ОкноЕхсеl.Caption = "Отчет";

// создадим новую рабочую книгу

НовыеРабочиеКниги = ОкноЕхсеl.Workbooks;

РабочаяКнига = НовыеРабочиеКниги.Add();

Ограничения:

Не поддерживаются значения, передаваемые по ссылке;

Не поддерживаются массивы, в точности SAFEARRAY;

Не поддерживаются значения типа IUnknown.

Эти ограничения не столь серьезны, т. к. например, все типы данных, с кото­рыми работает Excel и большинство других наиболее распространенных про­грамм, полностью поддерживаются.

Типы поддерживаемых данных:

Boolean

Currency

Date

Double-precision floating-point

Integer

Long integer

Object

Single-precision floating-point

String

Пример:

//В данном примере запускается программа Excel,

// затем в нее передаются некоторые данные, и затем

// на их основе строится диаграмма.

// Создаем объект Excel и присвоим его переменной языка

ОкноЕхсеl = СоздатьОбъект("Excel.Application");

// устанавливаем имя окна Excel

ОкноЕхсеl.Caption = "Отчет";

// создадим новую рабочую книгу

НовыеРабочиеКниги = ОкноЕхсеl.Workbooks;

РабочаяКнига = НовыеРабочиеКниги.Аdd();

ЧислоРядов = 10;

ЧислоСтолбцов = 5;

// проставим названия строк

Для Ряд = 1 По ЧислоРядов Цикл

Ячейка = ОкноЕхсеl.Cells(Ряд + 1, 1);

Ячейка.Value = "Строка " + Строка(Ряд);

КонецЦикла;

// проставим названия столбцов

Для Столбец = 1 По ЧислоСтолбцов Цикл

Ячейка = ОкноЕхсеl.Cells(1, Столбец + 1);

Ячейка.Value = "Столбец " + Строка(Столбец);

КонецЦикла;

// заполним ячейки таблицы значениями

Для Ряд = 1 По ЧислоРядов Цикл

Для Столбец = 1 По ЧислоСтолбцов Цикл

Ячейка = ОкноЕхсеl.Cells(Ряд + 1, Столбец + 1);

Ячейка.Value = Ряд + Столбец;

КонецЦикла;

КонецЦикла;

// выделим область в таблице и присвоим ее переменной языка

Область = ОкноЕхсеl.Range(ОкноЕхсеl.Cells(1, 1),

ОкноЕхсеl.Cells(ЧислоРядов + 1, ЧислоСтолбцов + 1));

// зададим имя выделенной области

Область.Name = "ОбластьДанных";

// определим рамку выделенной области и присвоим ее переменной языка

Рамка = Область.Borders;

// установим стили для рамки выделенной области

Рамка.LineStyle = 1;

Рамка.Colorlndex = 3;

// построим диаграмму Лист=РабочаяКнига.Worksheets(1);

Диаграмма = Лист.ChartObjects();

Диаграмма = Диаграмма.Add(5, 5 + Область.Тор + Область.Height,

Область.Width, Область.Height);

МояДиаграмма = Диаграмма.Chart;

МояДиаграмма.ChartWizard("ОбластьДанных ", -4102, 6, 1, 1, 1, 1, "Отчет");

// сделаем окно Excel видимым и активным

ОкноЕхсеl.Visible = 1;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]