Имя: Пароль:
1C
1С v8
Отбор для реквизита составного типа.
0 DirecTwiX
 
24.12.12
17:41
На форме есть поле ввода реквизита составного типа. Как для него указать отбор?

Для одного было вот так:

       Список = Документы.ТребованиеНакладная.ПолучитьФормуВыбора(, ЭтаФорма);
   Список.Отбор.Проведен.Значение=Ложь;
   Список.Отбор.Проведен.ВидСравнения=ВидСравнения.Равно;
   Список.Отбор.Проведен.Использование=Истина;
   
   Документ = Список.ОткрытьМодально();
1 х86
 
24.12.12
17:54
Список.Отбор.Найти(...)
2 DrShad
 
24.12.12
17:56
() а для него не нужно указывать отбор, а нужно ограничить тип
3 DirecTwiX
 
24.12.12
18:01
Сделал так:

   Если ТипЗнч(Документ)=Тип("ДокументСсылка.ПередачаМатериаловВЭксплуатацию") Тогда
       Список = Документы.ПередачаМатериаловВЭксплуатацию.ПолучитьФормуВыбора(, ЭтаФорма);    
   ИначеЕсли ТипЗнч(Документ)=Тип("ДокументСсылка.ТребованиеНакладная") Тогда
       Список = Документы.ТребованиеНакладная.ПолучитьФормуВыбора(, ЭтаФорма);    
   Иначе
       Возврат;
   КонецЕсли;
   
   Список.Отбор.Проведен.Значение=Ложь;
   Список.Отбор.Проведен.ВидСравнения=ВидСравнения.Равно;
   Список.Отбор.Проведен.Использование=Истина;
   
   Документ = Список.ОткрытьМодально();


Вроде работает, но почему-то после выбора открывается ещё одна форма. Как избежать?
4 Noroving
 
24.12.12
18:11
СтандартнаяОбработка = Ложь;
2 + 2 = 3.9999999999999999999999999999999...