По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для УФ - Создаёшь кнопку и процедуру к ней. В описании кнопки описываешь и процедуру обслуживания.
1.// Добавить реквизит.
ТипыРеквизита = Новый Массив; // если тип - составной - нужно описание типов в массиве
ТипыРеквизита.Добавить(Тип("Строка"));
// сюда добавить второй и т.п. тип для составного типа.
ОписаниеТиповДляРеквизита = Новый ОписаниеТипов(ТипыРеквизита);
НовыйРеквизит = Новый РеквизитФормы("РеквизитКомментарий", // имя
ОписаниеТиповДляРеквизита, // тип
, // путь
"Комментарий", // заголовок
Истина); // сохраняемые данные
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(НовыйРеквизит);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
// В этом фрагменте мы сначала создаем объект, описывающий тип добавляемого реквизита.
// Наш реквизит будет иметь тип Строка, поэтому мы создаем массив ТипыРеквизита, содержащий единственный элемент.
//¦¦ имя реквизита – РеквизитКомментарий;
//¦¦ тип этого реквизита – созданное нами описание типов ОписаниеТиповДляРеквизита;
//¦¦ путь к реквизиту не указываем, поскольку добавляем реквизит первого уровня;
//¦¦ заголовок реквизита – Комментарий, этот заголовок будет использоваться платформой для отображения в форме;
//¦¦ последним параметром указываем, что этот реквизит содержит сохраняемые данные, т. е. при изменении этого реквизита будет автоматически
//устанавливаться модифицированность формы. В данном случае этот параметр мы используем исключительно в демонстрационных целях,
//чтобы показать, что такая возможность имеется. Благодаря этому в дальнейшем перед закрытием формы мы сможем анализировать ее
//модифицированность и предотвращать закрытие формы без сохранения измененных данных.
2. // Добавить элемент формы и связать его с реквизитом.
НовыйЭлемент = Элементы.Добавить("ПолеКомментарий", Тип("ПолеФормы"));
3. //Связь элемента с реквизитом
НовыйЭлемент.ПутьКДанным = "РеквизитКомментарий";
4.//Установка свойств поля
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.КнопкаОчистки = Истина;
5.// Установить обработчик события.
НовыйЭлемент.УстановитьДействие("ПриИзменении", "ОбработчикПриИзмененииПоляКомментарий");
&НаКлиенте
Процедура ОбработчикПриИзмененииПоляКомментарий(Элемент)
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ЭтаФорма["РеквизитКомментарий"];
Сообщение.Сообщить();
КонецПроцедуры
ПоказатьОбработкаНажатия = Новый Действие("Сформировать");
НовКнопка = ЭлементыФормы.Добавить(Тип("Кнопка"),"Кнопка");
НовКнопка.Высота = 25;
НовКнопка.Ширина = 100;
НовКнопка.Заголовок = "Нажать";
НовКнопка.УстановитьДействие("Нажатие", ОбработкаНажатия);
Процедура Сформировать(Элемент)
Сообщить(ТекущаяДата());
КонецПроцедуры
Показать
Потом еще надо программно добавить команду формы, если ее нет, а вот процедуру команды нужно указать уже в модуле формы.
И рекомендую называть такие процедуры с префиксом "Подключаемый_", чтобы облегчить жизнь тем разработчикам, которые будут исправлять код после тебя )))
И рекомендую называть такие процедуры с префиксом "Подключаемый_", чтобы облегчить жизнь тем разработчикам, которые будут исправлять код после тебя )))
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот