|
Как перехватить в ОФ начало выбора у поля неоределенного вида? | ☑ | ||
|---|---|---|---|---|
|
0
toypaul
гуру
20.08.20
✎
09:45
|
Обычная форма, поле типа документ (любого вида). В начало выбора заходит перед выбором вида документа. После выбора вида документа уже на заходит в начало выбора и открывается стандартная форма выбора. А нужно открыть форму с отбором. Куда можно вклиниться? Кроме как рисовать свой диалог выбора вида документа...
Хотел через параметры выбора сделать (устроило бы), но не работает. |
|||
|
1
TormozIT
гуру
20.08.20
✎
09:57
|
ОбработкаВыбора
|
|||
|
2
youalex
20.08.20
✎
10:00
|
Напрашивается эмуляция списка видов документа.
Т.е. СтандартнаяОбработка = Ложь; //безусловно Потом, если в значении поля Неопределено - формируешь список возможных видов (из метаданных, если реквизит мд, или из ТипЗначения элемента, если реквизит формы) И дальше, от выбора - уже получаешь и открываешь соответствующую форму. |
|||
|
3
toypaul
гуру
20.08.20
✎
10:05
|
(2) ну это единственное что пока в голову пришел
(1) что ОбработкаВыбора? |
|||
|
4
toypaul
гуру
20.08.20
✎
10:21
|
(1) понял. спасибо. получилось так
&НаКлиенте Процедура ДокументКУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) Если ТипЗнч(Запись.ДокументКУ) = Тип("ДокументСсылка.ЗаказПоставщику") Тогда СтандартнаяОбработка = Ложь; Форма = ПолучитьФорму("Документ.ЗаказПоставщику.ФормаВыбора",, Элемент); ЭлементОтбора = Форма.ДокументСписок.Отбор.ВидОперации; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ВидСравнения = ВидСравнения.Равно; ЭлементОтбора.Значение = Перечисления.ВидыОперацийЗаказПоставщику.Переработка; Форма.Открыть(); КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ДокументКУОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка) Если ВыбранноеЗначение = Тип("ДокументСсылка.ЗаказПоставщику") Тогда СтандартнаяОбработка = Ложь; Форма = ПолучитьФорму("Документ.ЗаказПоставщику.ФормаВыбора",, Элемент); ЭлементОтбора = Форма.ДокументСписок.Отбор.ВидОперации; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ВидСравнения = ВидСравнения.Равно; ЭлементОтбора.Значение = Перечисления.ВидыОперацийЗаказПоставщику.Переработка; Форма.Открыть(); КонецЕсли; КонецПроцедуры |
| Форум | Правила | Описание | Секции | Поиск |