|
Как программно вызвать событие элемента формы? | ☑ | ||
---|---|---|---|---|
0
Tester
28.11.14
✎
13:25
|
Всем привет.
1С 8.2 обычное приложение (не управляемое). На форме есть поле ввода с обработкой события НачалоВыбора. Мне нужно по нажатию на определенную кнопку на форме вызвать событие поля ввода НачалоВыбора. |
|||
1
Господин ПЖ
28.11.14
✎
13:26
|
вызывай то что внутри
|
|||
2
Cube
28.11.14
✎
13:26
|
(0) Ну так и пиши: НазваниеПроцедуры()
|
|||
3
olegves
28.11.14
✎
13:28
|
так и пиши ПолеНачалоВвода(Неопределено)
|
|||
4
Tester
28.11.14
✎
13:28
|
Помимо того, что в обработчике, мне нужно вызвать само событие, т.к. после обработки НачалоВыбора открывается диалог выбора типа значения.
|
|||
5
ColonelAp4u
28.11.14
✎
13:29
|
(0) Процедура Кнопка1Нажатие(Элемент)
НачалоВыбора(); КонецПроцедуры |
|||
6
ColonelAp4u
28.11.14
✎
13:30
|
(4) понимаю что открытие диалога вызывается в процедуре НачалоВыбора()
|
|||
7
ColonelAp4u
28.11.14
✎
13:31
|
(4) если да то этот диалог вызовется как сработает событие
|
|||
8
Tester
28.11.14
✎
13:33
|
Нужна примерно такая фишка:
Процедура ТипРеквизитаНачалоВыбора(Элемент, СтандартнаяОбработка) // Отсекаем выбор значения, оставляя лишь выбор типа Если ТипЗнч(ТипРеквизита) <> Тип("Неопределено") Тогда СтандартнаяОбработка = Ложь; КонецЕсли; КонецПроцедуры Процедура ПолеВвода1НачалоВыбора(Элемент, СтандартнаяОбработка) Если ТипЗнч(ТипРеквизита) = Тип("Неопределено") Тогда // Так вызывается только обработчик события ТипРеквизитаНачалоВыбора(ЭлементыФормы.ТипРеквизита, Истина); // А мне нужно вызвать само событие, // чтобы после отбработчика открылся диалог выбора типа данных КонецЕсли; КонецПроцедуры |
|||
9
Tester
28.11.14
✎
13:44
|
Что нельзя никак программно вызвать событие элемента формы с его оработчиком?
|
|||
10
Господин ПЖ
28.11.14
✎
13:45
|
ты какие-то автотесты изобретаешь?
|
|||
11
Tester
28.11.14
✎
13:47
|
(10) Какие автотесты? :)
Просто хочу программно открыть диалог выбора типа для поля ввода составного типа данных. |
|||
12
Tester
28.11.14
✎
14:12
|
Ладно, всем спасибо. Извратом получил такую шляпу.
Процедура ТипРеквизитаНачалоВыбора(Элемент, СтандартнаяОбработка) // Отсекаем выбор значения, оставляя лишь выбор типа Если ТипЗнч(ТипРеквизита) <> Тип("Неопределено") Тогда СтандартнаяОбработка = Ложь; КонецЕсли; КонецПроцедуры Процедура ТипРеквизитаОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) ТипРеквизитаСтрока = Строка(ВыбранноеЗначение); КонецПроцедуры Процедура ПриОткрытии() ТипРеквизитаСтрока = ТипЗнч(ТипРеквизита); КонецПроцедуры Процедура ТипРеквизитаОчистка(Элемент, СтандартнаяОбработка) ТипРеквизитаСтрока = "Не определено"; КонецПроцедуры Процедура ПередЗаписью(Отказ) Если ТипЗнч(ТипРеквизита) = Тип("Неопределено") Тогда Предупреждение("Выберите тип реквизита!"); Отказ = Истина; КонецЕсли; КонецПроцедуры |
|||
13
Господин ПЖ
28.11.14
✎
14:17
|
извраты какие-то
|
|||
14
Defender aka LINN
28.11.14
✎
14:23
|
(12) А прикладной смысл *этого* в чем вообще?
|
|||
15
Domovoi
28.11.14
✎
14:49
|
(0)В 1с ничего нельзя. Некоторые вещи косвенно велосипедами можно, но на прямую вроде нельзя вызвать событие.
|
|||
16
Tester
28.11.14
✎
14:51
|
(14) В справочнике ВидыДопРеквизитыДоговоровКонтрагентов устанавливается Наименование и Тип значения реквизита.
В справочнике ДопРеквизитыДоговоровКонтрагентов добавляется любой реквизит определенного вида и соответственно типа и устанавливается его значение. Хотел в спр. ВидыДопРеквизитыДоговоровКонтрагентов на форму вывести ПолеВвода ТипРеквизитаСтрока типа Строка и уже в нем организовать в обработчике события НачалоВыбора() выбор типа значения реквизита ТипРеквизита, чтобы возвращало в ТипРеквизитаСтрока тип реквизита. |
|||
17
Tester
28.11.14
✎
14:52
|
Писать свой диалог выбора типа мне впадлу, вот и хотел его вызывать из обработчика другого события.
|
|||
18
Defender aka LINN
28.11.14
✎
16:05
|
(16) Кажется, самое время кому-то закрыть 1С, выключить компьютер и прочитать, наконец, хоть что-нибудь про систему, в которой ты пытаешься программировать. Например, рекомендую главу про Планы Видов Характеристик. Лихо закрученный сюжет, неожиданная развязка.
Ну и еще можно про связь по типу прочитать. И про формы тоже будет не лишним. |
|||
19
Tester
28.11.14
✎
16:21
|
(18) Ну я согласен, что скорее всего мой вариант логически не правильный. Но он уже готов и работает.
Читать начну досконально, когда наконец решимся перейти с дремучей 7.7. А пока сойдет и так. P.S. Но все равно спасибо за пинок в нужную сторону! |
|||
20
Defender aka LINN
28.11.14
✎
16:29
|
(19) Та я вижу, как он работает...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |