...

Отправляем ссылки на элементы приложений в ленту объекта

Тема в разделе "Примеры сценариев", создана пользователем ksannikov, 22 июл 2025 в 14:38.

  1. ksannikov

    ksannikov Участник

    upload_2025-7-22_14-38-8.png

    Привет!

    Сегодня расскажу вам про функционал отправки сообщений в ленту элемента приложения.
    Рассмотрим на таком примере: у нас есть приложение "Контрагенты", для которого мы разработали кастомную проверку на дубли с возможностью объединения дубликатов.
    Давайте отправим в карточку контрагента, которого оставляем в системе, ссылки на карточки дубликатов.


    Код:
    
    async function sendMessage(): Promise<void> {
        
    //получаем контрагента которого оставляем в системе
        
    let counterparty await Context.data.main_counterparty!.fetch()
        
    //массив с ссылками на дубли
        
    let linksstring[] = []

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