1с добавить кнопку на форму программно
Программно добавить на командную панель кнопку с выполнением произвольного кода по ее нажатию.
Реализация
В обработчике события формы ПриСозданииНаСервере() добавим код генерации команды и кнопки
И создадим обработчик нашей команды
В итоге на форме появится кнопка выполняющая наш обработчик. Выглядеть все это будет как добавленная кнопка в конфигураторе
Так же кнопки формы имеют свойство КнопкаПоУмолчанию, если присвоить значение Истина
тогда кнопка будет выделена цветом и шрифтом
а как код то добавить чтобы выполнялся?
или код нужно заранее на форму поместить, тогда нет смысла добавлять программно команду, если код всеравно нужно помещать заранее на конкретную форму.
Алексей, доброго времени суток! Хороший вопрос!
Все верно, код обработчика придется добавить в модуль формы.
А теперь давайте посмотрим не только на разработку, но и на сопровождение и дальнейшее обновление доработанной конфигурации.
Если команду добавить программно в модуле формы или соответствующем модуле БСП, а обработчик в модуле формы. При этом выделив все свои процедуры префиксом и поместив их в отдельную область, то мы получим ситуацию, когда все наши изменения можно легко увидеть в сравнении модулей. Не придется держать чек-лист со списком команд/реквизитов/элементов для ручного добавления и перепроверки после обновления.
Обдумав данный механизм, просится к добавлению:
1. Автотест с открытием форм и исполнением программного изменения;
2. Корректная обработка ситуаций, когда программное изменение не получилось. С соответствующим выводом на этапе тестирования.
Как программно добавить в командную панель кнопку со стандартной функцией "Сортировать по убыванию"?
Можно, например, включить автозаполнение в ком. панели, потом при открытии создать структуру или массив с действиями, заполнить его, и после этого отключить автозаполнение
Код 1C v 8.х
Похожие FAQ
Google maps, поиск оптимального маршрута 5В данном посте хочу коснуться основных аспектов построения оптимального маршрута с использованием API Google maps. Исходные данные для построения маршрута: * Географические координаты объектов, которые хранятся в базе; * Координаты начальной и коне База 1С при запуске уходит в дамп и вылетает 1
В последнее время частенько обращаются пользователи у которых после замены или ремонта компьютера 1С не запускается, а точнее при открытии уходит в dump и вылетает. Как правило, решение одно: Отключить аппаратное ускорение видеокарты В Window В регламентированной отчетности не печается штрих-код 1С ( EanGnivc ) 0
Установка шрифта EanGnivc В формах регламентированной отчетности, например, налоговые декларации, которые введены для предоставления отчетности, на всех листах в левом верхнем углу содержат свой уникальный штрих-код. В этих формах, которые распрос Горячие клавиши 1С Пользователю [ Предприятие] 5
Основные команды: Интерфейс: F6 - переключение между формами рабочего стола F10 - переход в главное меню окна Alt+1 - переход на панель Разделов Alt+2 - переход на панель Навигации Alt+3 - переход на панель Действий Alt+9 - переход Горячие клавиши 1С Разработчику [ Конфигуратор ] 119
Основные команды: Кодирование: Ctrl+Пробел - вызов подсказки Ctrl+Q - вызов шаблона Ctrl+F1 - поиск в синтакс-помощнике Ctrl + L - удалить текущую строку Alt+Shift+F - отформатировать код Исследование: F12 - ставим курсор на про Посмотреть все результаты поиска похожих
Еще в этой же категории
Программное создание таблицы значений с условным оформлением 12
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Поле выбора
Заполнение списка значений в элементе поле выбора на форме 10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип - Произвольный, Использование - Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Поле выбора
Как ограничить список выбора? 8
Ограничим список элементов, установив отбор в открываемой форме //Пример 1 Процедура СтатьяПДРНачалоВыбора(Элемент, СтандартнаяОбработка) ФормаВыбора = Справочники.ПрочиеДоходыИРасходы.ПолучитьФормуВыбора(, Элемент); ЭлементОтбораВидПДР = Форма Реквизит
Как активизировать, перевести фокус на необходимый элемент на форме? 6
//Текущему Элементу формы присваиваем элемент котровый необходимо активизировать ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.ТабличноеПоле; Посмотреть все в категории Работа с Формой (Диалог) и её элементами
Недавно потребовалось сделать так, чтобы в одной из колонок табличного поля все ячейки стали кнопками, с соответствующей реакцией на нажатие (обычное приложение).
Способом решения данной задачи я и спешу поделиться.
НоваяКолонка = ЭлементыФормы.ТабПоле.Колонки.Вставить(5, "Тест"); НоваяКолонка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно; НоваяКолонка.ИзменениеРазмера = ИзменениеРазмераКолонки.НеИзменять;Затем нужно определить свойства созданной кнопки:
Кнопка.УстановитьДействие("Нажатие", Новый Действие("Тест_ОбработкаНажатие"));Результат выглядит примерно так:
Вот собственно и все, спасибо за внимание, надеюсь этот пост Вам помог.
Если Вы нашли ошибку или неточность, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
(оценок: 1, средняя оценка: 5,00 из 5)Боюсь, что никак
Я думаю попробовать вставить в качестве кнопки картинку и обрабатывать события ячейки. Ведь картинка ячейки будет всегда отображаться.
Если картинка вместо кнопки устраивает, то это сработает, гарантирую
Добавление кнопки на управляемую форму
Изменение форм объектов конфигурации является очень распостраненной задачей при доработке типовый конфигураций, создании отчетов и обработок и т.д. Да в абсолютном большинстве случаев разработчику приходится иметь дело с формами.
Сегодня в статье рассмтрим сквозной пример добавления на управляемую форму кнопки.
Конструктор
Самый простой способ - это конечно же воспользоваться конструктором форм в конфигураторе. Тогда не нужно будет писать ни одной строчки кода. Все что нужно - это пара кликов:
И кнопка уже добавлена!
Но не всегда такой вариант приемлем. Для некоторых задач нужно изменять форму программным образом, например, для формирования кнопок команд печати документов, где для каждой печатной формы создается собственная кнопка. Заранее знать состав всех печатных форм (включая внешние) мы не можем, поэтому добавление кнопок выполняется автоматичкески.
Программное добавление
И так, то что мы сделали в 2 клика сделаем с помощью нескольких строк кода. Перед тем как добавлять команду формы, нам нужно определить процедуру-обработчик этой команды. Добавим в модуль формы следующую процедуру:
Теперь нам нужно добавить команду формы и присвоить в качестве обработчика процедуру выше. Добавлять команду нужно на стороне сервера, поэтому используем событие формы "ПриСозданиинаСервере":
Отлично, осталось добавить элемент формы типа "Кнопка формы" для команды формы "Предупредить". Дополним обработчик события "ПриСозданииНаСервере":
На этом все. Если мы откроем эту форму в режиме 1С:Предприятия, то увидим следующее:
Пример небольшой и врятли даст ответы нв все вопросы по программной модификации форм. Он лишь может подсказать общий принцип.
Читайте также: