Difference between revisions of "OnAttachedButtons"
m (1 revision imported) |
|
(No difference)
|
Latest revision as of 07:52, 7 February 2021
OnAttachedButtons (События форм) | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
|
Событие, вызываемое при любом нажатии на связанные элементы объектов формы. Для функции размещаемой в глобальном модуле, можно получить саму форму, использовав параметр Вызываемый объект формы со свойством .Form
. Если функция возвратит 0 в локальном модуле, будет произведен вызов такой же процедуры в глобальном модуле, затем обработчик события на элементе формы и, если событие по-прежнему не обработано, будет произведено действие, ассоциированное по умолчанию с текущим связанным элементом. Функция работает как для элементов, связанных с полями редактирования, выпадающими списками и пр., для кнопок таблиц и списоков, так и для элементов полей редактирования, появляющихся при редактировании ячеек таблицы. Также функция будет вызвана, если пользователь использовал комбинацию клавиш, вместо активации связанного элемента с помощью мыши (к примеру, при нажатии Shift+F4 в поле редактирования, до того, как редактируемое значение будет очищено, будет вызвана цепочка событий OnAttachedButtons с индексом элемента _AB_CLEAR). Для связанных элементов, заданных в конфигурации разработчиком, событие вызывается подобным образом, однако, действие по умолчанию отсутствует.
Ниже дана цепочка вызова функций OnAttachedButtons. Следующая функция будет вызвана, если предыдущая возвратила ноль. Дальнейшую информацию см. в статье Редактор связанных элементов.
- Функция OnAttachedButtons в локальном модуле формы, где произошла активация связанного элемента.
- Функция OnAttachedButtons в одном из глобальных модулей.
- Событие OnAttachedButtons в контейнере событий, привязанном к элементу формы, для которого произошла активация связанного элемента.
- Выполняется действие по умолчанию, ассоциирующееся с данным связанным элементом.
Ниже приводится список констант языка, которые можно использовать, вместо числовых для идентификации параметра Индекс связанного элемента.
Имя константы | Числовое значение | Тип элемента | Стандартное действие | Комбинация клавиш | Описание |
---|---|---|---|---|---|
_AB_CHOOSE | 1 | Линейный | Да | F4, ENTER или начать вводить строку поиска | Выбор ассоциированного элемента базы данных |
_AB_CLEAR | 2 | Линейный | Да | Shift+F4, Backspace | Очистка выбранного элемента базы данных, либо текста |
_AB_INFO | 3 | Линейный | Да | Открытие выбранного элемента в режиме редактирования | |
_AB_SELECT | 4 | Линейный | Да | Выбор нескольких элементов подбором или иным образом | |
_AB_CALC | 5 | Линейный | Да | Вызов встроенного калькулятора для операций над числами | |
_AB_CALEND | 6 | Линейный | Да | Вызов встроенного календаря для операций над датами | |
_AB_HIST | 7 | Линейный | Да | Открытие истории изменения выбранного элемента базы данных | |
_AB_DESEL | 8 | Линейный | Нет | Быстрое удаление из списка выбранных элементов в диалоге галочками | |
_AB_REFRESH | 9 | Линейный | Нет | Обновить выбранный элемент из базы данных | |
_AB_HELP | 10 | Линейный | Нет | Получение подсказки/помощи по данному объекту | |
_ABB_NEW | 10001 | Таблица | Да (в опр. случаях) | INSERT | Добавление новой строки (создание нового элемента) |
_ABB_NEWGRP | 10002 | Таблица | Да (в опр. случаях) | Добавление новой папки (создание новой группы элементов) | |
_ABB_EDIT | 10003 | Таблица | Да (в опр. случаях) | F2, ENTER (в режиме выбора используется для выбора, также открывает папку) | Редактирование текущей строки (элемента) |
_ABB_COPY | 10004 | Таблица | Да (в опр. случаях) | F9 | Добавление новой строки (элемента) копированием из текущей |
_ABB_MOVE | 10005 | Таблица | Да (в опр. случаях) | Ctrl+M | Перемещение текущей строки (элемента) в другую папку (группу) |
_ABB_DEL | 10006 | Таблица | Да | DELETE | Удаление текущей строки (элемента) |
_ABB_SAVE | 10007 | Таблица | Да (в опр. случаях) | Сохранение текущей строки (элемента) | |
_ABB_FILT | 10008 | Таблица | Да (в опр. случаях) | Изменение фильтра таблицы строк (элементов) | |
_ABB_HIST | 10009 | Таблица | Да (в опр. случаях) | Открытие истории изменения текущей строки (элемента) | |
_ABB_MODE | 10010 | Таблица | Да (в опр. случаях) | Переключение режима отображения по папкам (группам) | |
_ABB_DATE | 10011 | Таблица | Да (в опр. случаях) | Выбор периода для фильтрации таблицы по датам | |
_ABB_SEARCH | 10012 | Таблица | Да | Ctrl+F | Открытие диалога поиска по строкам таблицы |
_ABB_MOVEUP | 10013 | Таблица | Да | Перемещение текущей строки вверх на одну позицию | |
_ABB_MOVEDOWN | 10014 | Таблица | Да | Перемещение текущей строки вниз на одну позицию | |
_ABB_SORTASC | 10015 | Таблица | Да (в опр. случаях) | Сортировка таблицы по неубыванию (либо открытие диалога сортировки) | |
_ABB_SORTDESC | 10016 | Таблица | Да (в опр. случаях) | Сортировка таблицы по невозрастанию (либо открытие диалога сортировки) | |
_ABB_SELALL | 10017 | Таблица | Да (в опр. случаях) | Выбор все строк (элементов) таблицы, либо установка галочек на всех строках | |
_ABB_SELNONE | 10018 | Таблица | Да (в опр. случаях) | Очистка выбора строк (элементов) таблицы, либо снятие галочек на всех строках | |
_ABB_SELINV | 10019 | Таблица | Да (в опр. случаях) | Обращение выбранных строк (элементов) таблицы, либо обращение галочек на всех строках | |
_ABB_ADDONE | 10020 | Таблица | Да (в опр. случаях) | Добавление одной строки (элемента) в таблицу выбором | |
_ABB_ADDMANY | 10021 | Таблица | Нет | Добавление нескольких строк (элементов) в таблицу подбором | |
_ABB_DELONE | 10022 | Таблица | Да (в опр. случаях) | Очистка (удаление) одной строки (элемента) таблицы | |
_ABB_DELALL | 10023 | Таблица | Да (в опр. случаях) | Очистка (удаление) всех строк (элементов) таблицы | |
_ABB_ADDFILT | 10024 | Таблица | Да (в опр. случаях) | Добавление нескольких строк (элементов) в таблицу с помощью фильтра | |
_ABB_MASSCHNG | 10025 | Таблица | Нет | Операции группового изменения строк (элементов) таблицы | |
_ABB_REFRESH | 10026 | Таблица | Да (в опр. случаях) | F5 | Обновить таблицу из базы данных |
_ABB_HELP | 10027 | Таблица | Нет | Получение подсказки/помощи по данной таблице | |
_ABB_MODEDEL | 10028 | Таблица | Да (в опр. случаях) | Переключение режима отображения удаленных строк (элементов) | |
_ABB_NEWBASED | 10029 | Таблица | Да (в опр. случаях) | Добавление новой строки (создание нового элемента), связанной с текущей (на основании текущей) | |
_ABB_CUSTOMSORT | 10030 | Таблица | Да (в опр. случаях) | Открытие диалога сортировки | |
_ABB_OPENCHILDREN | 10031 | Таблица | Да (в опр. случаях) | Открытие списка подчиненных элементов (документов) | |
_ABB_OPENPARENT | 10032 | Таблица | Да (в опр. случаях) | Открытие списка родительских элементов (документов) | |
_ABB_OPENREADONLY | 10033 | Таблица | Да (в опр. случаях) | F11 | Открыть в режиме только просмотра |
_ABB_EXPORTTOSFT | 10034 | Таблица | Да | Экспортировать в табличный редактор... |
Синтаксис
OnAttachedButtons(<Индекс связанного элемента (INT)>,<Метод вызова (INT)>,<Вызываемый элемент формы (FORM)>):<Событие обработано (INT)>
Аргументы
<Индекс связанного элемента (INT)>
- Числовое значение, идентифицирующее связанный элемент. Данное число либо является стандартным внутренним идентификатором (см. таблицу констант выше), либо пользовательским значением, если связанный элемент был задан разработчиком.<Метод вызова (INT)>
- Ноль для самого элемента, Единица для дополнительной кнопки вызова, справа от связанного элемента (см. Редактор связанных элементов).<Вызываемый элемент формы (FORM)>
- Элемент формы, для которого был активирован связанный элемент. Для получения объекта самой формы, можно использовать метод .Form.
Возвращаемое значение
Если функция возвратит 1, следующая функция цепочки вызвана не будет. Если функция возвратит ноль, будет вызвана следующая функция цепочки, либо инициировано стандартное действие, ассоциированное с данным связанным элементом, если следующая функция не существует.
Примеры
//При объявлении функции опущен третий параметр, это допустимо с функциями-обработчиками событий. Function OnAttachedButtons(Index,Метод) //Событие не обработано по умолчанию Result:=0; If Index=_AB_HELP Then Box("Пользователь нажал на кнопку ""помощь"", поля редактирования!",Q_INFORMATION); //Событие _AB_HELP далее в цепочке вызвано не будет Result:=1; EndIf; EndFunction