программно назначить обработчик события 1с
Доброго времени суток, Уважаемые. Возникла проблема с назначением обработчика события на программно созданный элемент формы (упр формы).
Код выполняется на сервере. Всю процедуру не стал писать.
ОШИБКА
Тип не определен (Действие)
Элемент.УстановитьДействие("ПриИзменении", Новый <<?>>Действие("ВыполнитьДействиеПриИзмененииДанных")); (Проверка: Сервер)
В справке написано что доступность на Действие есть на сервере. В чем проблема?
Код выполняется на сервере. Всю процедуру не стал писать.
Элемент = Элементы.Добавить(новРеквизит.Имя, Тип("ПолеФормы"), Элементы["ГруппаКолонкаРеквизитов" + Строка(сч)]);
Элемент.Вид = ВидПоляФормы.ПолеВвода;
Элемент.ПутьКДанным = СтрокаРеквизит.Имя;
Элемент.УстановитьДействие("ПриИзменении", Новый Действие("ВыполнитьДействиеПриИзмененииДанных"));
&НаСервере
Процедура ВыполнитьДействиеПриИзмененииДанных()
Сообщить("Тест");
КонецПроцедуры // ВыполнитьДействиеПриИзмененииДанных()
ПоказатьОШИБКА
Тип не определен (Действие)
Элемент.УстановитьДействие("ПриИзменении", Новый <<?>>Действие("ВыполнитьДействиеПриИзмененииДанных")); (Проверка: Сервер)
В справке написано что доступность на Действие есть на сервере. В чем проблема?
По теме из базы знаний
- Методика переопределения и вызова обработчиков событий обычной формы
- Правила и приемы доработки типовых конфигураций 1С для облегчения их дальнейшей поддержки и обновления
- Видеокурс-самоучитель "1С:Документооборот 2.1 и 3.0" для самостоятельного внедрения
- Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"
- Infostart DataFormWizard: Управление данными и формами в 1С 8.3
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Arven, там же вроде тип строка в действии.
Действие ты и так назначаешь.
Попробуй просто через запятую в кавычках имя действия указать.
Действие ты и так назначаешь.
Попробуй просто через запятую в кавычках имя действия указать.
Элемент.УстановитьДействие("ПриИзменении", "ВыполнитьДействиеПриИзмененииДанных");
Наверное сигнатура процедуры должна иметь вид
&НаКлиенте
Процедура ТоварыПриИзменении(Элемент)
ТоварыПриИзмененииНаСервере();
КонецПроцедуры
&НаСервере
Процедура ТоварыПриИзмененииНаСервере()
// Вставить содержимое обработчика.
КонецПроцедуры
Показать
Элемент.УстановитьДействие("ПриИзменении", "ВыполнитьДействиеПриИзмененииДанных");
&НаКлиенте
Процедура ВыполнитьДействиеПриИзмененииДанных(Элемент)
ВыполнитьДействиеПриИзмененииДанныхНаСервере();
КонецПроцедуры
&НаСервере
Процедура ВыполнитьДействиеПриИзмененииДанныхНаСервере()
// Вставить содержимое обработчика.
КонецПроцедуры
Показать
(12) возможно кому-то пригодится: обязательно, чтобы элемент являлся гиперссылкой, если хотим обрабатывать нажатие на него!
Например:
КартинкаПортрета.Гиперссылка = Истина;
КартинкаПортрета.УстановитьДействие("Нажатие", "АдресКартинкиНажатие");
Например:
КартинкаПортрета.Гиперссылка = Истина;
КартинкаПортрета.УстановитьДействие("Нажатие", "АдресКартинкиНажатие");
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот