Механизм Automation

Механизм Automation реализует обращение к 1C:Предприя­тию 8.0 из внешних приложений, написанных на других языках, и обратный механизм, т.е. обращение к внешним приложениям из 1С:Предприятия 8.0.

Например, ниже показан фрагмент на языке Visual Basic, осуще­ствляющий запуск клиентской сессии 1С:Предприятия 8.0 через Automation:

Dim v8 As Object

Set v8 = CreateObject("V8.Application")

v8.Connect("File=" "c:\InfoBases\Trade" ";Usr=" "Director" ";")

v8.Visible = True

Таким же образом один экземпляр 1C: Предприятия 8.0 может обращаться к другому через механизм Automation. Это позволяет организовать обмен данными между информационными базами и реализовать другие решения:

Процедура Загрузить()

V8 = Новый СОМОбъект("V8.Application");

Попытка

Открыта = V8.Connect("File=" " " + Путь + " " ";

Usr=" " " + Пользователь + " " "; ");

Исключение

Предупреждение ("Ошибка открытия информационной базы");

Возврат;

КонецПопытки;

Импорт = V8.NewObject("Справочник.Контрагенты");

Импорт.Выбрать();

Пока Импорт.Следующий() Цикл

Если Не Импорт.ЭтоГруппа Тогда

Сообщить(Импорт.Наименование);

КонецЕсли;

КонецЦикла;

КонецПроцедуры

Технология внешних компонент

Технология внешних компонент позволяет расширять функцио­нальность платформы 1С:Предприятия 8.0 за счет DLL-библи­отек, написанных на других языках специально для 1С:Предпри­ятия. С помощью этой технологии можно реализовать, например, работу с торговым оборудованием (кассовым аппаратом, штрих-сканером и т.д.).

Замечание. Внешние компоненты для версии 8.0 почти полно­стью совместимы с внешними компонентами для версии 7.7, по­этому никаких изменений в них делать не нужно, кроме компо­нент, открывающих окна внутри главного окна 1С:Предприя­тия - такая возможность теперь не поддерживается.

Приведенный ниже пример подключает внешнюю компоненту Math.dll, содержащую различные математические функции, и ис­пользует из нее генератор псевдослучайных чисел:

ЗагрузитьВнешнююКомпоненту("Math.dll");

МФ = Новый("AddIn.Math");

//Для инициализации датчика случайных чисел используется процедура

МФ.SRAND(1000); //параметр может быть от 0 до 32767

Для н = 1 По 10 Цикл

Сообщить(МФ.RAND());

//случайное число в промежутке от 0 до 32767

КонецЦикла;


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: