Есть справочник ВычислительнаяТехника.
У справочника есть ТЧ ЖесткиеДиски.
Я хочу сделать отчет на СКД, который бы позволял вывести:
- Всю вычислительную технику
- Вычислительную технику с полной ТЧ Жеские диска, но только в том случае, если в эту ВТ установлен один из перечисленных жеских дисков
Таким образом я хочу сделать запрос с соединением реальной таблицы и вложенным запросом с объединением, в котором и будет стоять отбор по Жесткому диску
ВЫБРАТЬ
ЦеновыеГруппы.Ссылка КАК ЦеноваяГруппа
ПОМЕСТИТЬ ЦеноваяГруппаИсключения
ИЗ
Справочник.ЦеновыеГруппы КАК ЦеновыеГруппы
ГДЕ
ЦеновыеГруппы.ДляКонтрагентов
{ГДЕ
ЦеновыеГруппы.Ссылка.* КАК ЦеноваяГруппаИсключения}
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ИСТИНА КАК Исключать
ПОМЕСТИТЬ ПризнакИсключать
ИЗ
Справочник.ЦеновыеГруппы КАК ЦеновыеГруппы
ГДЕ
ЦеновыеГруппы.ДляКонтрагентов
ИМЕЮЩИЕ
НЕ КОЛИЧЕСТВО(*) В
(ВЫБРАТЬ
КОЛИЧЕСТВО(*)
ИЗ
ЦеноваяГруппаИсключения)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВЫРАЗИТЬ(ЦеновыеГруппы.Объект КАК Справочник.Контрагенты) КАК Контрагент
ПОМЕСТИТЬ КонтрагентыИсключения
ИЗ
РегистрСведений.ЦеновыеГруппы КАК ЦеновыеГруппы
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ЦеноваяГруппаИсключения КАК ЦеноваяГруппаИсключения
ПО ЦеновыеГруппы.ЦеноваяГруппа = ЦеноваяГруппаИсключения.ЦеноваяГруппа,
ПризнакИсключать КАК ПризнакИсключать
ГДЕ
ПризнакИсключать.Исключать = Истина
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Контрагенты.Ссылка КАК Контрагент
{ВЫБРАТЬ
Контрагент.* КАК КонтрагентИсключения}
ИЗ
Справочник.Контрагенты КАК Контрагенты
ЛЕВОЕ СОЕДИНЕНИЕ КонтрагентыИсключения КАК КонтрагентыИсключения
ПО Контрагенты.Ссылка = КонтрагентыИсключения.Контрагент
ГДЕ
КонтрагентыИсключения.Контрагент ЕСТЬ NULL
(3) спасибо за идею!
(6) Нет, этого не будем делать :-)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший