Копировать ссылку на страницу

Постановка задачи

В карточке справочника Совещания и заседания на вкладке Дополнительно в группе Сервис есть кнопка Конференция. При нажатии на кнопку необходимо отправить мгновенное сообщение всем доступным участникам совещания с текстом «Конференция по совещанию <Тема совещания> <Гиперссылка на совещание>». Тема совещания хранится в реквизите Тема (Содержание).

Программный код

 

// Object – предопределенная переменная с текущей записью 

// справочника "Совещания и заседания".

// MeetingUserArray - сформированный массив с сетевыми именами

// участников совещания

// SEND_MESSAGE_IS_IMPOSSIBLE_STATUS_IDs – сформированный массив ИД

// статусов, при которых отправка сообщений пользователям невозможна.

 

// ActualMeetingUsers - массив пользователей, статус которых 

// позволяет отправить им сообщение.

ActualMeetingUsers = ArrayOf()

 

MessagingFactory = Application.MessagingFactory

if not VarIsNull(MessagingFactory)

  foreach MeetingUser in CArrayElement(MeetingUserArray) 

 

    // Получить ИД статуса пользователя.

    StatusID = MessagingFactory.StatusID(MeetingUser)

 

    // Проверить, можно ли пользователю отправить сообщение.

    if not In(SEND_MESSAGE_IS_IMPOSSIBLE_STATUS_IDs; StatusID)

      ActualMeetingUsers = AddElementToArray(ActualMeetingUsers;

        MeetingUser)

    endif

  endforeach

 

  // Отправить мгновенное сообщение доступным участникам совещания.

  MessagingFactory.SendMessage(ActualMeetingUsers; Format(

    'Конференция по совещанию "%s" %s'; ArrayOf(

    Object.Requisites(SYSREQ_CONTENTS).AsString; Object.

      HyperLink(hltText))))

endif

© 2016 Компания DIRECTUM Сообщество пользователей DIRECTUM