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