Работа с резолюциями: должность автора резолюции

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

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

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


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

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

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


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

2. Как вывести резолюцию последнего автора вообще отдельно, т.к. к последнему вместо "Заключение от:" будет прописано "Решение".
Найденные решения
2. user705522_constantin_h 35 02.04.19 11:02 Сейчас в теме
(1)
не ФИО автора, а его должность

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


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

ПоследняяРезолюция = ТЗРезолюции.Количество();
Для Каждого  Стр Из ТЗРезолюции Цикл
      Если ТЗРезолюции.Индекс(Стр) <> ПоследняяРезолюция Тогда
Резолюции = Резолюции  + Символы.ВК + "Заключение от:"  +  " "  + Стр.АвторРезолюции + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию +  " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
      Иначе
             Решение = "Решение:"  +  " "  + Стр.АвторРезолюции + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию +  " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
      КонецЕсли;
КонецЦикла;
Показать
Svet_Serg; +1 Ответить
8. user705522_constantin_h 35 02.04.19 16:07 Сейчас в теме
(7)
Для Каждого  Стр Из ТЗРезолюции Цикл
      СведенияПользователя = РегистрыСведений.СведенияОПользователяхДокументооборот.Получить(
            Новый Структура("Пользователь", Стр.АвторРезолюции));
      Если ТЗРезолюции.Индекс(Стр) <> ПоследняяРезолюция Тогда
Резолюции = Резолюции  + Символы.ВК + "Заключение от:"  +  " "  + СведенияПользователя.Должность + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию +  " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
      Иначе
             Решение = "Решение:"  +  " "  + СведенияПользователя.Должность + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию +  " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
      КонецЕсли;
КонецЦикла;
Показать
Svet_Serg; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user705522_constantin_h 35 02.04.19 11:02 Сейчас в теме
(1)
не ФИО автора, а его должность

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


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

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


Не отрабатывает. Как не пробовала, последнего всё равно выводит так же, как всех :(
4. user705522_constantin_h 35 02.04.19 13:59 Сейчас в теме
(3)
последнего всё равно выводит так же, как всех :(

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

Забыл, что индекс с 0, а не с 1.
5. Svet_Serg 02.04.19 15:16 Сейчас в теме
(4)
ПоследняяРезолюция = ТЗРезолюции.Количество() - 1


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

Количество резолюций всегда одинаково, в принципе, могу установить, -3, например, и будет всем щщастье.
Прикрепленные файлы:
6. Svet_Serg 02.04.19 15:36 Сейчас в теме
А, вот я тормоз же, надо установить <1 и всё отрабатывает правильно
7. Svet_Serg 02.04.19 15:44 Сейчас в теме
А вот с должностями не догоню, как их связать((
8. user705522_constantin_h 35 02.04.19 16:07 Сейчас в теме
(7)
Для Каждого  Стр Из ТЗРезолюции Цикл
      СведенияПользователя = РегистрыСведений.СведенияОПользователяхДокументооборот.Получить(
            Новый Структура("Пользователь", Стр.АвторРезолюции));
      Если ТЗРезолюции.Индекс(Стр) <> ПоследняяРезолюция Тогда
Резолюции = Резолюции  + Символы.ВК + "Заключение от:"  +  " "  + СведенияПользователя.Должность + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию +  " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
      Иначе
             Решение = "Решение:"  +  " "  + СведенияПользователя.Должность + ":" + Символы.ПС + Стр.ТекстРезолюции + Символы.ПС + Стр.ВнесРезолюцию +  " " + " ("+Формат(Стр.ДатаРезолюции,"ДЛФ=D")+")" + Символы.ВК ;
      КонецЕсли;
КонецЦикла;
Показать
Svet_Serg; +1 Ответить
9. Svet_Serg 02.04.19 16:17 Сейчас в теме
Оставьте свое сообщение

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