Имя: Пароль:
1C
1С v8
Фильтрация выбора из списка
0 Gsoom2010
 
03.02.12
19:18
Добрый день!

Подскажите как сделать.

Запросом я получил выборку документов "Накладных".

У меня есть документ "Транспортная накладная" в одно из её табличных полей я добавляю "Накладные", но во время выбора меня интересуют не все Накладные в журнале, а только те которые я получил в запросе.

Как использовать результаты запроса для фильтрации списка выбора документов?
1 shuhard
 
03.02.12
19:19
(0) отбор в списке
2 Gsoom2010
 
03.02.12
19:22
чуть подробнее надо, так не найду
3 Gsoom2010
 
03.02.12
19:23
НакладныеНакладнаяНачалоВыбора() ?
4 Gsoom2010
 
03.02.12
19:37
Выборка = РезультатЗапроса.Выбрать();
   
   СписокНакладных = Новый СписокЗначений;
   
   Пока Выборка.Следующий() Цикл
       СписокНакладных.Добавить(Выборка.Ссылка);
   КонецЦикла;
   
   ФормаВыбораНакладных = Документы.ГрузоваяНакладная.ПолучитьФормуВыбора();
   ФормаВыбораНакладных.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке;
   ФормаВыбораНакладных.Отбор.Ссылка.Значение = СписокНакладных;
   ФормаВыбораНакладных.Отбор.Ссылка.Использование = ИСТИНА;
   ФормаВыбораНакладных.Открыть();
5 Gsoom2010
 
03.02.12
19:37
Так работает, но ничего не происходит при попытке выбора из списка накладной (не выбирается)
6 shuhard
 
03.02.12
19:50
(5)[ФормаВыбораНакладных.Открыть();]
я бы на месте формы выбора тебя послал, как то так:
"Где нах владелец формы, куда мне результат пулять ?"
7 simol
 
03.02.12
19:53
ДА и
ФормаВыбораНакладных.Отбор.Ссылка.Значение = СписокНакладных;

Поидее не прокатит
8 Gsoom2010
 
03.02.12
19:53
прокатило
9 shuhard
 
03.02.12
19:55
(7) странно,
ТС объявил  СписокНакладных = Новый СписокЗначений; и впендюрил в него ссылки на документы,
расширение отбора списка документов должно это схавать
10 Gsoom2010
 
03.02.12
19:57
Всё работает
Спасибо!

Вот так:

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

КонецПроцедуры
11 shuhard
 
03.02.12
20:01
(10) пипец, нафига цикл то:
Запрос->ТЗ->Массив->Список
12 Gsoom2010
 
03.02.12
20:02
Ща попробую
13 Gsoom2010
 
03.02.12
20:05
(11) как сделать?
14 shuhard
 
03.02.12
20:14
(13) СП украли ?
15 Gsoom2010
 
03.02.12
20:17
ага
16 Gsoom2010
 
04.02.12
18:00
(11) ну дык?
Закон Брукера: Даже маленькая практика стоит большой теории.