Фильтр по дополнительному реквизиту в запросе

1. Obliterator 19.06.17 14:25 Сейчас в теме
Всем привет!

Мне нужно получить в результате запроса только тех партнеров, у которых значение моего дополнительного (именно дополнительного, добавленного в режиме Предприятия) реквизита равно ЛОЖЬ. Как сделать такой фильтр в запросе?
По теме из базы знаний
Найденные решения
8. maxmax83 19.06.17 14:51 Сейчас в теме
ВЫБРАТЬ
	Партнеры.Ссылка КАК Ссылка
ИЗ
	Справочник.Партнеры КАК Партнеры
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
		ПО (Партнеры.Ссылка = ПартнерыДополнительныеРеквизиты.Ссылка
				И ПартнерыДополнительныеРеквизиты.Свойство = &Свойство)
ГДЕ
	ПартнерыДополнительныеРеквизиты.Значение В (NULL, ЛОЖЬ)
Показать
Vida; Obliterator; +2 Ответить
6. user633533_encantado 11 19.06.17 14:46 Сейчас в теме
(5)
ВЫБРАТЬ
|	ПартнерыДополнительныеРеквизиты.Ссылка КАК Партнер
|ИЗ
|	Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
|ГДЕ
|	ПартнерыДополнительныеРеквизиты.Свойство = &Свойство
|	И ПартнерыДополнительныеРеквизиты.Значение = Ложь
Obliterator; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 19.06.17 14:31 Сейчас в теме
(1) после слова ГДЕ - прописываем условие.
Все делается конструктором запросов.
4. Obliterator 19.06.17 14:41 Сейчас в теме
(2)

Реквизит дополнительный - то есть создан не в конфигураторе. То есть его значение находится в табличной части ДополнительныеРеквизиты справочника Партнеры, там же находятся значения всех остальных дополнительных реквизитов для данного справочника. Для каждого дополнительного реквизита по 1-й строке. Это стандартный механизм типовых конфигураций. То есть мне нужно найти конкретную строку в этой табличной части и если она есть и в ее колонке "Значение" стоит значение ИСТИНА, не выводить такого партнера в результат запроса. Не знаю, понятно ли я объяснил...

И как это сделать через условие ГДЕ?
9. Xershi 1484 19.06.17 14:53 Сейчас в теме
(4) рекомендую пройти курсы по запросам, чтобы такие вопросы не задавать. Условие можно наложить в где или сразу в соединении, в соединении условие работает быстрее и раньше.
11. kolya_tlt 86 19.06.17 15:19 Сейчас в теме
(9) да, но от этого поменяется его результат, поэтому из секции Где ничего переносить не нужно в этом примере
12. Xershi 1484 19.06.17 16:10 Сейчас в теме
(11) результат не поменяется если правильно наложить условие.
3. kolya_tlt 86 19.06.17 14:34 Сейчас в теме
(1) (2) есть нюанс, что в результат попадут записи у которых вообще не будет заполнен этот доп реквизит
7. Obliterator 19.06.17 14:49 Сейчас в теме
(3) Это не проблема, главное чтобы не попали те, у кого он истина.
5. Obliterator 19.06.17 14:44 Сейчас в теме
(1)

Я вообще подумал так - сделать отдельную виртуальную таблицу со значениями моего дополнительного реквизита для каждого партнера, потом соединить ее с виртуально таблицей Партнеров и в уже получившейся таблице сделать условие, что если значение доп реквизита ИСТИНА, эту строку не выбирать. Но это решение кажется мне довольно громоздким, может есть получше?
6. user633533_encantado 11 19.06.17 14:46 Сейчас в теме
(5)
ВЫБРАТЬ
|	ПартнерыДополнительныеРеквизиты.Ссылка КАК Партнер
|ИЗ
|	Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
|ГДЕ
|	ПартнерыДополнительныеРеквизиты.Свойство = &Свойство
|	И ПартнерыДополнительныеРеквизиты.Значение = Ложь
Obliterator; +1 Ответить
10. Obliterator 19.06.17 15:15 Сейчас в теме
(6) (8) Все получилось, спасибо!
8. maxmax83 19.06.17 14:51 Сейчас в теме
ВЫБРАТЬ
	Партнеры.Ссылка КАК Ссылка
ИЗ
	Справочник.Партнеры КАК Партнеры
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.ДополнительныеРеквизиты КАК ПартнерыДополнительныеРеквизиты
		ПО (Партнеры.Ссылка = ПартнерыДополнительныеРеквизиты.Ссылка
				И ПартнерыДополнительныеРеквизиты.Свойство = &Свойство)
ГДЕ
	ПартнерыДополнительныеРеквизиты.Значение В (NULL, ЛОЖЬ)
Показать
Vida; Obliterator; +2 Ответить
13. kpdozer 23.06.20 15:18 Сейчас в теме
Много времени конечно уже прошло, но Как отфильтровать по двум и более реквизитам?
14. solaru 69 05.08.20 19:07 Сейчас в теме
(13) есть решение? ищу вариант отбора по трём дополнительным реквизитам, обдумываю вариант запросов к временным таблицам
15. kpdozer 05.08.20 23:04 Сейчас в теме
(14)
На скорую руку (по двум):
ВЫБРАТЬ
    Партнеры.Ссылка КАК Ссылка
ИЗ
    Справочник.Партнеры КАК Партнеры
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.ДополнительныеРеквизиты КАК ДопРеквизитА
        ПО (Партнеры.Ссылка = ДопРеквизитА.Ссылка
                И ДопРеквизитА.Свойство = &СвойствоА)
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Партнеры.ДополнительныеРеквизиты КАК ДопРеквизитБ
        ПО (Партнеры.Ссылка = ДопРеквизитБ.Ссылка
                И ДопРеквизитБ.Свойство = &СвойствоБ)
ГДЕ
    (ДопРеквизитА.Значение=ЛОЖЬ) И (ДопРеквизитБ.Значение=ИСТИНА)
Показать

И так далее, по любому количеству реквизитов.
Оставьте свое сообщение

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