Добрый день. Подскажите пожалуйста как правильно написать условие в запросе. Запрос к табличной части документа, необходимо выбрать ссылку где в тч в одной строке соблюдено несколько условий.
---
В принципе тема закрыта

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

Так заработало, почему до этого не работало так и не понял
---
```1c
    Выбрать Т.Ссылка ИЗ Документ.ИмяДокумента.ТабличнаяЧасть КАК Т ГДЕ Т.Реквизит1 = 1 И Т.Реквизит2 = 2
```
---
Так условие проверяется по нескольким строкам. Если Т.Реквизит1 = 1 в первой строке И Т.Реквизит2 = 2 во второй строке то условие будет соблюдено. Нужно именно в одной строке.
---
Нет, проверяется совокупность условий по каждой строке (оператор И)
---
В данному случае Т - это именно строка таб.части, и именно в ней проверяется соблюдение условий
---
Поспешил отредактировать ответ

```1c
    "ВЫБРАТЬ ПЕРВЫЕ 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.Номер";
```

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

```1c
    И ЭтапПроизводства2_2.ВидыРабочихЦентров.ВидРабочегоЦентра = &ВидРабочегоЦентра
    | И ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = ИСТИНА
```
---
Да
---
Только не ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = ИСТИНА, а равно Ложь
---
Не понял
---
Вы в запросе указали
ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = ЛОЖЬ, а не
ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = Истина
---
В том то и дело что указываю

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

А в результате получаю документ в котором

```1c
    ЭтапПроизводства2_2.ВидыРабочихЦентров.Произведено = Истина
```
---
Получаю документ в котором
В этом документе одна строка в ТЧ ?
---
Нет, строк много. Нужно получить документ если хоть одна строка соответствует двум условиям
---
вы его и получили.
---
Условие в запросе

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

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

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

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

Тоесть в строке соответствует только одно условие а второе не соблюдено
---
и? вы получаете документ со всей его ТЧ. Проверьте ТЧ этого документа - хоть одна строка соответствует двум условиям?
---
Из отладчика

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

    Произведено Истина Булево
```
---
А если так попробовать?

```1c
    ВЫБРАТЬ *
    ИЗ
    Документ.ЭтапПроизводства2_2 КАК ЭтапПроизводства2_2
    ГДЕ
    1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1
    ИЗ ЭтапПроизводства2_2.ВидыРабочихЦентров КАК ВидыРабочихЦентров
    ГДЕ ВидыРабочихЦентров.Ссылка = ЭтапПроизводства2_2.Ссылка И <ДополнительныеУсловияНаСтроки>)
```
---
В принципе тема закрыта

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

Так заработало, почему до этого не работало так и не понял
---
Если надо в одной и только в одной, тогда так попробовать:

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