База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как преобразовать два запроса в пакетный запрос 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 9 месяцев назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
26 марта 2025 в 10:00 #32031
преобразовать запрос в пакет запросов ВЫБРАТЬ
ПродажаТоваровТовары.Номенклатура КАК Номенклатура,
СУММА(ПродажаТоваровТовары.Количество) КАК Количество,
СУММА(ПродажаТоваровТовары.Сумма) КАК Сумма
ПОМЕСТИТЬ ТЧР
ИЗ
Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары
ГДЕ
ПродажаТоваровТовары.Ссылка = &СсылкаСГРУППИРОВАТЬ ПО
ПродажаТоваровТовары.НоменклатураДЛЯ ИЗМЕНЕНИЯ
Документ.ПродажаТоваров
;////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ТЧР.Номенклатура,
ТЧР.Количество,
ТЧР.Сумма,
ЕСТЬNULL(РезервТоваровОстатки.КоличествоОстаток, 0) КАК Резерв,
ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК Остаток,
ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СуммаОстаток, 0) КАК СуммаОстаток
ИЗ
ТЧР КАК ТЧР
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&Момент, Склад = &Склад) КАК ОстаткиНоменклатурыОстатки
ПО ТЧР.Номенклатура.Ссылка = ОстаткиНоменклатурыОстатки.Номенклатура.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервТоваров.Остатки(&Момент, Склад = &Склад) КАК РезервТоваровОстатки
ПО ТЧР.Номенклатура.Ссылка = РезервТоваровОстатки.Номенклатура.Ссылка -
26 марта 2025 в 10:00 #32032
1C Запрос = Новый Запрос; // Пакетный запрос Запрос.Текст = " ВЫБРАТЬ ПродажаТоваровТовары.Номенклатура КАК Номенклатура, СУММА(ПродажаТоваровТовары.Количество) КАК Количество, СУММА(ПродажаТоваровТовары.Сумма) КАК Сумма ПОМЕСТИТЬ ТЧР ИЗ Документ.ПродажаТоваров.Товары КАК ПродажаТоваровТовары ГДЕ ПродажаТоваровТовары.Ссылка = &Ссылка СГРУППИРОВАТЬ ПО ПродажаТоваровТовары.Номенклатура; ВЫБРАТЬ ТЧР.Номенклатура, ТЧР.Количество, ТЧР.Сумма, ЕСТЬNULL(РезервТоваровОстатки.КоличествоОстаток, 0) КАК Резерв, ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК Остаток, ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СуммаОстаток, 0) КАК СуммаОстаток ИЗ ТЧР КАК ТЧР ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(&Момент, Склад = &Склад) КАК ОстаткиНоменклатурыОстатки ПО ТЧР.Номенклатура.Ссылка = ОстаткиНоменклатурыОстатки.Номенклатура.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РезервТоваров.Остатки(&Момент, Склад = &Склад) КАК РезервТоваровОстатки ПО ТЧР.Номенклатура.Ссылка = РезервТоваровОстатки.Номенклатура.Ссылка "; // Установка параметров Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.УстановитьПараметр("Момент", Момент); Запрос.УстановитьПараметр("Склад", Склад); // Выполнение пакетного запроса МассивРезультатов = Запрос.ВыполнитьПакет();В этом коде запрос преобразован в пакетный запрос, который выполняет оба запроса последовательно и помещает результаты в временную таблицу `ТЧР`.
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.