OnAttachedButtons

From SunFlurry wiki
Revision as of 08:52, 7 February 2021 by Admin (talk | contribs) (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
  OnAttachedButtons (События форм)
Статус разработки: Реализована
Тип:Функция
Обращение к БД:Нет
Расположение:Любой глобальный модуль, текущий локальный модуль
Визуальность:Нет

Событие, вызываемое при любом нажатии на связанные элементы объектов формы. Для функции размещаемой в глобальном модуле, можно получить саму форму, использовав параметр Вызываемый объект формы со свойством .Form. Если функция возвратит 0 в локальном модуле, будет произведен вызов такой же процедуры в глобальном модуле, затем обработчик события на элементе формы и, если событие по-прежнему не обработано, будет произведено действие, ассоциированное по умолчанию с текущим связанным элементом. Функция работает как для элементов, связанных с полями редактирования, выпадающими списками и пр., для кнопок таблиц и списоков, так и для элементов полей редактирования, появляющихся при редактировании ячеек таблицы. Также функция будет вызвана, если пользователь использовал комбинацию клавиш, вместо активации связанного элемента с помощью мыши (к примеру, при нажатии Shift+F4 в поле редактирования, до того, как редактируемое значение будет очищено, будет вызвана цепочка событий OnAttachedButtons с индексом элемента _AB_CLEAR). Для связанных элементов, заданных в конфигурации разработчиком, событие вызывается подобным образом, однако, действие по умолчанию отсутствует.

Ниже дана цепочка вызова функций OnAttachedButtons. Следующая функция будет вызвана, если предыдущая возвратила ноль. Дальнейшую информацию см. в статье Редактор связанных элементов.

  1. Функция OnAttachedButtons в локальном модуле формы, где произошла активация связанного элемента.
  2. Функция OnAttachedButtons в одном из глобальных модулей.
  3. Событие OnAttachedButtons в контейнере событий, привязанном к элементу формы, для которого произошла активация связанного элемента.
  4. Выполняется действие по умолчанию, ассоциирующееся с данным связанным элементом.

Ниже приводится список констант языка, которые можно использовать, вместо числовых для идентификации параметра Индекс связанного элемента.

Имя константы Числовое значение Тип элемента Стандартное действие Комбинация клавиш Описание
_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