Всем доброе время суток.
Есть документ Реализация товаров услуг.
К нему привязана печатная форма.

В документе у карточки серии номенклатуры есть пять галочек( Булево) , пусть будут называться 1 2 3 4 .
Так вот, сейчас при печати этой печатной формы есть следующее условие:

при наличии двух галок 1 и 2 печатаем:

```1c
    Если 1 и НЕ 2 Тогда
    ТабДок=неопрпределенно // не печатаем печатную форму
    Конецесли
```

Мне же необходимо добавить к этому условию, что при наличии трёх галок 1,3 и 4 эта форма печаталась.
Собственно вопрос, как к уже имеющемуся условию добавить условие с этими тремя галками?
Ничего не смог придумать, в любом случае будет отрабатывать 1(Истина) и 2(Ложь).

Прошу помощи специалистов. Спасибо заранее, я новичок.
---
Если "в лоб" по написанному Вами условию, то так можно:

```1c
    Если (1 И 3 И 4) Тогда
    //ничего не делаем :))
    Иначе
    Если 1 и НЕ 2 Тогда
    ТабДок=Неопределенно; // не печатаем печатную форму
    Конецесли;
    Конецесли;
```

Т.е. Ваше новое условие делаем важнее, чем старое.

А вообще у Вас 2^5=32 технических варианта (если все 5 условий независимы).
Я бы нарисовал табличку такую:
00001 - печатать
00010 - печатать
00011 - не печатать
00100 -.....
00101 -.....
……
11111 - не печатать
будет всего 32 строки
и все 32 условия через ИначеЕсли последовательно проверил бы.

А еще можно сделать Соответствие или ТаблицуЗначений, куда засунуть эту табличку вместе с решением "печатать" или "не печатать" в каждой строке.
И просто найти по 5-членному составному ключу.
---
есть пять галочек( Булево) , пусть будут называться 1 2 3 4 Гм. Вообще-то 1 2 3 4 - это всего четыре элемента, а не пять.
при наличии двух галок 1 и 2 печатаем: На самом деле у вас в коде реализовано условие: если галка 1 сброшена, то печатаем, значение галки 2 при этом уже неважно. Соответственно, если галка 2 установлена - то печатаем, галка 1 не имеет значения. Именно так вам надо?
необходимо добавить к этому условию, что при наличии трёх галок 1,3 и 4 эта форма печаталась. Ну, это элементарно, в лоб: 1 И 3 И 4

В итоге код может выглядеть так:

```1c
    Если НЕ (1 и 2) И НЕ (1 и 3 и 4) Тогда
    ТабДок=неопределено // не печатаем печатную форму
    Конецесли
```

Или так, что равноценно:

```1c
    Если (НЕ 1 или НЕ 2) И (НЕ 1 или НЕ 3 или НЕ 4) Тогда
    ТабДок=неопределено // не печатаем печатную форму
    Конецесли
```

На всякий случай напоминаю, это код для условия: печатаем, если установлены галки 1 и 2, или если установлены галки 1,3,4
---
Если "в лоб" по написанному Вами условию, то так можно:

```1c
    Если (1 И 3 И 4) Тогда
    //ничего не делаем :))
    Иначе
    Если 1 и НЕ 2 Тогда
    ТабДок=Неопределенно; // не печатаем печатную форму
    Конецесли;
    Конецесли;
```

Т.е. Ваше новое условие делаем важнее, чем старое.

А вообще у Вас 2^5=32 технических варианта (если все 5 условий независимы).
Я бы нарисовал табличку такую:
00001 - печатать
00010 - печатать
00011 - не печатать
00100 -.....
00101 -.....
……
11111 - не печатать
будет всего 32 строки
и все 32 условия через ИначеЕсли последовательно проверил бы.

А еще можно сделать Соответствие или ТаблицуЗначений, куда засунуть эту табличку вместе с решением "печатать" или "не печатать" в каждой строке.
И просто найти по 5-членному составному ключу.
---
Кстати, есть табличка уже готовая из 9 пунктов с такими условиями. Думаете коректенее будет через иначе если всё перебрать ?
---
коректенее будет через иначе если
Такое решение, может быть и недостаточно элегантно, но зато просто и понятно.
Подумайте, если спустя продолжительное время, Вам, или кому-то другому придется с этим кодом снова разбираться, то с ИначеЕсли будет проще разобраться. И всего-то 32 варианта, это совсем немного.