Основное назначение Automation-клиента «1С:Предприятия» ? управление другими приложениями из системы «1С:Предприятие» и выполнение действий, аналогичных интерактивным действиям.
Можно сказать, что технология рекомендуется к применению, когда не требуется предоставлять пользователю интерфейс, выходящий за рамки возможностей «1С:Предприятия», но в то же время требуется взаимодействие с «внешней функциональностью».
В общем случае применение этой технологии состоит из двух частей: создание объекта по его идентификатору и последующее использование объекта. Создание объекта выполняется оператором Новый COMОбъект(ИдентификаторОбъекта).
Использование созданного объекта ничем не отличается от использования остальных объектов «1С:Предприятия».
Дополнительные возможности предоставляет функция ПолучитьCOMОбъект(). С ее помощью можно создать Automation-объект из файла или подключиться к уже существующему в операционной системе экземпляру Automation-объекта.
подробнее
Подробнее познакомиться с примером работы с книгой программы Microsoft Excel можно в демонстрационной конфигурации «Интеграция с 1С», которая прилагается к книге.
Пример работы с книгой программы Microsoft Excel приведен в листинге 5.5.
Листинг 5.5. Пример работы с книгой Excel
&НаКлиенте
Процедура РаботаСКнигойExcel(Команда)
Путь= "c:\temp\";
Сообщение = Новый СообщениеПользователю();
Документ = ПолучитьCOMОбъект(Путь + "Integration.xls");
НомерЛиста = 2;
Клиент = Документ.Sheets(НомерЛиста).Cells(1, 2).Value;
Сообщение.Текст = Клиент;
Сообщение.Сообщить();
// Обработать дальнейшие данные шапки документа.
НомерСтроки=2;
Номер = Документ.Sheets(НомерЛиста).Cells(НомерСтроки, 1).Value;
НомерСтроки=6;
Номер = Документ.Sheets(НомерЛиста).Cells(НомерСтроки, 1).Value;
Пока СокрЛП(Номер) <> "#" Цикл
Номенклатура = Документ.Sheets(НомерЛиста).Cells(НомерСтроки, 2).Value;
Цена = Документ.Sheets(НомерЛиста).Cells(НомерСтроки, 6).Value;
Сообщение.Текст = Номенклатура;
Сообщение.Сообщить();
Сообщение.Текст = Цена;
Сообщение.Сообщить();
// Обработать дальнейшие данные табличной части документа.
НомерСтроки = НомерСтроки + 1;
Номер = Документ.Sheets(НомерЛиста).Cells(НомерСтроки, 1).Value;
КонецЦикла;
// Завершить работу.
Документ.Application.Quit();
КонецПроцедуры
Следует отметить, что для завершения работы с объектами Microsoft Оffice, имеющими метод Quit(), его желательно вызывать в явном виде.