Операция «.» — обращение к свойствам и методам

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

Обращение к свойствам экземпляра

Если экземпляр имеет свойства, то для доступа к свойствам используется операция . (обращение "через точку"). Она отделяет имя переменной от имени свойства, к которому необходимо обратиться. Такое обращение может использоваться как для чтения значения свойства, так и для установки значения свойства (если свойство допускает изменение).

Так, для обращения к свойству Имя экземпляра ИниФайл типа Файл, следует написать выражение вида:

 ИниФайл.Имя

Допускается последовательное использование операций обращения, если получаемое значение свойства, в свою очередь, также имеет свойства, продолжая использовать экземпляр типа Файл, можно написать следующий пример:

 ПапкаСФайлами.Дочерние[0].Имя 
В данном примере:
  • Первая точка (ПапкаСФайлами.Дочерние) используется для доступа к свойству Дочерние экземпляра типа Файл.
  • Операция доступа по индексу [] используется для доступа к элементу массива, который выступает в качестве одного из типов свойства Дочерние. В нашем примере используется доступ к самому первому элементу массива
  • Последняя точка ([0].Имя) позволяет получить доступ к свойству Имя экземпляра типа Файл, который расположен в самом первом элементе массива, выступающего в качестве значения свойства Дочерние.

Очевидно, что такое использование чревато различными ошибками времени исполнения, поэтому такие сложные конструкции следует использовать только в том случае полной уверенности в том, что данное выражение не приведет к ошибке.

Вызов методов экземпляра

Обращение к методам экземпляров всегда выполняется с помощью операции .. Вызов метода может использоваться в качестве участника выражения, если у метода есть возвращаемое значение подходящего типа. Использование вызова метода в левой части инструкции присваивания не поддерживается.

«1С:Шина» поддерживает возможность каскадного вызова методов экземпляров:

Наименование.Подстрока(3, 5).Длина()

В данном примере переменная Наименование имеет тип Строка. У экземпляра типа Строка существует метод Подстрока(), который возвращает значение типа Строка. У экземпляра типа Строка существует метод Длина().

Таким образом, вначале из строки Наименование получается подстрока, а потом у получившейся подстроки получается длина.

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