Мож кто сталкивался: Нужно при повторном согласовании не отправлять на согласование тем кто уже согласовал.
Если убрать уже согласовавших тупо из списка тогда в лист согласования и историю не попадают. Если не формировать для них задачу вовсе, тогда не могу найти где правильно добавить в историю.
Единственный толковый вариант - робота нацарапать, который будет автоматически закрывать задачи на тех, кто ранее согласовал.
Но даже в этом случае придется лист согласования допиливать, чтобы он дату согласования выводил первую, а не последнюю
МассивСтрок = Новый Массив;
Если ВариантСогласования = Перечисления.ВариантыМаршрутизацииЗадач.Параллельно Тогда
Для Каждого Строка Из Исполнители Цикл
МассивСтрок.Добавить(Строка);
КонецЦикла;
ИначеЕсли ВариантСогласования = Перечисления.ВариантыМаршрутизацииЗадач.Последовательно Тогда
Для Каждого Строка Из Исполнители Цикл
Если Строка.Пройден Тогда
Продолжить;
КонецЕсли;
ИначеЕсли ВариантСогласования = Перечисления.ВариантыМаршрутизацииЗадач.Смешанно Тогда
Строки = Исполнители.НайтиСтроки(Новый Структура("Пройден", Ложь));
Если Строки.Количество() > 0 Тогда
МассивСтрок.Добавить(Строки[0]);
КонецЕсли;
Для Инд = 1 По Строки.ВГраница() Цикл
Если Строки[Инд].ПорядокСогласования = Перечисления.ПорядокВыполненияЗадач.ВместеСПредыдущим Тогда
МассивСтрок.Добавить(Строки[Инд]);
Иначе
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Для Каждого Строка Из МассивСтрок Цикл
Задача = Задачи.ЗадачаИсполнителя.СоздатьЗадачу();
ЗаполнитьЗадачуСогласовать(Задача, Строка);