Как программно добавить кнопку в ячейку табличного поля в 1С 8 (обычные формы)

 

Недавно потребовалось сделать так, чтобы в одной из колонок табличного поля все ячейки стали кнопками, с соответствующей реакцией на нажатие (обычное приложение).

Способом решения данной задачи я и спешу поделиться.

Создавать колонку заранее нет необходимости — это всегда можно сделать программно, примерно так:

В первой строке «5» это позиция колонки в табличном поле, а «Тест» — заголовок колонки. Далее по коду все вроде бы понятно.

Затем нужно определить свойства созданной кнопки:

После этого создать процедуру-обработчик, это обычная процедура, единственное требование к этой процедуре — она должна быть экспортной, примерно так:

Результат выглядит примерно так:

Кнопка в ячейке табличного поля

Вот собственно и все, спасибо за внимание, надеюсь этот пост Вам помог.

Upd. Продолжение: кнопка в табличной части в управляемой форме.

Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оценка статьи:
УжасноПлохоНеплохоХорошоОтлично (оценок: 2, средняя оценка: 3,00 из 5)
Загрузка...

Понравилась статья? Поделиться с друзьями:
Комментарии: 7
  1. Денис

    При «расфокусировке» ячейки кнопка исчезает, а при щелчке по ячейке кнопка появляется (((. Как решить эту проблему?

    1. Боюсь, что никак

  2. Денис

    Я думаю попробовать вставить в качестве кнопки картинку и обрабатывать события ячейки. Ведь картинка ячейки будет всегда отображаться.

    1. Если картинка вместо кнопки устраивает, то это сработает, гарантирую

      1. Денис

        Я думаю, что моих кадровиков устроит вполне картинка-кнопка. Но все же не отпускает мысль, что должен быть способ. Флажки ведь видны постоянно в ячейках. Наверное нужно какой-то компонент внешний использовать или самостоятельно писать, чтобы реализовать эту возможность. Свою версию табличного поля например. Но это все лирика.)) Как будет время попробую на С++ или C# сделать библиотечку для этого. Вопросов конечно возникнет много. Но это интересно.

  3. Михаил

    Кнопка.УстановитьДействие(«Нажатие», Новый Действие(«Тест_ОбработкаНажатие»));

    Каким образом можно передать параметр в Тест_ОбработкаНажатие

  4. ogion

    Присоединяюсь к вопросу Михаила. Без параметра совсем грустно.

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: