Имя: Пароль:
1C
1С v8
УФ 8.3, запрос, Таблица не найдена "ЭтаФорма"
0 volchara
 
26.07.16
13:42
Здравствуйте!
УФ, 8.3
Пытаюсь заполнить остатками табличную часть обработки с уже существующими строками:

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

     ЗначениеВРеквизитФормы(Запрос.Выполнить().Выгрузить(),ЭтаФорма.Элементы.ТоварыНоменклатура);

вываливается с ошибкой {(5, 1)}: Таблица не найдена "ЭтаФорма"
<<?>>ЭтаФорма КАК Док

Как мне правильно указать к чему обращаться (на сервере)
1 vicof
 
26.07.16
13:46
ВыгрузитьКолонку("Номенклатура")
2 arsik
 
гуру
26.07.16
13:46
Так вроде внешними Таблицами для запроса могут быть Таблицы значений.
3 Nuobu
 
26.07.16
13:47
ОбъектЗначение = РеквизитФормыВЗначение("Объект");
Запрос.УстановитьПараметр("ЭтаФорма", ОбъектЗначение.ТаблицаКакаяТо); Запрос.УстановитьПараметр("Номенклатура",Объект.Товары.ВыгрузитьКолонку("Номенклатура"));
4 DrZombi
 
гуру
26.07.16
13:49
(3) Думаете ТС этого хотел?
(0) Воспользуйтесь Конструктором запросов, в этом нет нечего зазорного. :)
5 Nuobu
 
26.07.16
13:51
(4) Ну, он пытается передать форму!! в запрос. Это о многом говорит.
6 DrZombi
 
гуру
26.07.16
13:54
(5) ага :)
7 DrZombi
 
гуру
26.07.16
13:56
+(5) Он передал неправильно. саму таблицу (формц), забыл приписать "&". :)
AdBlock убивает бесплатный контент. 1Сергей