Вводная: Можно реализовать текущий сценарий на форме просмотра документа.
Код:
// Инициализируем текстовую переменную
ViewContext.data.str='';
// Загружаем в переменную текущий открытый документ
ViewContext.data.doka = await Application.search().where(i=>i.__id.like(Context.data.__id)).first();
// Получаем листы согласования
const ApprovalLists = await ViewContext.data.doka!.docflow().getApprovalLists();
// Берем последний лист
const LastListRespondents= ApprovalLists[0].respondents;
//Перебираем согласующих
for (let resp of LastListRespondents)
{
// Загружаем по ID пользователя
let RespName = (await System.users.search().where(i=>i.__id.like(resp.id)).first())!.data.__name;
// Получаем комментарий
let RespComm = resp.comment;
let RespStatus;
// Получаем статус в локализации
switch(resp.status)
{
case "approved":
RespStatus = 'Согласовано';
break;
case "rejected":
RespStatus = 'Отказано'
break;
}
// Формируем итоговую строчку
ViewContext.data.str=ViewContext.data.str + RespName+ ' - '+ RespStatus + ' - '+ RespComm+ '\n';
}
где
doka - переменная с приложением типа “Документ”
str - переменная типа “Строка” с типом “Текст”
Вид реализации: