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


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