Привет!
Сегодня расскажу вам про функционал отправки сообщений в ленту элемента приложения.
Рассмотрим на таком примере: у нас есть приложение "Контрагенты", для которого мы разработали кастомную проверку на дубли с возможностью объединения дубликатов.
Давайте отправим в карточку контрагента, которого оставляем в системе, ссылки на карточки дубликатов.
Код:
async function sendMessage(): Promise<void> {
//получаем контрагента которого оставляем в системе
let counterparty = await Context.data.main_counterparty!.fetch()
//массив с ссылками на дубли
let links: string[] = []
if (Context.data.duplicates?.length) {
//получаем дубликаты
let duplicates = await Promise.all(Context.data.duplicates.map(f => f.fetch()));
//формируем ссылки на элементы дубликатов
links = duplicates.map(f => `<a href="./(p:item/counterparties/counterparties/${f.id})">${f.data.__name}</a>`)
//удаляем дубликаты
await Promise.all(Context.data.duplicates.map(f => f.delete()))
//отправляем сообщение в ленту приложения
await counterparty.sendMessage('Контрагент объединен с дублями.', `Дубликаты: ${links.join('. ')}`)
}
}