Цикл в обработке

1. Frida1407 01.05.18 10:40 Сейчас в теме
Добрый день, есть такой вопрос, прошу помочь кому не трудно
У меня есть обработка в которой идет подтверждение некоторого документа, подтверждающие Физлицо1,Физлицо2,Физлицо3,Физлицо4,Физлицо5 в такой последовательности, теперь надо добавить еще одно физ лицо между Физлицо2 и Физлицо3, новый реквизит назвала Физлицо6.

так если писать с 1 по 6 то последовательность будет с Физлицо1,Физлицо2,Физлицо3,Физлицо4,Физлицо5, Физлицо6, а мне нужно что было так Физлицо1,Физлицо2,Физлицо6,Физлицо3,Физлицо4,Физлицо5.
название реквизитов не нужно.

	Для й = 1 По 6 Цикл
			Если ЗначениеЗаполнено(Выб["Физлицо"+й]) Тогда
				Если Выб["Утверждено"+й] = Перечисления.Утвержденность.ПустаяСсылка() Тогда
					Стр.НомерУтверждающего	= й;
					НомерУтверждающегоПоследний = й;
					Стр.Подразделение		= Выб.ДокПодразделение;					
					Стр.ДатаУтвержения		= Выб["ДатаУтвержения"+й];
					Стр.Утверждено			= Выб["Утверждено"+й];
					Прервать;
				КонецЕсли;
Показать
По теме из базы знаний
Найденные решения
4. Denis_CFO 48 01.05.18 19:20 Сейчас в теме
Если й=6 Тогда Продолжить КонецЕсли
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. user700035_6550355 29 02.05.18 11:33 Сейчас в теме
(1) суррогат какой то тут, может общую идею подскажете и переделаем код как надо
2. THEBESTolo4b 10 01.05.18 11:18 Сейчас в теме
А что тебе мешает сделать Цикл для разных условий в первом он у тебя работает стандарно, а если есть физлицо6 тогда работает Иначе
3. user856012 13 01.05.18 11:59 Сейчас в теме
Да уж, бином Ньютона!

Решение, что называется, "в лоб" - в одну строчку:

Для й = 1 По 6 Цикл
            йй=?(й<3,й,?(й=3,6,й-1));
            Если ЗначениеЗаполнено(Выб["Физлицо"+йй]) Тогда
                Если Выб["Утверждено"+йй] = Перечисления.Утвержденность.ПустаяСсылка() Тогда
                    Стр.НомерУтверждающего    = йй;
                    НомерУтверждающегоПоследний = йй;
                    Стр.Подразделение        = Выб.ДокПодразделение;                    
                    Стр.ДатаУтвержения        = Выб["ДатаУтвержения"+йй];
                    Стр.Утверждено            = Выб["Утверждено"+йй];
                    Прервать;
                КонецЕсли;
Показать
9. Hamsik 13 02.05.18 12:26 Сейчас в теме
(3) Наверное от такого кода можно застрелиться
4. Denis_CFO 48 01.05.18 19:20 Сейчас в теме
Если й=6 Тогда Продолжить КонецЕсли
5. MikZ 53 01.05.18 21:10 Сейчас в теме
Создать массив с числами 1,2,6,3,4,5 и уже его обежать
7. GOshaSaveiko 38 02.05.18 11:53 Сейчас в теме
А нельзя завести ТЧ документа со списком согласователей и обходить её? А то, как-то странно. Добавляется согласователь - код менять. Ещё и колхозить с порядком.
Hamsik; herfis; harvester_sorrow; +3 Ответить
8. herfis 499 02.05.18 12:07 Сейчас в теме
Напомнило анекдот про Петьку: "партийное собрание состоится в среду, приходить на день раньше".
По костылям я не советчик, тут как не сделай уже - все одно криво будет.
Если же как по-хорошему делать надо было, то как в (7) - через табличную часть. Обычно бывает еще что-то типа перечисления/справочника видов ответственных лиц (в справочнике можно и порядок хранить, если он играет роль) и периодический регистр сведений для первоначального заполнения ответственных в документе.
Оставьте свое сообщение

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