Несколько условий в запросе по одной строке тч

1. HaIIpuKoJIe 29.09.20 09:15 Сейчас в теме
Добрый день. Подскажите пожалуйста как правильно написать условие в запросе. Запрос к табличной части документа, необходимо выбрать ссылку где в тч в одной строке соблюдено несколько условий.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
19. HaIIpuKoJIe 29.09.20 12:08 Сейчас в теме
В принципе тема закрыта

ВЫБРАТЬ ПЕРВЫЕ 1
		|	ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка КАК Ссылка
		|ИЗ
		|	Документ.ЭтапПроизводства2_2.ВидыРабочихЦентров КАК ЭтапПроизводства2_2ВидыРабочихЦентров
		|ГДЕ
		|	ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка.Проведен
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыЭтаповПроизводства2_2.Завершен)
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыЭтаповПроизводства2_2.Формируется)
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.ВидРабочегоЦентра = &ВидРабочегоЦентра
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.Произведено = ЛОЖЬ
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка.ЭтапЗавершен = ЛОЖЬ";
	
Показать

Так заработало, почему до этого не работало так и не понял
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. ixijixi 1801 29.09.20 09:16 Сейчас в теме
Выбрать Т.Ссылка ИЗ Документ.ИмяДокумента.ТабличнаяЧасть КАК Т ГДЕ Т.Реквизит1 = 1 И Т.Реквизит2 = 2
3. HaIIpuKoJIe 29.09.20 09:19 Сейчас в теме
(2)Так условие проверяется по нескольким строкам. Если Т.Реквизит1 = 1 в первой строке И Т.Реквизит2 = 2 во второй строке то условие будет соблюдено. Нужно именно в одной строке.
4. ixijixi 1801 29.09.20 09:24 Сейчас в теме
(3) Нет, проверяется совокупность условий по каждой строке (оператор И)
5. ixijixi 1801 29.09.20 09:26 Сейчас в теме
(3) В данному случае Т - это именно строка таб.части, и именно в ней проверяется соблюдение условий
6. HaIIpuKoJIe 29.09.20 09:38 Сейчас в теме
Поспешил отредактировать ответ
"ВЫБРАТЬ ПЕРВЫЕ 1
		|	ЭтапПроизводства2_2.Ссылка КАК Ссылка
		|ИЗ
		|	Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
		|ГДЕ
		|	ЭтапПроизводства2_2.Проведен
		|	И ЭтапПроизводства2_2.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыЭтаповПроизводства2_2.Завершен)
		|	И ЭтапПроизводства2_2.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыЭтаповПроизводства2_2.Формируется)
		|	И ЭтапПроизводства2_2.ЭтапЗавершен = ЛОЖЬ
		|	И ЭтапПроизводства2_2.ВидыРабочихЦентров.ВидРабочегоЦентра = &ВидРабочегоЦентра
		|	И ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = ЛОЖЬ
		|
		|УПОРЯДОЧИТЬ ПО
		|	ЭтапПроизводства2_2.Номер";


Показать

Получаю документ в котором

И ЭтапПроизводства2_2.ВидыРабочихЦентров.ВидРабочегоЦентра = &ВидРабочегоЦентра
		|	И ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = ИСТИНА
7. Sashares 34 29.09.20 09:41 Сейчас в теме
8. farengeit00 29.09.20 09:43 Сейчас в теме
(6) Только не ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = ИСТИНА, а равно Ложь
9. HaIIpuKoJIe 29.09.20 09:58 Сейчас в теме
10. farengeit00 29.09.20 10:01 Сейчас в теме
(9) Вы в запросе указали
ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = ЛОЖЬ, а не
ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = Истина
11. HaIIpuKoJIe 29.09.20 10:13 Сейчас в теме
(10)В том то и дело что указываю

ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = ЛОЖЬ

А в результате получаю документ в котором
ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = Истина
13. ZergKRSK 129 29.09.20 10:45 Сейчас в теме
(6)
Получаю документ в котором

В этом документе одна строка в ТЧ ?
14. HaIIpuKoJIe 29.09.20 11:44 Сейчас в теме
(13)Нет, строк много. Нужно получить документ если хоть одна строка соответствует двум условиям
15. ZergKRSK 129 29.09.20 11:46 Сейчас в теме
16. HaIIpuKoJIe 29.09.20 11:50 Сейчас в теме
(15) Условие в запросе
 И ЭтапПроизводства2_2.ВидыРабочихЦентров.ВидРабочегоЦентра = &ВидРабочегоЦентра
 И ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = ЛОЖЬ

В параметр &ВидРабочегоЦентра передаю ссылку "Поперечная резка RM-TS 1250*ПР-000080" и получаю документ в котором
ВидРабочегоЦентра    Поперечная резка RM-TS 1250*ПР-000080                  СправочникСсылка.ВидыРабочихЦентров

Произведено                    Истина                                                                          Булево

Тоесть в строке соответствует только одно условие а второе не соблюдено
17. ZergKRSK 129 29.09.20 11:59 Сейчас в теме
(16) и? вы получаете документ со всей его ТЧ. Проверьте ТЧ этого документа - хоть одна строка соответствует двум условиям?
12. HaIIpuKoJIe 29.09.20 10:23 Сейчас в теме +0.3 $m
Из отладчика

ВидРабочегоЦентра	Поперечная резка RM-TS 1250*ПР-000080	              СправочникСсылка.ВидыРабочихЦентров

Произведено	                Истина	                                                                      Булево
18. herfis 499 29.09.20 12:05 Сейчас в теме
А если так попробовать?
ВЫБРАТЬ *
ИЗ
     Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
ГДЕ
      1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 
              ИЗ ЭтапПроизводства2_2.ВидыРабочихЦентров  КАК ВидыРабочихЦентров
              ГДЕ ВидыРабочихЦентров.Ссылка = ЭтапПроизводства2_2.Ссылка И <ДополнительныеУсловияНаСтроки>)
19. HaIIpuKoJIe 29.09.20 12:08 Сейчас в теме
В принципе тема закрыта

ВЫБРАТЬ ПЕРВЫЕ 1
		|	ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка КАК Ссылка
		|ИЗ
		|	Документ.ЭтапПроизводства2_2.ВидыРабочихЦентров КАК ЭтапПроизводства2_2ВидыРабочихЦентров
		|ГДЕ
		|	ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка.Проведен
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыЭтаповПроизводства2_2.Завершен)
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыЭтаповПроизводства2_2.Формируется)
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.ВидРабочегоЦентра = &ВидРабочегоЦентра
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.Произведено = ЛОЖЬ
		|	И ЭтапПроизводства2_2ВидыРабочихЦентров.Ссылка.ЭтапЗавершен = ЛОЖЬ";
	
Показать

Так заработало, почему до этого не работало так и не понял
20. herfis 499 29.09.20 12:08 Сейчас в теме
Если надо в одной и только в одной, тогда так попробовать:
ВЫБРАТЬ *
ИЗ
     Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
ГДЕ
      1 В (ВЫБРАТЬ КОЛИЧЕСТВО(*) 
              ИЗ ЭтапПроизводства2_2.ВидыРабочихЦентров  КАК ВидыРабочихЦентров
              ГДЕ ВидыРабочихЦентров.Ссылка = ЭтапПроизводства2_2.Ссылка И <ДополнительныеУсловияНаСтроки>)
Оставьте свое сообщение

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