Ссылки на методы
Значение функционального типа может передаваться с помощью ссылки на метод, которая передает уже существующий метод и записывается с помощью символа &, имени метода и типов параметров (при их наличии). Например:
метод МойМетод()
;
метод Скрипт()
    пер Ссылка = &МойМетод
;
метод Выбрать(Массив: Массив<Строка>, Число: Число)
;
метод Выбрать(Массив: Массив<Строка>, От: Число, До: Число)
;
метод Скрипт()
    пер Ссылка1 = &Выбрать(Массив<Строка>, Число)
    пер Ссылка2 = &Выбрать(Массив<Строка>, Число, Число)
;
Ссылка на метод как аргумент при передаче в другой метод может выглядеть следующим образом:
метод Скрипт(А: Число)
    // Второй аргумент для метода Реализация — ссылка на метод Квадрат()
    пер Результат = Реализация(А, &Квадрат)
;
Ссылки на метод позволяют передавать в качестве значений функционального типа уже существующие методы. Ссылка на метод может передаваться как переменная, параметр, или возвращаемое значение. Ссылка на метод также может ссылаться на лямбда-выражение, если этому лямбда-выражению было присвоено имя. В общем случае синтаксис ссылки на метод выглядит следующим образом:
&имя-метода[(тип-параметра-1, ..., тип-параметра-N)]
Где:
&— символ ссылки на метод;имя-метода— имя уже существующего метода, на который дается ссылка;(тип-параметра-1, ..., тип-параметра-N)— список параметров, если они есть.
Так, в примере ниже, метод Скрипт() получает результат мет ода МойМетод(), в который как аргумент передается ссылка на метод Квадрат(), имеющий тип (Число)->Число и возводящий число в квадрат:
метод Квадрат(А: Число): Число
    возврат А * А
;
метод МойМетод(А: Число, Формула: (Число)->Число): Число
    возврат Формула(А)
;
метод Скрипт(А: Число)
    пер Результат = МойМетод(А, &Квадрат)
;
Ниже описываются существующие виды ссылок на методы.
Ссылка на локальный метод
Создает ссылку на локальный метод (метод в этом же модуле). Результирующий функциональный тип имеет те же параметры, что и метод, и такой же тип возврата.
Краткий синтаксис:
&имя-метода
Полный синтаксис:
&имя-метода(тип-параметра-1, ..., тип-параметра-N)
Краткая форма может быть использована, если:
- метод не имеет перегрузок,
 - функциональный тип может быть выведен из контекста.
 
Иначе необходимо использовать полную форму.
Примеры:
метод ДлинаСтроки(Текст: Строка): Число
    возврат Текст.Длина()
;
                
метод Скрипт()
    знч Длина1 = &ДлинаСтроки           // Тип переменной (Строка)->Число
    знч Длина2 = &ДлинаСтроки(Строка)   // Тип переменной (Строка)->Число
;