|
Содержимое объекта данных может быть выбрано только во временную таблицу | ☑ | ||
---|---|---|---|---|
0
K1RSAN
14.02.20
✎
12:34
|
ВТФ? В общем, не могу понять, почему запрос не хочет выполняться...
Ругается на первую часть запроса, НО ТАМ И ТАК ВО ВРЕМЕННУЮ ТАБЛИЦУ записывает, а оттуда уже дальше идет. Причем, если оставить в запросе одну таблицу без объединения - то всё нормально проходит. Так и должно быть? Запрос = Новый Запрос(" |ВЫБРАТЬ | Товары.Номенклатура КАК Номенклатура, | Товары.СуммаСНДС КАК СуммаСНДС, | Товары.Отменено КАК Отменено |ПОМЕСТИТЬ | Товары |ИЗ | &Товары КАК Товары |Объединить все |ВЫБРАТЬ | Работы.Номенклатура , | Работы.СуммаСНДС , | Работы.Отменено |ИЗ | &Работы КАК Работы |; |ВЫБРАТЬ | ЕСТЬNULL(СУММА(Товары.СуммаСНДС),0) КАК СуммаСНДС |ИЗ | Товары КАК Товары |ГДЕ | НЕ Товары.Отменено | И (((Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) | ИЛИ (НЕ &ВернутьМногооборотнуюТару) ИЛИ &ТребуетсяЗалогЗаТару) | И НЕ &ТолькоЗалогЗаТару) | ИЛИ (Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) | И &ВернутьМногооборотнуюТару | И &ТребуетсяЗалогЗаТару | И &ТолькоЗалогЗаТару)) |"); В итоге переделал так Запрос = Новый Запрос("ВЫБРАТЬ | Товары.Номенклатура КАК Номенклатура, | Товары.СуммаСНДС КАК СуммаСНДС, | Товары.Отменено КАК Отменено |ПОМЕСТИТЬ Товары1 |ИЗ | &Товары КАК Товары |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Работы.Номенклатура КАК Номенклатура, | Работы.СуммаСНДС КАК СуммаСНДС, | Работы.Отменено КАК Отменено |ПОМЕСТИТЬ Работы |ИЗ | &Работы КАК Работы |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | Товары.Номенклатура КАК Номенклатура, | Товары.СуммаСНДС КАК СуммаСНДС, | Товары.Отменено КАК Отменено |ПОМЕСТИТЬ Товары |ИЗ | Товары1 КАК Товары | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | Работы.Номенклатура, | Работы.СуммаСНДС, | Работы.Отменено |ИЗ | Работы КАК Работы; |ВЫБРАТЬ | ЕСТЬNULL(СУММА(Товары.СуммаСНДС),0) КАК СуммаСНДС |ИЗ | Товары КАК Товары |ГДЕ | НЕ Товары.Отменено | И (((Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) | ИЛИ (НЕ &ВернутьМногооборотнуюТару) ИЛИ &ТребуетсяЗалогЗаТару) | И НЕ &ТолькоЗалогЗаТару) | ИЛИ (Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара) | И &ВернутьМногооборотнуюТару | И &ТребуетсяЗалогЗаТару | И &ТолькоЗалогЗаТару)) |"); Ошибку не выдало... ВТФ? |
|||
1
ДенисЧ
14.02.20
✎
12:35
|
Разбивай запрос на два.
|
|||
2
lodger
14.02.20
✎
12:38
|
(0) |ПОМЕСТИТЬ
| Товары |ИЗ | &Товары КАК Товары разные имена дай. там 3 разные таблицы. ТЗ, Таб и ВТ. |
|||
3
K1RSAN
14.02.20
✎
12:38
|
(1) Ну я в итоге разбил на 2 части запроса - отдельно для работ, отдельно для товаров. Но ошибка смущает
|
|||
4
K1RSAN
14.02.20
✎
12:39
|
(2) Так не должно быть ошибки - Помещается во временную таблицу, а &Товары - переменная.
|
|||
5
dmpl
14.02.20
✎
12:40
|
(0) Так и должно быть. 1 временная таблица - 1 объект.
|
|||
6
catena
14.02.20
✎
12:42
|
(3)Из справки:
"Предложение ПОМЕСТИТЬ Если временная таблица создается на основании внешнего источника, в запросе нельзя использовать объединения и соединения. А также нельзя использовать поля, являющиеся реквизитами полей таблиц, на основании которых создается временная таблица. " |
|||
7
K1RSAN
14.02.20
✎
12:44
|
(6) Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |