Имя: Пароль:
1C
1С v8
Вывести в форму списка документы отобранные по номенклатуре
0 новичок12345
 
25.06.12
16:00
Необходимо вывести в форму списка документы реализации в которых есть определенная номенклатура. УТ 11.

Номенклатура = ЭтаФорма.Номенклатура;
   //МассивССылок = Новый СписокЗначений;
   
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
   Запрос.Текст =
   ("ВЫБРАТЬ
   |    РеализацияТоваровУслуг.Ссылка,
   |    РеализацияТоваровУслугТовары.Номенклатура
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |        ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Ссылка
   |ГДЕ
   |    РеализацияТоваровУслугТовары.Номенклатура = &Номенклатура");
   
   Результат = Запрос.Выполнить().Выбрать();
   Пока Результат.Следующий() Цикл

А что дальше. Как в список все доки нужные вывести, подскажите пожалуйста
1 butterbean
 
25.06.12
16:02
ВЫБРАТЬ РАЗЛИЧНЫЕ
   |    РеализацияТоваровУслугТовары.Ссылка
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        
   |ГДЕ
   |    РеализацияТоваровУслугТовары.Номенклатура = &Номенклатура
2 Vladal
 
25.06.12
16:03
ТЗСсылок = Запрос.Выполнить().Выбрать().Выгрузить();
3 новичок12345
 
25.06.12
16:05
Да с запросом нет проблем. Написал так:

&НаСервере
Процедура НоменклатураПоискПриИзменении(Элемент)
   
   Номенклатура = ЭтаФорма.Номенклатура;
   МассивССылок = Новый СписокЗначений;
   
   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
   Запрос.Текст =
   ("ВЫБРАТЬ
   |    РеализацияТоваровУслуг.Ссылка,
   |    РеализацияТоваровУслугТовары.Номенклатура
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |        ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Ссылка
   |ГДЕ
   |    РеализацияТоваровУслугТовары.Номенклатура = &Номенклатура");
   
   Результат = Запрос.Выполнить().Выбрать();
   Пока Результат.Следующий() Цикл
       МассивССылок.Добавить(Результат.Ссылка);
   КонецЦикла;    
   ОтборПоСписку = ДокументСписок.Отбор;        
   ОтборПоСписку["Ссылка"].Использование = Истина;
   ОтборПоСписку["Ссылка"].ВидСравнения = ВидСравнения.ВСписке;
   ОтборПоСписку["Ссылка"].Значение = МассивССылок;  
   
   
КонецПроцедуры

Но получается что должен разграничить клиент и сервер.
4 новичок12345
 
25.06.12
16:13
Вопрос именно в том КАК вывести найденные документы в форму списка
5 новичок12345
 
25.06.12
16:26
Помогите, пожалуйста! Уже весь инет обшарил ничего не могу по управляемым найти(
6 новичок12345
 
25.06.12
16:55
&НаСервере
Функция ВыборкаПоНоменклатуре(Ном)
   
   МассивССылок = Новый СписокЗначений;

   Запрос = Новый Запрос;
   Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
   Запрос.Текст =
   ("ВЫБРАТЬ
   |    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
   |    РеализацияТоваровУслугТовары.Номенклатура
   |ИЗ
   |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   |        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
   |        ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Ссылка
   |ГДЕ
   |    РеализацияТоваровУслугТовары.Номенклатура = &Номенклатура");
   
   Результат = Запрос.Выполнить().Выбрать();
   Пока Результат.Следующий() Цикл
       МассивССылок.Добавить(Результат.Ссылка);
   КонецЦикла;    
   Возврат МассивССылок;
   
КонецФункции


&НаКлиенте
Процедура НоменклатураПоискПриИзменении(Элемент)
   
   Номенклатура = ЭтаФорма.Номенклатура;
   МассивСсылок = ВыборкаПоНоменклатуре(Номенклатура);
           
   ОтборПоСписку = СписокРеализацииТоваровУслуг.Отбор;        
   ОтборПоСписку["Ссылка"].Значение = МассивСсылок;  
   
   
КонецПроцедуры
Сделал так. Но все равно не пойму как в форму списка их выгрузить. Последние 2 строчки кода ерунда какая-то
7 spu79
 
25.06.12
16:57
динамический список с произвольным запросом.
8 новичок12345
 
25.06.12
17:01
(7) Да я с формами управляемыми первый раз работаю, сегодня попробовал, что то не пошло, решил по старинке так сказать. Вот теперь и не знаю что проще. Разобраться с динамическим списком или тут уже добить то что начал
9 spu79
 
25.06.12
17:15
динамический список на тысячу мильенов процентов создан для таких задач. только запрос возьми из (1), он правильнее
10 новичок12345
 
27.06.12
08:10
Всем спасибо. Сделал динамическим списком. И правда крутая штука)
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.