|
Как сгенерировать событие в созданной форме? | ☑ | ||
---|---|---|---|---|
0
Dwarrior
22.11.11
✎
10:16
|
Здраствуйте!
Задача такая - программно создаю документы разного типа, заполняю некоторые поля. На форме есть событие ПриИзменении() этих полей. Как до них дотянуться (исполнить) из моего кода? НАпрямую вызвать эту процедуру нельзя (или можно?), может как-то можно сгенерировать событие и послать форме? Вариант с копированием кода процедуры "ПриИзменении" в мой код - не вариант, посколько видов документов несколько, плюс полей несколько и обработчики разные... |
|||
1
Wobland
22.11.11
✎
10:17
|
программно создаёшь документ. в ПриИзменении() допустим, меняется что-то на форме (не в данных документа). как бороться с такой ситуацией? формы ведь нет
|
|||
2
Dwarrior
22.11.11
✎
10:24
|
(1) Забыл упомянуть, я после создания документов показываю их юзеру, чтобы он дальше в них работал. Создаю форму и открываю, эта форма не годится для получения события ПриИзменении()?
ФормаДокумента = Документ.ПолучитьФорму(); ФормаДокумента.Открыть(); |
|||
3
Wobland
22.11.11
✎
10:37
|
Форма.ЭлементПриИзменении()? вроде экспорт нужен ещё
|
|||
4
hhhh
22.11.11
✎
10:43
|
(3) ну как бы есть метод без экспорта, но через задний проход
ПодключитьОбработчикОжидания(<ИмяПроцедуры>, <Интервал>, <Однократно>) Параметры: <ИмяПроцедуры> (обязательный) Тип: Строка. Имя процедуры, подключаемой в качестве обработчика ожидания. <Интервал> (обязательный) Тип: Число. Интервал времени в секундах с точностью до 1/10 секунды, через который будет осуществляться вызов процедуры (положительное число). Если указано значение меньше 1, то значение третьего параметра должно быть равно Истина. <Однократно> (необязательный) Тип: Булево. Признак однократного выполнения обработчика ожидания. Истина - указанный обработчик ожидания будет выполнен один раз. Значение по умолчанию: Ложь Описание: Подключает указанную процедуру в качестве обработчика ожидания. Процедура будет вызываться в период ожидания системы каждый раз по истечению указанного интервала времени. Доступность: Толстый клиент. Примечание: Вызов обработчика ожидания продолжается пока форма не будет закрыта или пока не будет вызван метод формы ОтключитьОбработчикОжидания. Пример: ПодключитьОбработчикОжидания("ПриОжидании", 1); |
|||
5
Dwarrior
22.11.11
✎
11:01
|
(3) Да, как вариант, но придется всем обработчикам приписывать "Экспорт"
(4) Интересный вариант, вот только ПриОжидании() - это процедура в модуле документа? Или такая процедура должна быть у меня в моем коде? |
|||
6
teapot123
22.11.11
✎
11:01
|
Процедура КонтрагентПриИзменении(Элемент) Экспорт
Форма.КонтрагентПриИзменении(Форма.ЭлементыФормы.Контрагент); работает |
|||
7
Dwarrior
22.11.11
✎
12:22
|
(6) Это вариант проставления "экспорт" каждой процедуре? Вариант, но не слишком удобно.
Интересно, (4) можно реализовать? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |