Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Содержимое объекта данных может быть выбрано только во временную таблицу

Содержимое объекта данных может быть выбрано только во временную таблицу
Я
   K1RSAN
 
14.02.20 - 12:34
ВТФ? В общем, не могу понять, почему запрос не хочет выполняться...
Ругается на первую часть запроса, НО ТАМ И ТАК ВО ВРЕМЕННУЮ ТАБЛИЦУ записывает, а оттуда уже дальше идет. Причем, если оставить в запросе одну таблицу без объединения - то всё нормально проходит. Так и должно быть?

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


В итоге переделал так

    Запрос = Новый Запрос("ВЫБРАТЬ
                          |    Товары.Номенклатура КАК Номенклатура,
                          |    Товары.СуммаСНДС КАК СуммаСНДС,
                          |    Товары.Отменено КАК Отменено
                          |ПОМЕСТИТЬ Товары1
                          |ИЗ
                          |    &Товары КАК Товары
                          |;
                          |
                          |////////////////////////////////////////////////////////////////////////////////
                          |ВЫБРАТЬ
                          |    Работы.Номенклатура КАК Номенклатура,
                          |    Работы.СуммаСНДС КАК СуммаСНДС,
                          |    Работы.Отменено КАК Отменено
                          |ПОМЕСТИТЬ Работы
                          |ИЗ
                          |    &Работы КАК Работы
                          |;
                          |
                          |////////////////////////////////////////////////////////////////////////////////
                          |ВЫБРАТЬ
                          |    Товары.Номенклатура КАК Номенклатура,
                          |    Товары.СуммаСНДС КАК СуммаСНДС,
                          |    Товары.Отменено КАК Отменено
                          |ПОМЕСТИТЬ Товары
                          |ИЗ
                          |    Товары1 КАК Товары
                          |
                          |ОБЪЕДИНИТЬ ВСЕ
                          |
                          |ВЫБРАТЬ
                          |    Работы.Номенклатура,
                          |    Работы.СуммаСНДС,
                          |    Работы.Отменено
                          |ИЗ
                          |    Работы КАК Работы;
    |ВЫБРАТЬ
    |    ЕСТЬNULL(СУММА(Товары.СуммаСНДС),0) КАК СуммаСНДС
    |ИЗ
    |    Товары КАК Товары
    |ГДЕ
    |    НЕ Товары.Отменено
    |    И (((Товары.Номенклатура.ТипНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
    |            ИЛИ (НЕ &ВернутьМногооборотнуюТару) ИЛИ &ТребуетсяЗалогЗаТару)
    |            И НЕ &ТолькоЗалогЗаТару)
    |        ИЛИ (Товары.Номенклатура.ТипНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ТипыНоменклатуры.МногооборотнаяТара)
    |            И &ВернутьМногооборотнуюТару
    |            И &ТребуетсяЗалогЗаТару
    |            И &ТолькоЗалогЗаТару))
    |");

Ошибку не выдало... ВТФ?
   ДенисЧ
 
1 - 14.02.20 - 12:35
Разбивай запрос на два.
   lodger
 
2 - 14.02.20 - 12:38
(0) |ПОМЕСТИТЬ
    |    Товары
    |ИЗ
    |    &Товары КАК Товары

разные имена дай. там 3 разные таблицы. ТЗ, Таб и ВТ.
   K1RSAN
 
3 - 14.02.20 - 12:38
(1) Ну я в итоге разбил на 2 части запроса - отдельно для работ, отдельно для товаров. Но ошибка смущает
   K1RSAN
 
4 - 14.02.20 - 12:39
(2) Так не должно быть ошибки - Помещается во временную таблицу, а &Товары - переменная.
   dmpl
 
5 - 14.02.20 - 12:40
(0) Так и должно быть. 1 временная таблица - 1 объект.
   catena
 
6 - 14.02.20 - 12:42
(3)Из справки:

"Предложение ПОМЕСТИТЬ
Если временная таблица создается на основании внешнего источника, в запросе нельзя использовать объединения и соединения. А также нельзя использовать поля, являющиеся реквизитами полей таблиц, на основании которых создается временная таблица.

"
   K1RSAN
 
7 - 14.02.20 - 12:44
(6) Спасибо

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.