Как вызвать программно команду расположенную на Форме 1С?
Вопрос:
Есть расположенная на форме новая команда, как в 1С её вызвать программно из модуля формы? Перерыл интернет,не нашел четкого объяснения или кода.
Ответ:
Просто вызови процедуру команды, подставив в параметры команду или кнопку.
Для управляемой формы:
Процедура ВызватьКоманду() ИмяНужнойКоманды = “ИмяКомандыФормы”; // Тут просто имя команды как в конфигураторе. НужнаяКоманда = ЭтаФорма.Команды.Найти(ИмяНужнойКоманды); // Находим команду на форме КакаяТоКоманда(НужнаяКоманда); // Вызываем нужную команду, подставив ее в параметры КонецПроцедуры
Наша команда предоставляет услуги по консультированию, настройке и внедрению 1С.
Связаться с нами можно по телефону +7 499 350 29 00.
Услуги и цены можно увидеть по ссылке.
Будем рады помочь Вам!
Процедура КакаяТоКоманда(Команда) // Тут код твоей команды. КонецПроцедуры
Для обычной формы Процедура ВызватьКоманду() ИмяНужнойКнопки = “ИмяКнопкиФормы”; // Тут просто имя команды как в конфигураторе. НужнаяКнопка = ЭтаФорма.ЭлементыФормы.ОсновныеДействияФормы.Кнопки[ИмяНужнойКнопки]; КакаяТоКоманда(НужнаяКнопка); // Вызываем нужную команду, подставив ее в параметры КонецПроцедуры
Процедура КакаяТоКоманда(Кнопка) // Тут код твоей команды. КонецПроцедуры
В принципе, можешь и не заморачиваться с кнопками и командами, если они не обрабатываются в коде. Хотя что мешает вообще вынести код команды в процедуру и вызывать ее сколько влезет? 🙂
Комментарии
Процедура ВызватьКоманду() ИмяНужнойКоманды = “ИмяКомандыФормы”; // Тут просто имя команды как в конфигураторе. НужнаяКоманда = ЭтаФорма.Команды.Найти(ИмяНужнойКоманды); // Находим команду на форме КакаяТоКоманда(НужнаяКоманда); // Вызываем нужную команду, подставив ее в параметры КонецПроцедуры
Процедура КакаяТоКоманда(Команда) // Тут код твоей команды. КонецПроцедуры
Ересь какая-то написана. Сложно нормально написать, не смешивая все в кучу ?
Спасибо, помогло. Кому непонятно там нужно расставить переводы строк
Для управляемой формы:
Процедура ВызватьКоманду()
// Тут просто имя команды как в конфигураторе.
ИмяНужнойКоманды = “ИмяКомандыФормы”;
// Находим команду на форме
НужнаяКоманда = ЭтаФорма.Команды.Найти(ИмяНужнойКоманды);
// Вызываем нужную команду, подставив ее в параметры
КакаяТоКоманда(НужнаяКоманда);
КонецПроцедуры
Процедура КакаяТоКоманда(Команда)
// Тут код твоей команды.
КонецПроцедуры