Прямой запрос 1cv77

1. an2007 21.03.23 17:09 Сейчас в теме
Добрый день.
Нужно выбрать все товары из документа Возврат по выбранному магазину:
Магазин - это общий реквизит.
Делаю так:
стрЗапроса = "
|SELECT
|    $докВЗ.Товар as [основной $Справочник.Номенклатура],
|    SUM($докВЗ.Количество) as кол
|FROM
|    $ДокументСтроки.Возврат as докВЗ
|INNER JOIN
|    $Документ.Возврат as док ON док.IDDoc = докВЗ.IDDoc
|INNER JOIN
|    _1SJourn as жур ON жур.IDDoc = докВЗ.IDDoc AND
|                       жур.Date_Time_IDDoc BETWEEN :ДатаНач AND :ДатаКон~ AND
|                       жур.$ОбщийРеквизит.Магазин = :ВыбМагазин AND
|                       жур.Closed & 1 = 1
|GROUP BY
|    $докВЗ.Товар";
RS.УстановитьТекстовыйПараметр("ДатаНач", ДатаНач);
RS.УстановитьТекстовыйПараметр("ДатаКон", ДатаКон);
RS.УстановитьТекстовыйПараметр("ВыбМагазин", ВыбМагазин);
Показать

Ошибка - Недопустимое имя столбца sp4249 (выделенная строка - здесь ошибка)
Как сделать отбор по выбранному магазину?
По теме из базы знаний
Найденные решения
3. Noy 1076 21.03.23 19:38 Сейчас в теме
как-то так

Если Метаданные.ОбщийРеквизитДокумента("Магазин ").Сортировка=1 Тогда
		ПутьКРеквизитуМагазин="Жур.$ОбщийРеквизит.Магазин ";
	Иначе
		ПутьКРеквизитуМагазин="док.$ОбщийРеквизит.Магазин";
	КонецЕсли;
|SELECT
|    $докВЗ.Товар as [основной $Справочник.Номенклатура],
|    SUM($докВЗ.Количество) as кол
|FR OM
|    $ДокументСтроки.Возврат as докВЗ
|INNER JOIN
|    $Документ.Возврат as док ON док.IDDoc = докВЗ.IDDoc
|INNER JOIN
|    _1SJourn as жур ON жур.IDDoc = докВЗ.IDDoc AND
|                       жур.Date_Time_IDDoc BETWEEN :ДатаНач AND :ДатаКон~ AND
|                       жур.Closed & 1 = 1
| WH ERE                       "+ПутьКРеквизитуМагазин+" = :ВыбМагазин
|GROUP BY
|    $докВЗ.Товар
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. newbas 533 21.03.23 19:09 Сейчас в теме
попробуйте
WHERE жур.$ОбщийРеквизит.Магазин = :ВыбМагазин
4. an2007 21.03.23 20:23 Сейчас в теме
(2)
WHERE жур.$ОбщийРеквизит.Магазин = :ВыбМагазин

Ошибка такая же.
3. Noy 1076 21.03.23 19:38 Сейчас в теме
как-то так

Если Метаданные.ОбщийРеквизитДокумента("Магазин ").Сортировка=1 Тогда
		ПутьКРеквизитуМагазин="Жур.$ОбщийРеквизит.Магазин ";
	Иначе
		ПутьКРеквизитуМагазин="док.$ОбщийРеквизит.Магазин";
	КонецЕсли;
|SELECT
|    $докВЗ.Товар as [основной $Справочник.Номенклатура],
|    SUM($докВЗ.Количество) as кол
|FR OM
|    $ДокументСтроки.Возврат as докВЗ
|INNER JOIN
|    $Документ.Возврат as док ON док.IDDoc = докВЗ.IDDoc
|INNER JOIN
|    _1SJourn as жур ON жур.IDDoc = докВЗ.IDDoc AND
|                       жур.Date_Time_IDDoc BETWEEN :ДатаНач AND :ДатаКон~ AND
|                       жур.Closed & 1 = 1
| WH ERE                       "+ПутьКРеквизитуМагазин+" = :ВыбМагазин
|GROUP BY
|    $докВЗ.Товар
Показать
5. an2007 21.03.23 20:45 Сейчас в теме
(3)
док.$ОбщийР

Ок, это работает, в моей ситуации нужно брать док.$ОбщийРеквизит.

А можно ли ещё как-то вытащить и сам документ возврата?
6. Noy 1076 22.03.23 15:50 Сейчас в теме
(5)

|SELECT
|докВЗ.IDDoc [ДокВЗ $Документ.Возврат],
| $докВЗ.Товар as [основной $Справочник.Номенклатура],
| SUM($докВЗ.Количество) as кол
|FROM
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот