MyTetra Share
Делитесь знаниями!
Особенности использования COM-объектов
Время создания: 08.09.2016 15:47
Автор: its
Раздел: Программирование - 1с - Интеграция - com - Статьи
Запись: xintrea/mytetra_anatolean/raw/master/base/1473338836urgaze3dl3/text.html на bitbucket.org

В этой статье приведены некоторые особенности работы с COM-объектами, которые могут оказаться полезными в практической деятельности.

Использование оператора доступа по индексу []

В технологии Automation не предусмотрено штатных средств для реализации обращений по индексам, а доступ к индексированным свойствам (т.е. выражения вида МояФункция(X, Y) = Z) через Automation допускает неоднозначность толкования и не поддерживается встроенным языком 1С:Предприятия.

Для обработки свойств-коллекций рекомендуется использовать оператор цикла Для Каждого ..., использующий стандартный для Automation интерфейс IEnumVARIANT. Для доступа по индексу через Automation объекты-коллекции 1С:Предприятия также реализуют методы Получить() и Установить().

Передача параметров в конструктор объекта

Метод NewObject() объекта Automation 1С:Предприятия имеет переменное число параметров - первым параметром в NewObject() всегда передается имя типа создаваемого объекта, а последующие параметры могут быть использованы для передачи данных в конструктор создаваемого объекта.

Совпадение имен свойств и методов объекта

Технология Automation подразумевает возможность двоякого толкования некоторых элементов агрегатного объекта. Например, могут не различаться одноименные свойство и метод, возвращающий значение и не имеющий параметров. Эту особенность следует иметь в виду при работе с объектами 1С:Предприятия через Automation.

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

Отображение в отладчике свойств со значением "Ошибка чтения значения"

Упомянутая выше возможность двоякого толкования элементов агрегатного объекта имеет и визуальное отображение - при просмотре в отладчике 1С:Предприятия свойств COM-объектов можно видеть свойства со значением "Ошибка чтения значения". В действительности эти свойства являются методами, однако могут использоваться и как свойства (например, в таком языке как Visual Basic).

 
MyTetra Share v.0.65
Яндекс индекс цитирования