1с программно добавить кнопку очистки
Программно добавить на командную панель кнопку с выполнением произвольного кода по ее нажатию.
Реализация
В обработчике события формы ПриСозданииНаСервере() добавим код генерации команды и кнопки
И создадим обработчик нашей команды
В итоге на форме появится кнопка выполняющая наш обработчик. Выглядеть все это будет как добавленная кнопка в конфигураторе
Так же кнопки формы имеют свойство КнопкаПоУмолчанию, если присвоить значение Истина
тогда кнопка будет выделена цветом и шрифтом
а как код то добавить чтобы выполнялся?
или код нужно заранее на форму поместить, тогда нет смысла добавлять программно команду, если код всеравно нужно помещать заранее на конкретную форму.
Алексей, доброго времени суток! Хороший вопрос!
Все верно, код обработчика придется добавить в модуль формы.
А теперь давайте посмотрим не только на разработку, но и на сопровождение и дальнейшее обновление доработанной конфигурации.
Если команду добавить программно в модуле формы или соответствующем модуле БСП, а обработчик в модуле формы. При этом выделив все свои процедуры префиксом и поместив их в отдельную область, то мы получим ситуацию, когда все наши изменения можно легко увидеть в сравнении модулей. Не придется держать чек-лист со списком команд/реквизитов/элементов для ручного добавления и перепроверки после обновления.
Обдумав данный механизм, просится к добавлению:
1. Автотест с открытием форм и исполнением программного изменения;
2. Корректная обработка ситуаций, когда программное изменение не получилось. С соответствующим выводом на этапе тестирования.
Недавно потребовалось сделать так, чтобы в одной из колонок табличного поля все ячейки стали кнопками, с соответствующей реакцией на нажатие (обычное приложение).
Способом решения данной задачи я и спешу поделиться.
НоваяКолонка = ЭлементыФормы.ТабПоле.Колонки.Вставить(5, "Тест"); НоваяКолонка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно; НоваяКолонка.ИзменениеРазмера = ИзменениеРазмераКолонки.НеИзменять;Затем нужно определить свойства созданной кнопки:
Кнопка.УстановитьДействие("Нажатие", Новый Действие("Тест_ОбработкаНажатие"));Результат выглядит примерно так:
Вот собственно и все, спасибо за внимание, надеюсь этот пост Вам помог.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 1, средняя оценка: 5,00 из 5)Боюсь, что никак
Я думаю попробовать вставить в качестве кнопки картинку и обрабатывать события ячейки. Ведь картинка ячейки будет всегда отображаться.
Если картинка вместо кнопки устраивает, то это сработает, гарантирую
Читайте также: