Имя: Пароль:
1C
1С v8
Установка Параметра в Запросе
, ,
0 KLOUN1091
 
23.03.15
16:50
Привет всем!
Делаю запрос на выборку номенклатуры и ее стоимости.
Подскажите, ка правильно указать параметр запроса, если номенклатура находится в табличной части документа:
Запрос.УстановитьПараметр("Ссылка",Документы.НазваниеДокумента.Товары.Номенклатура)
1 GROOVY
 
23.03.15
16:52
Ну ник прикольный...

Запрос.УстановитьПараметр("СписокНоменклатуры", ДокументОбъектИлиСсылка.ИмяТабличнойЧасти.ВыгрузитьКолонку("Номенклатура"));
2 GROOVY
 
23.03.15
16:52
А можно запросом пакетным ТЧ получить.
3 Ёпрст
 
23.03.15
16:52
Это.. даже нет слов.
4 KLOUN1091
 
23.03.15
16:58
GROOVY, правильно понял:

Запрос.УстановитьПараметр("СписокНоменклатуры",Документы.НазваниеДокумента.Товары.ВыгрузитьКолонку("Номенклатура"));

Выдает ошибку, что поле объекта Товары не обнаруженно
5 piter3
 
23.03.15
16:59
ну нет ТЧ с таким именем.
6 KLOUN1091
 
23.03.15
17:00
Есть ТЧ с таким именем, и в запросе и других документах обращаюсь к ней
7 hhhh
 
23.03.15
17:02
(6) там миллионы документов в базе. К какому именно обращаетесь? Или у вас в базу один документ забит?
8 mehfk
 
23.03.15
17:02
(6) Вот так Документы.НазваниеДокумента.Товары обращаешься?
9 1976vas
 
23.03.15
17:03
(6) Покажь.
10 salvator
 
23.03.15
17:05
(4) "НазваниеДокумента" измени на реальное имя документа, как оно задано в конфигураторе. Ппц...
11 GROOVY
 
23.03.15
17:07
(4) Документ нужно получить как ссылку или как объект, обращаться так к метаданным толку нет.
12 Wern
 
23.03.15
17:07
Документы.НазваниеДокумента
это менеджер документов. Тут нужна ссылка на документ, а не менеджер.
13 salvator
 
23.03.15
17:09
(4) Выведи на форму реквизит "Ссылка" с типом ДокументСсылка.ИмяДокумента, и выбирай его на форме, а в коде напиши Запрос.УстановитьПараметр("СписокНоменклатуры",Ссылка.Товары.ВыгрузитьКолонку("Номенклатура"));
14 KLOUN1091
 
23.03.15
17:10
я пишу название реального документа
15 GROOVY
 
23.03.15
17:10
Просто, купи книжку Радченко или скачай курсы для начинающих и все.
16 GROOVY
 
23.03.15
17:11
Реальный документ - это "Документ отгрузки №00936466 от 21.02.2015".
17 KLOUN1091
 
23.03.15
17:12
Это Название документа:
GROOVY, правильно понял:

Запрос.УстановитьПараметр("СписокНоменклатуры",Документы.ПеремещениеТоваров.Товары.ВыгрузитьКолонку("Номенклатура"));
18 GROOVY
 
23.03.15
17:13
(17) Это название вида документа, а не сам документ. Тебе нужен либо документОбъект, либо документСсылка.
19 GROOVY
 
23.03.15
17:14
А, "Документы.ПеремещениеТоваров" - это метаданные. Это не конкретный документ.
20 Wern
 
23.03.15
17:15
(17) у тебя могут быть тысячи документов ПеремещениеТоваров. 1с нужно знать какой из них тебе нужен.
21 KLOUN1091
 
23.03.15
17:16
я понимаю, что туплю. Я заполняю в этом документе, как к нему обратиться?
Допустим Перемещение товаров, документ
22 GROOVY
 
23.03.15
17:17
(21) Он записан?
23 GROOVY
 
23.03.15
17:17
Да пофиг:

Запрос.УстановитьПараметр("СписокТоваров", ТЧТовары.Выгрузить("Товар"));
24 mehfk
 
23.03.15
17:18
(21) Ты хочешь сделать запрос к ТЧ незаписанного документа?
25 KLOUN1091
 
23.03.15
17:19
Да, получается, что есть документ, я выбираю номенклатуру- потом происходит запрос.... И мне надо эту выбранную номенклатуру переддать
26 KLOUN1091
 
23.03.15
17:22
Может это надо как то по другому сделать?Как еще можно передать номенклатуру в документ?
27 D_E_S_131
 
23.03.15
17:30
KLOUN1091 с каждым днем все сложнее и сложнее темы создает. При чем зарплатой, негодяй, не делится.
28 palpetrovich
 
23.03.15
17:38
(26) если твой запрос в форме докумета находится, то это должно помочь:
Запрос.УстановитьПараметр("СписокНоменклатуры", Товары.ВыгрузитьКолонку("Номенклатура"));
29 Rovan
 
гуру
24.03.15
09:24
(28) читай (25) - е5му нужная какая-то "выбранная" номенклатура... что это такое никто не знает...
***
у нормальных людей запрос обычно выглядит так
ВЫБРАТЬ Товары.Номенклатура ИЗ
Документ.ПеремещениеТоваров.Товары КАК Товары
Где Товары.Ссылка = &ССылкаНаДокумент
30 palpetrovich
 
24.03.15
10:11
(29) а мне почему-то кажется, как из (0), так и из (25), что ему нужно что-то типа:

    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    |    ЦеныСрезПоследних.Товар,
    |    ЦеныСрезПоследних.Цена
    |ИЗ
    |    РегистрСведений.Цены.СрезПоследних(&Дата, Товар В ИЕРАРХИИ (&СписокТоваров)) КАК ЦеныСрезПоследних";
    Запрос.УстановитьПараметр("Дата", Дата);
    Запрос.УстановитьПараметр("СписокТоваров", Товары.ВыгрузитьКолонку("Товар"));
31 reg-aleks
 
24.03.15
12:12
(0) Лучше всего пакетным запросом, где в первом запросе указываешь таблицу документа, в условии ставишь документ и создаешь временную таблицу.

А уже во втором запросе в условии выбираешь из первой таблицы

====
http://www.youtube.com/channel/UCnDgua3ONrdK0N_LiYDKoLw
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший