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