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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Оставить комментарий