Имя: Пароль:
1C
1С v8
Запрос к табличной части документа
,
0 api_vlad
 
28.11.11
07:56
Добрый день.
Помогите, пожалуйста, своять запрос к ТЧ документа:
"ВЫБРАТЬ
   |Товары.НомерСтроки КАК Номер,
   |Товары.Номенклатура.Родитель КАК Группа,
   |Товары.Номенклатура КАК Товар,
   |Товары.Номенклатура.НаименованиеПолное КАК ТоварНаименование
   |    
   |ИЗ
   |Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК Товары
   |
   |ГДЕ
..."

Как собственно указать в "ГДЕ" что "Товары" это ТЧ конкретного документа (переданного в параметах)?
Заранее спасибо!
1 Нуф-Нуф
 
28.11.11
07:57
где Документ.ИнвентаризацияТоваровНаСкладе.Товары.ссылка = &ТвояСсылка
2 Zombi
 
28.11.11
07:59
ГДЕ Документ.ИнвентаризацияТоваровНаСкладе.Ссылка = &ТвояСсылка
3 Нуф-Нуф
 
28.11.11
08:02
вру. где Товары.ссылка = &ТвояСсылка

(2) тоже не верно
4 api_vlad
 
28.11.11
08:03
Какого типа должна быть "&ТвояСсылка"?
5 Rie
 
28.11.11
08:04
(4) ДокументСсылка.ИнвентаризацияТоваровНаСкладе, естественно.
6 Zombi
 
28.11.11
08:04
(3) Ага, только "Товары" из твоей строки убрал, на остальное и не посмотрел че то.
7 Нуф-Нуф
 
28.11.11
08:04
(4) что значит какого типа?
Запрос.УстановитьПараметр("ТвояСсылка",Ссылка);
8 Нуф-Нуф
 
28.11.11
08:05
(6) а почему убрал? тем более не прокатит. мы же условие ставим на колонку таблицы с табличной частью а не на таблицу с документами
9 api_vlad
 
28.11.11
08:06
Ссылка на док?
10 Нуф-Нуф
 
28.11.11
08:09
да
11 api_vlad
 
28.11.11
08:12
...
|ГДЕ
|    Товары = &Товары";

Запрос.УстановитьПараметр("Товары", ЭлементыФормы.ПолеВвода1.Значение.Ссылка);

Так что ли?
12 Нуф-Нуф
 
28.11.11
08:13
Запрос.УстановитьПараметр("Товары", ПолеВвода1); ?
13 api_vlad
 
28.11.11
08:15
ЭлементыФормы.ПолеВвода1.Значение.Ссылка - Тип "ДокументСсылка.ИнвентаризацияТоваровНаСкладе"
14 api_vlad
 
28.11.11
08:17
Передал в параметрах ДокументСсылка.ИнвентаризацияТоваровНаСкладе" как и сказано...
результат:
{Форма.Форма.Форма(62)}: Ошибка при вызове метода контекста (Выполнить)
   Шапка = Запрос.Выполнить().Выбрать();
по причине:

по причине:
{(12, 2)}: Поле не найдено "Товары"
<<?>>Товары = &Товары
15 Rie
 
28.11.11
08:17
(11) Нет.
Товары.Ссылка = &Товары
если уж на то пошло...
16 2S
 
28.11.11
08:18
(14) воспользуйтесь уже ж конструктором
17 Нуф-Нуф
 
28.11.11
08:18
"ВЫБРАТЬ
   |ТоварыТЧ.НомерСтроки КАК Номер,
   |ТоварыТЧ.Номенклатура.Родитель КАК Группа,
   |ТоварыТЧ.Номенклатура КАК Товар,
   |ТоварыТЧ.Номенклатура.НаименованиеПолное КАК ТоварНаименование
   |    
   |ИЗ
   |Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ТоварыТЧ
   |
   |ГДЕ ТоварыТЧ.Ссылка = &Товары
18 api_vlad
 
28.11.11
08:19
(11) А здесь что "&Товары"? ТЧ документа?
19 Rie
 
28.11.11
08:20
(17)
Запрос.УстановитьПараметр("Товары",ПолеВвода1);
20 api_vlad
 
28.11.11
08:20
(18)->(17),(15)
21 Rie
 
28.11.11
08:21
(19)->(18)
22 api_vlad
 
28.11.11
08:26
"ВЫБРАТЬ
   |ТоварыТЧ.НомерСтроки КАК Номер,
   |ТоварыТЧ.Номенклатура.Родитель КАК Группа,
   |ТоварыТЧ.Номенклатура КАК Товар,
   |ТоварыТЧ.Номенклатура.НаименованиеПолное КАК ТоварНаименование
   |    
   |ИЗ
   |    Документ.ИнвентаризацияТоваровНаСкладе.Товары КАК ТоварыТЧ
   |
   |ГДЕ
   |    ТоварыТЧ = &Товары";

   Запрос.УстановитьПараметр("Товары",ПолеВвода1);
   
Результат:
{Форма.Форма.Форма(64)}: Ошибка при вызове метода контекста (Выполнить)
   Шапка = Запрос.Выполнить().Выбрать();
по причине:

по причине:
{(12, 2)}: Поле не найдено "ТоварыТЧ"
<<?>>ТоварыТЧ = &Товары

Что не так-то???
23 Rie
 
28.11.11
08:27
(22) Сравни условия в (17) и в (22). Внимательно. С третьей попытки наверняка обнаружишь разницу.
24 2S
 
28.11.11
08:28
(22) нуб?
25 unregistered
 
28.11.11
08:29
ТоварыТЧ = &Товары

замени на

ТоварыТЧ.Ссылка = &Товары
26 api_vlad
 
28.11.11
08:31
все! увидел. Дошло!
спасибо!
заработало!