Имя: Пароль:
1C
1С v8
v8: Таблица не найдена при использовании ВТ
0 pilot_iv
 
06.06.13
07:59
Есть процедура для контроля проведения документа, проверяет номенклатуру в ТЧ на наличие ее в регистре сведений
// помещаю номенклатуру в ТЗ
МассивНоменклатуры = УсловияДоговора.ВыгрузитьКолонку("Номенклатура");

ТзТоваров = Новый ТаблицаЗначений;
МассивТипов = Новый Массив;
МассивТипов.Добавить(Тип("СправочникСсылка.Номенклатура"));
ОписаниеТиповС = Новый ОписаниеТипов(МассивТипов, , );
ТзТоваров.Колонки.Добавить("Номенклатура",ОписаниеТиповС);
Для каждого Элемент из МассивНоменклатуры Цикл
       СтрокаТаблицы = ТзТоваров.Добавить();
       СтрокаТаблицы.Номенклатура = Элемент;
   КонецЦикла;
// добавляю во временную
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц();
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
|    ТабТоваров.Номенклатура
|ПОМЕСТИТЬ ВыбТоваров
|ИЗ
|    &ТабТоваров КАК ТабТоваров";
Запрос.УстановитьПараметр("ТабТоваров", ТзТоваров);
Запрос.Выполнить();
Запрос = Новый Запрос;
Запрос.Текст =
   "ВЫБРАТЬ
   |    ЕСТЬNULL(ВыбТоваров.Номенклатура, 0) КАК Номенклатура
   |ИЗ
   |    ВыбТоваров КАК ВыбТоваров
   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Элсиб_НоменклатураДоговоров КАК Элсиб_НоменклатураДоговоров
   |        ПО ВыбТоваров.Номенклатура = Элсиб_НоменклатураДоговоров.Номенклатура
   |ГДЕ
   |    Элсиб_НоменклатураДоговоров.Контрагент = &Контрагент
   |    И Элсиб_НоменклатураДоговоров.Договор = &Договор
   |    И Элсиб_НоменклатураДоговоров.Номенклатура В(&Номенклатура)"  ;
   
Запрос.УстановитьПараметр("Договор",ДоговорКонтрагента);
Запрос.УстановитьПараметр("Контрагент",Контрагент);
Запрос.УстановитьПараметр("Номенклатура",МассивНоменклатуры);
Тз = Запрос.Выполнить().Выгрузить();
при выполнении пишет
1 pilot_iv
 
06.06.13
08:00
{(4, 2)}: Таблица не найдена "ВыбТоваров"
<<?>>ВыбТоваров КАК ВыбТоваров
2 pilot_iv
 
06.06.13
08:00
не пойму где ошибка, вроде все по правилам делаю
3 Любопытная
 
06.06.13
08:01
Не переопределяй запрос заново.
В смысле второй раз Запрос = новый Запрос лишнее
4 Гефест
 
06.06.13
08:01
второму запросу назначь менеджер временных таблиц
5 Godofsin
 
06.06.13
08:01
патамушта не пакетом
6 Godofsin
 
06.06.13
08:02
Нахрена вообще второй запрос? делай в одном
7 pilot_iv
 
06.06.13
08:03
спасибо
8 pilot_iv
 
06.06.13
08:04
все разобрался, еще раз всем спасибо - переопределение второго запроса было лишним