Создание сообщения
Чтобы создать сообщение, воспользуйтесь методом
СистемаВзаимодействия.СоздатьСообщение(). Необходимые параметры:
- ИдентификаторОбсуждения
- Идентификатор обсуждения типа Ууид, в которое нужно отправить сообщение
- Получатели
- Идентификатор пользователя типа Ууид (или массив таких идентификаторов) системы взаимодействия, которому адресовано сообщение
- ТекстСообщения
- Текст сообщения типа Строка, который отправляется в обсуждение
- Вложения
- Массив вложений типа ВложениеВзаимодействия, которые нужно отправить в обсуждение
В ответ будет возвращен идентификатор этого сообщения на сервере типа Ууид.
Создание обсуждения, сообщения, получение непрочитанных сообщений
// создание обсуждения (пользователь1 с пользователем2)
попытка
пер НазваниеОбсуждения = "Название обсуждения"
пер КлючОбсуждения = "Ключ обсуждения"
ИдОбсуждения = СистемаВзаимодействия.СоздатьОбсуждение([ИдПользователяСВ1, ИдПользователяСВ2], НазваниеОбсуждения, КлючОбсуждения)
// Сохраните идентификатор обсуждения системы взаимодействия ИдОбсуждения
поймать Исключение : ИсключениеСистемыВзаимодействия
// Обработка исключения
;
// создание сообщения (от пользователя1 к пользователю2)
попытка
пер МассивПолучателейСообщения : Массив<Ууид> = новый Массив<Ууид>()
МассивПолучателейСообщения.Добавить(ИдПользователяСВ2)
пер ТекстСообщения : Строка = "Привет, пользователь!"
ИдСообщения = СистемаВзаимодействия.СоздатьСообщение(ИдОбсуждения, МассивПолучателейСообщения, ТекстСообщения)
// Сохраните идентификатор сообщения системы взаимодействия ИдСообщения
поймать Исключение : ИсключениеСистемыВзаимодействия
// Обработка исключения
;
//
// ... можно создать еще сообщения ...
//
// получение непрочитанных сообщений
попытка
пер МассивНовыхСообщений = СистемаВзаимодействия.ПолучитьНепрочитанныеСообщения(ИдОбсуждения)
//Непрочитанные сообщения
для Сообщение из МассивНовыхСообщений
// Обработка непрочитанных сообщений
;
поймать Исключение : ИсключениеСистемыВзаимодействия
// Обработка исключения
;
Создание сообщения, сообщения с вложением
// подключение, инициализация и т. д.
// ...
знч ИдПользователяСВ = Ууид{520a34cb-f8cb-4c79-ba78-45b7fdfb080a}
// создание сообщения c вложением
попытка
// загрузим вложение на сервер взаимодействия
знч Файл = новый Файл("C:/test/price.xlsx")
знч Вложение = СистемаВзаимодействия.ЗагрузитьВложение(
Содержимое = Файл.ОткрытьПотокЧтения(),
Имя = "price.xlsx",
ТипСодержимого = "application/octet-stream"
)
пер МассивПолучателейСообщения : Массив<Ууид> = новый Массив<Ууид>()
МассивПолучателейСообщения.Добавить(ИдПользователяСВ)
// создадим сообщение с вложением, сообщения с вложениям можно создавать без текста
ИдСообщения = СистемаВзаимодействия.СоздатьСообщение(
ИдОбсуждения = ИдОбсуждения,
Получатели = МассивПолучателейСообщения,
Вложения = [Вложение]
)
// получим только что отправленное сообщение
знч Сообщение = СистемаВзаимодействия.НайтиСообщение(ИдСообщения)
знч ВходящееВложение = Сообщение.Вложения[0]
знч ИдВложения = ВходящееВложение.Ид // 1aee7439-6268-4f01-a4e3-432ac0dd79f4
знч ИмяФайла = ВходящееВложение.Имя // price.xlsx
знч РазмерФайла = ВходящееВложение.Размер // 1024(в байтах)
знч Содержимое: Байты = ВходящееВложение.ПолучитьБайты()
// сохраним вложение на компьютер
пер НовыйФайл = новый Файл("C:/test/price_new.xlsx")
исп ПотокЗаписи = НовыйФайл.ОткрытьПотокЗаписи()
ПотокЗаписи.Записать(Содержимое)
ПотокЗаписи.Закрыть()
поймать Исключение : ИсключениеСистемыВзаимодействия
// Обработка исключения
;
//
// ... можно создать еще сообщения ...
//