Контекстное меню для ячеек
Обработчик меню отвечает за формирование контекстного меню для показа. Но обработка вызова данного события не происходит в контексте определенной ячейки таблицы, поэтому для проверки вызова меню у ячейки применяется специальный метод ЯЧЕЙКА_МЕНЮ. Данный метод проверяет было ли вызвано меню над ячейкой таблицы или контекстное меню было вызвано вне ячеек таблицы, или вызова контекстного меню не происходило. В результате вызова данного метода выходными параметрами являются координаты ячейки, над которой осуществлялся вызов контекстного меню. Данный метод позволяет проверить вызов меню над ячейками фиксированных столбцов и строк.
Для проверки вызова меню у ячейки данных существуют методы КУР_СТРОКА и КУР_СТОЛБЕЦ, но для проверки вызова у фиксированных ячеек эти методы не подходят. Это объясняется тем, что при нажатии правой кнопки мыши над ячейкой данных для показа меню, курсор перемещается на эту ячейку, а при нажатии над фиксированной ячейкой перемещения курсора не происходит. Поэтому данные методы не стоит применять для определения контекста вызова меню ячейки, лучше использовать метод ЯЧЕЙКА_МЕНЮ.
Методы для проверки вызова меню у ячейки используются в обработчиках меню и команда, чтобы обработка этих событий происходила в контексте определенной ячейки.
В примере ниже реализована проверка вызова меню у ячейки. Если вызов меню происходит у ячейки из первой строки, то выводится текстовое сообщение.
Пример
...
ФУНКЦИЯ ЛОГИКА: Команда(ПЕРЕМ ТАБЛИЦА: элемент; СТРОКА: код)
ПЕРЕМ ЦЕЛОЕ: столбец, строка
ВЫБОР(код)
#"инфо":
ЕСЛИ элемент.ЯЧЕЙКА_МЕНЮ(столбец, строка) ТО
ЕСЛИ строка = 1 ТО
СООБЩЕНИЕ("Ячейка из первой строки")
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЕСЛИ
РЕЗУЛЬТАТ = ДА
ИНАЧЕ
РЕЗУЛЬТАТ = НЕТ
КОНЕЦ_ВЫБОРА
КОНЕЦ_ФУНКЦИИ
...