1. user1207650 12.06.19 17:36 Сейчас в теме

Запросы. Получение результатов из нескольких таблиц

Дело вот в чем,

Есть два д-та "ПродажаТовара" и "ПоступлениеТовара"
В них ТЧ "Товары", в которой содержится Номенклатура и ВидТовара

Реализую отчет, который будет выводить след.:
Номенклатура | Документ (Ссылка - ПродажаТовара или ПоступлениеТовара) | ВидТовара

Если ВидТовара Номенклатуры совпадает, то в отчете выводится одна строка с перечислением вышеописанных полей.
Если ВидТовара в д-тах указан разный, то выводится Номенклатура и подстроки с указанием Документа и ВидТовара, например:

Номенклатура | Документ | ВидТовара
Шапка |ПродажаТовара | аксессуар
Кепка |ПродажаТовара | аксессуар
Кепка |ПоступлениеТовара| аксессуар на лето
и т.д.

Нет идеи как реализовать.
Использовать две ВТ, в одной из сравнивать как ПродажаТовараТовары.ВидТовара = ПоступлениеТовараТовары.ВидТовара , что бы исключить дублирование одинаковых ВидовТовара при формировании отчета
и во второй ВТ сравнивать как ПродажаТовараТовары.ВидТовара <> ПоступлениеТовараТовары.ВидТовара , что бы различать что ВидТовара не совпадает и выводить несколько значений

Но это как то глупо, не думаю, что это решение данной задачи. Если есть идеи - подскажите, заранее спасибо)
Найденные решения
3. spacecraft 12.06.19 19:22 Сейчас в теме
(1) как вариант:
ВЫБРАТЬ
	ПоступлениеТовараТовары.Ссылка КАК Ссылка,
	ПоступлениеТовараТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТовараТовары.ВидТовара КАК ВидТовара
ПОМЕСТИТЬ вт1
ИЗ
	Документ.ПоступлениеТовара.Товары КАК ПоступлениеТовараТовары
ГДЕ
	ПоступлениеТовараТовары.Ссылка = &ДокПоступления

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

ВЫБРАТЬ
	ПродажаТовараТовары.Ссылка,
	ПродажаТовараТовары.Номенклатура,
	ПродажаТовараТовары.ВидТовара
ИЗ
	Документ.ПродажаТовара.Товары КАК ПродажаТовараТовары
ГДЕ
	ПродажаТовараТовары.Ссылка = &ДокПродажи
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	МАКСИМУМ(вт1.Ссылка) КАК Ссылка,
	вт1.Номенклатура КАК Номенклатура,
	вт1.ВидТовара КАК ВидТовара
ИЗ
	вт1 КАК вт1

СГРУППИРОВАТЬ ПО
	вт1.Номенклатура,
	вт1.ВидТовара
Показать
user1207650; +1 Ответить
Остальные ответы
Избранное Подписка Сортировка: Древо
3. spacecraft 12.06.19 19:22 Сейчас в теме
(1) как вариант:
ВЫБРАТЬ
	ПоступлениеТовараТовары.Ссылка КАК Ссылка,
	ПоступлениеТовараТовары.Номенклатура КАК Номенклатура,
	ПоступлениеТовараТовары.ВидТовара КАК ВидТовара
ПОМЕСТИТЬ вт1
ИЗ
	Документ.ПоступлениеТовара.Товары КАК ПоступлениеТовараТовары
ГДЕ
	ПоступлениеТовараТовары.Ссылка = &ДокПоступления

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

ВЫБРАТЬ
	ПродажаТовараТовары.Ссылка,
	ПродажаТовараТовары.Номенклатура,
	ПродажаТовараТовары.ВидТовара
ИЗ
	Документ.ПродажаТовара.Товары КАК ПродажаТовараТовары
ГДЕ
	ПродажаТовараТовары.Ссылка = &ДокПродажи
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	МАКСИМУМ(вт1.Ссылка) КАК Ссылка,
	вт1.Номенклатура КАК Номенклатура,
	вт1.ВидТовара КАК ВидТовара
ИЗ
	вт1 КАК вт1

СГРУППИРОВАТЬ ПО
	вт1.Номенклатура,
	вт1.ВидТовара
Показать
user1207650; +1 Ответить
4. user1207650 12.06.19 21:00 Сейчас в теме
(3) Беда в том, что если ВидТовара у одной номенклатуры в разных документах, разная, то выводится только одно значение, а необходимо видеть оба
6. spacecraft 12.06.19 21:05 Сейчас в теме
(4) так именно так и будет, если ВидТовара разный, то будут выводится оба. Группировка делается для пары Номенклатура и ВидТовара.
Сам запрос пробовали?
Прикрепленные файлы:
7. user1207650 12.06.19 21:35 Сейчас в теме
(6) Да, все верно, сейчас попробовал.
Спасибо. Сам представлял совсем другое решение
2. SaschaL 12.06.19 18:58 Сейчас в теме
Добрый день.
Можно использовать вариант с двумя виртуальными таблицами, потом соединить их
5. user1207650 12.06.19 21:03 Сейчас в теме
(2) Можно, но если непосредственно в ВТ проверять одинаково ли ВидТовара в двух документах одной номенклатуры, то не понятно как вытащить из ВТ два значения ВидТовара, если они различны
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Бобров
зарплата от 100 000 руб. до 150 000 руб.
Временный (на проект)

Студент (стажер) 1С
Нижний Новгород
зарплата от 25 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день

Программист 1С
Новосибирск
зарплата от 80 000 руб.
Полный день