|
8.2 ФормаВыбора: выбор своей формы выбора при условии | ☑ | ||
---|---|---|---|---|
0
News
14.05.12
✎
11:43
|
Доброго времени суток.
Кто нибудь сталкивался с такой проблемой: При условии необходимо выбирать свою форму выбора (не та которая по умолчанию). Делаю так: &НаСервере Процедура УстановитьФормыВыбора() Если ЗначениеЗаполнено(Объект.Условие) тогда Элементы.Номенклатура.ФормаВыбора = "Справочник.Номенклатура.Форма.ФормаВыбораДоп"; Иначе Элементы.Номенклатура.ФормаВыбора = "Справочник.Номенклатура.Форма.ФораВыбора"; Конецесли КонецПроцедуры &НаКлиенте Процедура НоменклатураНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) УстановитьФормыВыбора(); КонецПроцедуры При начале выбора первый раз открывается всегда форма выбора по умолчанию. Когда второй раз нажимаю, то открывается правильная форма выбора, заданная по условию. |
|||
1
experimentator76
14.05.12
✎
11:47
|
"ФораВыбора" ?
|
|||
2
experimentator76
14.05.12
✎
11:48
|
или туда не попадает ?
|
|||
3
News
14.05.12
✎
12:00
|
ой , "ФормаВыбора", пардон
|
|||
4
vmv
14.05.12
✎
12:02
|
клиент не "видит" измерений на сервере пока серверная и клиентская формы не будут синхронизированы, делай выводы
|
|||
5
News
14.05.12
✎
12:02
|
при первом нажатии открывается "ФормаВыбора" всегда (она по умолчанию), хотя условие срабатывает..это видимо из за того что на Сервере меняю форму выбора, может нужно что то на клиенте сделать?
|
|||
6
vmv
14.05.12
✎
12:02
|
не видит модификаций формы
|
|||
7
vmv
14.05.12
✎
12:05
|
Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере. задумайся зачем я это написал, сделай вывод и реализуй правильно. Помни, если ты допер и сделал сам - ты спец, если тебе все выложили - ты ничто |
|||
8
News
14.05.12
✎
12:06
|
(7) спасибо, допер
|
|||
9
5 Элемент
14.05.12
✎
12:18
|
В 8.2 есть нормальный механизм для открытия нужной формы выбора
Использовать нужно событие ОбработкаПолученияФормы |
|||
10
News
14.05.12
✎
12:48
|
(9) Сделал через эту обработку, получилось. Спасибо 5 Элемент)
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма, ДополнительнаяИнформация, СтандартнаяОбработка) Если ВидФормы = "ФормаВыбора" Тогда Если Параметры.Отбор.Свойство("Условие") Тогда СтандартнаяОбработка = Ложь; ВыбраннаяФорма = "Справочник.Номенклатура.Форма.ФормаВыбораДоп"; КонецЕсли; КонецЕсли; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |