|
Форма объекта БД. ПриЧтенииНаСервере+ПриСозданииНаСервере VS ПриИзмененииДанных | ☑ | ||
---|---|---|---|---|
0
TormozIT
гуру
21.08.12
✎
17:18
|
Никак не могу разобраться как предполагалось настраивать элементы формы в зависимости от данных объекта в управляемой форме.
В обычных формах для этого есть событие ПриИзмененииДанных. Оно вызывается при создании формы для любого объекта (нового или существующего) и при чтении данных объекта в существующей форме (правда только для модифицированного). В управляемых же формах такого события нет. Самым близким является ПриЧтенииНаСервере, но оно не вызывается для нового объекта, что соотвествует названию. Событие же ПриСозданииНаСервере не вызывается при чтении объекта в уже созданной форме, что также соответствует названию. Если процедуру настройки элементов формы вызывать в обоих, то при открытии формы существующего объекта она будет вызвана 2 раза, чего хотелось бы избежать. В случае форм ссылочных объектов можно проверять Объект.Ссылка.Пустая() в обработчике ПриСозданииНаСервере, чтобы не вызывать уже вызванную из ПриЧтенииНаСервере процедуру настройки элементов формы. Но для не ссылочных объектов получается придется в каждой форме добавлять флаг ОбъектСчитан, который нужно установить в ПриЧтенииНаСервере и проверять в ПриСозданииНаСервере. Или же есть какой то более красивый способ? |
|||
1
Mort
21.08.12
✎
17:32
|
Настраивать элементы формы в зависимости от данных стоит в условном оформлении. Другое дело расчет косвенных данных (например, вычисляемая колонка в ТЧ), и тут уже одного "ПриЧтении" достаточно.
|
|||
2
Mort
21.08.12
✎
17:33
|
Впрочем иногда условного оформления недостаточно и тогда начинаются танцы с бубном как в (0).
|
|||
3
TormozIT
гуру
21.08.12
✎
17:36
|
Условное оформление формы ориентировано на колонки таблиц форм и обладает довольно скудными возможностями. Так что это очень слабый костыль.
|
|||
4
TormozIT
гуру
21.08.12
✎
17:39
|
Но выигрыш по удобству настройки условного оформления бесспорен. Однако "шаг вправо или влево" и уже надо переносить все условия из условного оформления в обработчик из (0).
|
|||
5
Новенький_2009
21.08.12
✎
17:44
|
Мне кажется проще надо быть :)
|
|||
6
TormozIT
гуру
21.08.12
✎
17:53
|
(5) Т.е. менее четко формулировать высказывания? Как бы ты сформулировал?
|
|||
7
TormozIT
гуру
22.08.12
✎
11:59
|
Удалось найти приемлемо простой способ.
В обработчике ПриСозданииНаСервере вызываем процедуру всегда, а в обработчике ПриЧтенииНаСервере вызываем ее только если Не Параметры.Свойство("ТолькоПросмотр"). |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |