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