Добрый день. как можно организовать работу условия если в цикле?
 нужно чтобы условия даже если выполнено или не выполнено продолжало идти по условию.

СтрКомисиионера = НовыйДокумент.Услуги.Добавить();

    Если стр.M1 > 0 Тогда
     СтрКомисиионера.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000019");
     СтрКомисиионера.Количество = стр.M1;
     СтрКомисиионера.Цена = стр.Контрагент.M1
    ИначеЕсли стр.M2 > 0 Тогда
     СтрКомисиионера.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000023");
     СтрКомисиионера.Количество = стр.M2;
     СтрКомисиионера.Цена = стр.Контрагент.M2
    ИначеЕсли стр.M3 > 0 Тогда
     СтрКомисиионера.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000022");
     СтрКомисиионера.Количество = стр.M3;
     СтрКомисиионера.Цена = стр.Контрагент.M3
    ИначеЕсли стр.N1 > 0 Тогда
     СтрКомисиионера.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000020");
     СтрКомисиионера.Количество = стр.N1;
     СтрКомисиионера.Цена = стр.Контрагент.N1
    ИначеЕсли стр.N2 > 0 Тогда
     СтрКомисиионера.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000024");
     СтрКомисиионера.Количество = стр.N2;
     СтрКомисиионера.Цена = стр.Контрагент.N2
    ИначеЕсли стр.N3 > 0 Тогда
     СтрКомисиионера.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000025");
     СтрКомисиионера.Количество = стр.N3;
     СтрКомисиионера.Цена = стр.Контрагент.N3
    ИначеЕсли стр.O3 > 0 Тогда
     СтрКомисиионера.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000241");
     СтрКомисиионера.Количество = стр.O3;
     СтрКомисиионера.Цена = стр.Контрагент.O3
    ИначеЕсли стр.O4 > 0 Тогда
     СтрКомисиионера.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("00-00000242");
     СтрКомисиионера.Количество = стр.O4;
     СтрКомисиионера.Цена = стр.Контрагент.O4
    КонецЕсли;

В данном случае может оказаться что условие M1 M2 и N3 верное.
соответственно с условием добавлялось строки в соответствии условии
---
Нужно добавление строки включить в каждое условие "Если".
---
строку СтрКомисиионера = НовыйДокумент.Услуги.Добавить(); нужно включить в каждое условие
---
В УСЛОВИЕ, а не за него, т.е. если условие срабатывает то строка добавляется, если не срабатывает то нафиг нам нужна пустая строка
---
Завернуть все это великолепие в запрос, вернуть структуру с набором условий, которые нужны и дальше добавлять строки. В этой структуре всегда будет то, что нужно.
---
Вы сами себе создали проблему :)

```1c
    // вместо такой конструкции..
    Если ... Тогда
    ...
    ИначеЕсли ... Тогда
    ...
    ИначеЕсли ... Тогда
    ...
    КонецЕсли;

    // ...должна быть такая
    Если ... Тогда
    ...
    КонецЕсли;
    Если ... Тогда
    ...
    КонецЕсли;
    Если ... Тогда
    ...
    КонецЕсли;
```
---
я пробовал без иначе. в таком случае у меня строка добавилась только N3. хотя условие M1 и M2 тоже верное. замкнутые круг какой то.
---
Нужно добавление строки включить в каждое условие "Если".
---
СтрКомисиионера = НовыйДокумент.Услуги.Добавить();
Если ... Тогда
   ...
КонецЕсли;
СтрКомисиионера = НовыйДокумент.Услуги.Добавить();
Если ... Тогда
   ...
КонецЕсли;
СтрКомисиионера = НовыйДокумент.Услуги.Добавить();
Если ... Тогда
   ...
КонецЕсли;

Такой структурой?
---
строку СтрКомисиионера = НовыйДокумент.Услуги.Добавить(); нужно включить в каждое условие
---
В УСЛОВИЕ, а не за него, т.е. если условие срабатывает то строка добавляется, если не срабатывает то нафиг нам нужна пустая строка
---
Понял) не проснулся еще) думаю кофе сбодрит)
---
Поиск поПоКоду. А если ретивый пользователь этот код изменит? Может в справочнике "Номенклатура" Использовать допонительный реквизит?
---
не изменит. пользователь только 1. и это я
---
а если потом будет больше пользователей? Почему никто не думает что будет потом?) Я помню видел обработку, где условия по году от 2011(видимо когда писали ее) ДО 2018 года. И хорошо я тогда переписал это условие, иначе сейчас бы она уже не работала)
---
вот тут да имеет смысл) может быть больше пользователей
---
Сделать без иначе
---
пробовал. но почему то строку добавлять 1 раз и то условие которые выполнено верно в конце