Имя: Пароль:
1C
1С v8
Порядок построения пакетного запроса с ВТ
0 ПростоПрепод1С
 
08.12.15
10:14
Доброго времени суток, уважаемые форумчане!
Есть запрос:

ВЫБРАТЬ
    Закупка.Товар КАК Товар,
    СУММА(-Закупка.Сумма) КАК Сумма
ПОМЕСТИТЬ ВТЗакупкаПродажа
ИЗ
    Документ.ЗакупкаТовара.Товары КАК Закупка

СГРУППИРОВАТЬ ПО
    Закупка.Товар

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Продажа.Товар,
    СУММА(Продажа.Сумма)
ИЗ
    Документ.ПродажаТовара.Товары КАК Продажа

СГРУППИРОВАТЬ ПО
    Продажа.Товар
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТЗакупкаПродажа.Товар КАК Товар,
    СУММА(ВТЗакупкаПродажа.Сумма) КАК Сумма
ИЗ
    ВТЗакупкаПродажа КАК ВТЗакупкаПродажа

СГРУППИРОВАТЬ ПО
    ВТЗакупкаПродажа.Товар


И есть вопрос:
Во временную таблицу помещается весь первый запрос со вложенным или только то, что указанно до команды "Поместить"?
Я думаю, что весь первый запрос со вложенным.

ЗЫ: Не кидаться тапками и не плеваться ядом. Знаю, что нуб.
1 ДенисЧ
 
08.12.15
10:16
Помещается всё, что выбрано в запросе.
То есть ПОМЕСТИТЬ работает последним.
2 ПростоПрепод1С
 
08.12.15
10:16
Поправка: запрос не вложенный, а там объединение запросов. ^^
Наверное))
3 ПростоПрепод1С
 
08.12.15
10:17
(1) Спасибо большое. Так я и думал)))
4 ДенисЧ
 
08.12.15
10:17
(2) ты читать умеешь? Или только писать?
Выполни свой запрос без ПОМЕСТИТЬ. Посмотри на результат. Вот он и будет в ВТ
5 aleks_default
 
08.12.15
10:21
(3)А где ты преподаешь?
6 ПростоПрепод1С
 
08.12.15
10:26
(4) Хей, товарищ, я тебя понял с первого раза, чего хамить?
7 ПростоПрепод1С
 
08.12.15
10:26
(5) В Мск во франче.
8 chelentano
 
08.12.15
11:38
(7) Надеюсь, что не 1С
9 ЧеловекДуши
 
08.12.15
12:14
Любопытно. Второй раз встречаю использование слова Пакетный, в составе запроса.

Так то использование Временных таблиц с запросах не так уж и новое веяние. И обычно все сводилось к слову "Запрос", "Мой запрос"...

А то что там 1С выдумало функцию "ВыполнитьПакет", совсем другое :)

Запрос.ВыполнитьПакет (Query.ExecuteBatch)
Запрос (Query)
ВыполнитьПакет (ExecuteBatch)
Синтаксис:

ВыполнитьПакет()
Возвращаемое значение:

Тип: Массив.

Описание:

Последовательно выполняет все запросы и возвращает массив результатов для каждого запроса из пакета. Результаты помещаются в массив в последовательности расположения запросов в тексте пакета. Результатом выполнения запроса на уничтожение временной таблицы является значение Неопределено, которое также помещается в массив результатов.

Доступность:

Сервер, толстый клиент, внешнее соединение.