Имя: Пароль:
1C
1С v8
Обработчик события программно созданного элемента формы
,
0 Zheka_zloy
 
02.09.16
16:31
есть реквизит формы созданный программно (КакойТоРеквизит) - строка
к нему элемент созданный программно (КакойТоЭлемент) - поле ввода
вопрос есть ли возможность обрабатывать события этого элемента, в частности интересует ПриИзменении?
спасибо.
1 butterbean
 
02.09.16
16:32
есть
2 Zheka_zloy
 
02.09.16
16:44
)))))
как плиз?
3 Горогуля
 
02.09.16
16:45
программно же
4 oslokot
 
02.09.16
16:46
тут ведь как: создал программно - создай программно и обработчики, ну а ежели нет - так привязывай обычным спомобом
5 Горогуля
 
02.09.16
16:46
установить действие
6 Zheka_zloy
 
02.09.16
16:55
код плиз
7 Горогуля
 
02.09.16
16:56
Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)
    ТекПользователь=ИмяПользователя();
    спр=Справочники.Пользователи.НайтиПоНаименованию(ТекПользователь, Истина);
    Если спр.Пустая() Тогда
        спр=Справочники.Пользователи.СоздатьЭлемент();
        спр.Наименование=ИмяПользователя();
        Попытка
            спр.Записать();
            Сообщить("Создан новый пользователь: "+спр);
        Исключение
            Сообщить(ОписаниеОшибки());
        КонецПопытки;
        спр=спр.Ссылка;
    КонецЕсли;
    ПараметрыСеанса.ТекущийПользователь=спр;
КонецПроцедуры
8 Zheka_zloy
 
02.09.16
17:22
возможно я не правильно описал вопрос
уточняю
ФормаДокумента
программно создан реквизит формы
НовыйРеквизит = МассивРеквизитов.Добавить(бла бла бла.....)
ИзменитьРеквизиты(МассивРеквизитов);

затем
НовыйЭлемент = Элементы.Добавить(<Имя>,ТипЭлемента>,Родитель>)
НовыйЭлемент.ПутьКДанным = НовыйРеквизит;
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;

вопрос:
код процедуры НовыйЭлементПриИзменении()
спасибо
9 Горогуля
 
02.09.16
17:25
Процедура НовыйЭлементПриИзменении()
ПоказатьПредупреждение(, "да!");
КонецПроцедуры
10 Zheka_zloy
 
02.09.16
17:28
(9) а если элементов 10 и имена создаются программно?
11 Горогуля
 
02.09.16
17:29
(10) аналогично
12 f_vadim
 
02.09.16
17:29
(10) обработчики тоже разные?
13 Рэйв
 
02.09.16
17:29
(10)Если почитаешь Сп, там указано место именир обработчика как параметра
14 Горогуля
 
02.09.16
17:30
(12) 1С рекомендует так. даже если оттуда вызывается одно и то же
15 Рэйв
 
02.09.16
17:30
+(13)При программном создании элемента формы
16 Горогуля
 
02.09.16
17:31
так. я уже готов к вопросам "что такое СП?" и "что там искать?"
17 f_vadim
 
02.09.16
17:31
(14) а чем они это аргументируют?
18 Рэйв
 
02.09.16
17:32
(16)ты еще забыл фотку спросить.
19 Горогуля
 
02.09.16
17:32
(17) не помню. стандарты разработки на ИТС или что-то в этом духе. очень много букв
20 Горогуля
 
02.09.16
17:33
(18) пол мужской, 38 лет. нет, не забыл
21 Рэйв
 
02.09.16
17:35
(20)А ну тогда да.Я в личку не смотрел:-)
22 Zheka_zloy
 
02.09.16
17:41
Для Каждого Строка Из Города Цикл
НовыйЭлемент = Элементы.Добавить(Строка.Город, Тип("ПолеФормы"), ГруппаФормы);
НовыйЭлемент.ПутьКДанным = Строка.Город;
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
КонецЦикла

НовыхЭлементов может быть 2, а может и 10 и для всех нужны Процедура ПриИзменении()
23 aleks_default
 
02.09.16
17:41
(19)У тебя скилл тролллинга прокачан сильно. Даже я почти поверил.
24 MishaD
 
02.09.16
17:44
(23) причем тут троллинг. Читал тоже самое про стандарты 1с, только давно это было, и не помню где. Как бы не у Максима Радченко.
25 Chameleon1980
 
02.09.16
18:00
(24)
это делается, чтобы по тексту понять
к какому элементу какое событие привязано (типа того)

т.к. зачастую события элементов создаем автоматом то и имя процедуры генерится исходя из элемента и события.

как-то так.
26 Chameleon1980
 
02.09.16
18:00
где то такое объяснение втречал
27 Chameleon1980
 
02.09.16
18:01
никто не запрещает так -то делать три в одном, но вот так говорят
28 Изобретатель Велосип
 
02.09.16
18:06
В 1С нет возможности программно добавить функцию в модуль - так что как не называй - заготовить придётся изначально.
29 Chameleon1980
 
02.09.16
18:28
Расширение элементов управления, расположенных в форме.УстановитьДействие (Extension for controls located in a form.SetAction)
Расширение элементов управления, расположенных в форме (Extension for controls located in a form)
УстановитьДействие (SetAction)
Синтаксис:

УстановитьДействие(<ИмяСобытия>, <Действие>)
Параметры:

<ИмяСобытия> (обязательный)

Тип: Строка.
Имя события.
<Действие> (обязательный)

Тип: Действие; Неопределено.
Устанавливаемое действие.
В случае установки значения Неопределено при получении от элемента управления указанного события никакого действия выполнено не будет.
Описание:

Устанавливает новую процедуру-обработчик (действие) для указанного события.

Доступность:

Толстый клиент.
Примечание:

Процедура должна быть экспортируемой и располагаться в модуле формы, при этом количество параметров должно совпадать с необходимым количеством параметров события, инициирующего вызов действия.
--------------------------------------------------------------------------------

     Методическая информация
30 Chameleon1980
 
02.09.16
18:33
есть и для УФ

УправляемаяФорма.УстановитьДействие (ManagedForm.SetAction)
УправляемаяФорма (ManagedForm)
УстановитьДействие (SetAction)
Синтаксис:

УстановитьДействие(<ИмяСобытия>, <Действие>)
Параметры:

<ИмяСобытия> (обязательный)

Тип: Строка.
Имя события.
<Действие> (обязательный)

Тип: Строка.
Имя процедуры обработчика.
Описание:

Устанавливает обработчик события.

Доступность:

Сервер, мобильное приложение(сервер).


+ вот http://forum.infostart.ru/forum26/topic134751/
31 Cyberhawk
 
02.09.16
20:40
(0) "есть ли возможность обрабатывать события этого элемента, в частности интересует ПриИзменении?" // Есть, но для этого, к сожалению, обязательно придется модифицировать код формы. Кстати, через расширение пока не проверял, прокатит ли.
32 Chameleon1980
 
02.09.16
21:20
а тс в каком месте кодом создал

"...есть реквизит формы созданный программно (КакойТоРеквизит) ..."


?

вроде уже жеж конфа поменялась
33 Chameleon1980
 
02.09.16
21:21
+(32) хотя про расширения относительно данного вопроса все-равно интересно
34 Изобретатель Велосип
 
02.09.16
21:28
А разве раширение модификацией конфигурации не является ?
35 Chameleon1980
 
02.09.16
21:45
(34) ну как бэ не совсем.

вроде для того и придумывалось, что как бы обновляться малой кровью