Есть некий документ, который рассматривают 5 человек и каждый оставляет резолюцию. Шаблон Word заполняется с помощью кода:

```1c
    Резолюции = ";
    ТЗРезолюции = РаботаСРезолюциями.ПолучитьРезолюции(Файл.ВладелецФайла, Истина, Истина);
    Для Каждого Стр Из ТЗРезолюции Цикл
    Резолюции = Резолюции + Символы.ВК + "Заключение от:" + " " + Стр.АвторРезолюции + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
    КонецЦикла;

    РезультатОбработки = Резолюции ;
```

1. По этому коду мы получаем такой результат:

Заключение от: Иванов Иван Иванович:
Текст резолюции номер один
Иванов Иван Иванович (01.04.2019)

Заключение от: Петров Сергей Петрович:
Текст резолюции номер два
Петров Сергей Петрович (01.04.2019)

Как сделать так, чтобы вместо
```1c
    АвторРезолюции
```
  выводилось не ФИО автора, а его должность или роль? Сейча процессы настроены на роль. В "Общие -- Модули -- Работа с резолюциями" должности не предусмотрено, насколько я понимаю.

2. Как вывести резолюцию последнего автора вообще отдельно, т.к. к последнему вместо "Заключение от:" будет прописано "Решение".
---
не ФИО автора, а его должность
Должности хранятся в регистре сведений СведенияОПользователях:

```1c
    СведенияПользователей = РегистрыСведений.СведенияОПользователяхДокументооборот.Получить(
    Новый Структура("Пользователь", Параметры.ЗначениеКопирования));
```

(1) вывести резолюцию последнего автора вообще отдельно

```1c
    ПоследняяРезолюция = ТЗРезолюции.Количество();
    Для Каждого Стр Из ТЗРезолюции Цикл
    Если ТЗРезолюции.Индекс(Стр) <> ПоследняяРезолюция Тогда
    Резолюции = Резолюции + Символы.ВК + "Заключение от:" + " " + Стр.АвторРезолюции + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
    Иначе
    Решение = "Решение:" + " " + Стр.АвторРезолюции + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
    КонецЕсли;
    КонецЦикла;
```
---
```1c
    Для Каждого Стр Из ТЗРезолюции Цикл
    СведенияПользователя = РегистрыСведений.СведенияОПользователяхДокументооборот.Получить(
    Новый Структура("Пользователь", Стр.АвторРезолюции));
    Если ТЗРезолюции.Индекс(Стр) <> ПоследняяРезолюция Тогда
    Резолюции = Резолюции + Символы.ВК + "Заключение от:" + " " + СведенияПользователя.Должность + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
    Иначе
    Решение = "Решение:" + " " + СведенияПользователя.Должность + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
    КонецЕсли;
    КонецЦикла;
```
---
не ФИО автора, а его должность
Должности хранятся в регистре сведений СведенияОПользователях:

```1c
    СведенияПользователей = РегистрыСведений.СведенияОПользователяхДокументооборот.Получить(
    Новый Структура("Пользователь", Параметры.ЗначениеКопирования));
```

(1) вывести резолюцию последнего автора вообще отдельно

```1c
    ПоследняяРезолюция = ТЗРезолюции.Количество();
    Для Каждого Стр Из ТЗРезолюции Цикл
    Если ТЗРезолюции.Индекс(Стр) <> ПоследняяРезолюция Тогда
    Резолюции = Резолюции + Символы.ВК + "Заключение от:" + " " + Стр.АвторРезолюции + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
    Иначе
    Решение = "Решение:" + " " + Стр.АвторРезолюции + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
    КонецЕсли;
    КонецЦикла;
```
---
ПоследняяРезолюция = ТЗРезолюции.Количество();
Для Каждого Стр Из ТЗРезолюции Цикл
      Если ТЗРезолюции.Индекс(Стр) <> ПоследняяРезолюция Тогда
Резолюции = Резолюции + Символы.ВК + "Заключение от:" + " " + Стр.АвторРезолюции + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
      Иначе
             Решение = "Решение:" + " " + Стр.АвторРезолюции + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
      КонецЕсли;
КонецЦикла;

Не отрабатывает. Как не пробовала, последнего всё равно выводит так же, как всех :(
---
последнего всё равно выводит так же, как всех :(
Точно:

```1c
    ПоследняяРезолюция = ТЗРезолюции.Количество() - 1
```

Забыл, что индекс с 0, а не с 1.
---
ПоследняяРезолюция = ТЗРезолюции.Количество() - 1

Так работает, но в обратном порядке =)
Т.е. кто первый оставил резолюцию, на того и срабатывает эта обработка. Наверное, это логично, ведь в самом списке резолюций первый встаёт в конце списка.

Количество резолюций всегда одинаково, в принципе, могу установить, -3, например, и будет всем щщастье.
---
А, вот я тормоз же, надо установить <1 и всё отрабатывает правильно
---
А вот с должностями не догоню, как их связать((
---
```1c
    Для Каждого Стр Из ТЗРезолюции Цикл
    СведенияПользователя = РегистрыСведений.СведенияОПользователяхДокументооборот.Получить(
    Новый Структура("Пользователь", Стр.АвторРезолюции));
    Если ТЗРезолюции.Индекс(Стр) <> ПоследняяРезолюция Тогда
    Резолюции = Резолюции + Символы.ВК + "Заключение от:" + " " + СведенияПользователя.Должность + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
    Иначе
    Решение = "Решение:" + " " + СведенияПользователя.Должность + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию + " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
    КонецЕсли;
    КонецЦикла;
```
---
Спасибо! Идеально!