Получение и создание обсуждений

Для отправки и получения сообщений нужно получить обсуждения. Для этого СистемаВзаимодействия имеет несколько методов:

  • ПолучитьНепрочитанныеОбсуждения() — возвращает список идентификаторов непрочитанных обсуждений. Количество можно выставить в параметре ЛимитОбсуждений. Максимальное число обсуждений, полученных за один раз, не может превышать 100 (даже если таких обсуждений больше).
  • ПолучитьОбсуждения() — возвращает список обсуждений, которые соответствуют указанным в параметрах идентификаторам.
  • ПолучитьОбсуждение() — возвращает обсуждение системы взаимодействия (ОбсуждениеСистемыВзаимодействия) по его идентификатору или ключу.
  • СоздатьОбсуждение () — создает новое групповое обсуждение с указанными в методе параметрами.
  • СоздатьЛичноеОбсуждение() — создает новое обсуждение между двумя пользователями.

Создание обсуждения, сообщения, получение непрочитанных сообщений

пер ИдПользователя1 : Ууид = Ууид{84eb3ebb-95ae-4dea-a025-adfa8961703c}
пер ИдПользователя2 : Ууид = Ууид{4d4d65dc-0074-424e-8da5-b518afce7a97}
 
пер Ключи = новый КлючиПриложения()
"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJMNOm9mUN60O/y
lCd0yenNt06L54+x56dUq+ot8s+NnznsfkfY8ieNUqAN/T00kP4qMRKCVgdZbJP+pgSDykB0
CAwEAAQ==",
"MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkE
Akw06b2ZQ3rQ7/KUJ3TJ6c23Tovnj7Hnp1Sr6i3yz42fOex+R9jyJ41SoA39PTSQ/ioxEoJW
B1lsk/6mBIPKQHQIDAQABAkAqxpZRAXpUzikE/R05cw2btj7yEa7zgyM6Fx56pPPPGlpaUC4
J11nOFuEspEJFQLA0UJqqFjYGl4IQ4qFaYzYhAiEAxHwKpJGKEXd1aSA6CT2bVSzIAeOnIbU
QP5rgLAb75VMCIQC/mAZP/BkDyhOuIq/2wkEwIIWk5AXmkJ7lR+7La1UWzwIhAL+mDet/WiC
3WHp1yKYCxWRLDbtqBjdGmNaxhj7rgP+pAiEApdpYPI0iqmEXwDpO0PE/tQWyKxco9Hpk0l3
+nSEAu4kCIQC0JJQGKrl69Jsuqo/WkFNJRfyMfqDARTVsw/Bfl6IRBA==")
 
пер ПараметрыПриложенияСВ : ПараметрыПриложенияСистемыВзаимодействия =
 новый ПараметрыПриложенияСистемыВзаимодействия(
    Ууид{6c659615-0741-4e56-0000-6705c2a35298},
    "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ6llGLMKFMHHnI4/gz0WPh8a6b31hOBO+jc1QkQoWzOmbtCR9wssUdxhKky
    2v/+Ec7FFBmuW1gj0viBW0bYeqkCAwEAAQ=="
)
 
пер ИдПользователяСВ1 : Ууид = Ууид{e73c3871-f252-44bb-9a87-d5a36b74b72c}
пер ИдПользователяСВ2 : Ууид = Ууид{eb649265-60f3-4ea4-978a-5ef6c7b9454c}
 
пер ИдОбсуждения : Ууид
пер ИдСообщения : Ууид
 
// подключение (пользователь1)
try
    СистемаВзаимодействия.Подключиться("wss://develop.ecs.test:9094?transport=websocket&version=4",
                                        "C:\\keystore.jks",
                                        "passpass",
                                        "passpass")
    СистемаВзаимодействия.Войти(ИдПользователя1, Ключи, "ИмяПользователя1", "ПолноеИмяПользователя1", ПараметрыПриложенияСВ)
   
catch E : CollaborationSystemException
    Console.WriteError("Ошибка системы взаимодействия: " + E)
;
 
// создание обсуждения (пользователь1 с пользователем2)
try
    пер НазваниеОбсуждения = "Название обсуждения"
    пер КлючОбсуждения = "Ключ обсуждения"
   
    ИдОбсуждения = СистемаВзаимодействия.СоздатьОбсуждение([ИдПользователяСВ1, ИдПользователяСВ2], НазваниеОбсуждения, КлючОбсуждения)
    Консоль.Write("Сохраните идентификатор обсуждения системы взаимодействия : " + ИдОбсуждения)
catch E : CollaborationSystemException
    Console.WriteError("Не удалось 'СоздатьОбсуждение': " + E)
;
   
// создание сообщения (от пользователя1 к пользователю2)
try
    пер МассивПолучателейСообщения : Массив = новый ИзменяемыйМассив(1)
    МассивПолучателейСообщения.Добавить(ИдПользователяСВ2)
  
  
    пер ТекстСообщения : Строка = "Привет, пользователь!"
    ИдСообщения = СистемаВзаимодействия.СоздатьСообщение(ИдОбсуждения, МассивПолучателейСообщения, ТекстСообщения)
   
    Консоль.Write("Сохраните идентификатор сообщения системы взаимодействия : " + ИдСообщения)
catch E : CollaborationSystemException
    Console.WriteError("Не удалось 'СоздатьСообщение': " + E)
;
 
//
// ... можно создать еще сообщения ...
//
   
// отключение (пользователь1)
СистемаВзаимодействия.Отключиться()
   
// подключение (пользователь2)
try
    СистемаВзаимодействия.Подключиться("wss://develop.ecs.test:9094?transport=websocket&version=4",
                                        "C:\\keystore.jks",
                                        "passpass",
                                        "passpass")
    СистемаВзаимодействия.Войти(ИдПользователя2, Ключи, "ИмяПользователя2", "ПолноеИмяПользователя2", ПараметрыПриложенияСВ)
   
catch E : CollaborationSystemException
    Console.WriteError("Ошибка системы взаимодействия: " + E)
;
 
// получение непрочитанных сообщений
try
    пер МассивНовыхСообщений = СистемаВзаимодействия.ПолучитьНепрочитанныеСообщения(ИдОбсуждения)
   
    Консоль.Write("Непрочитанные сообщения: ")
    для Сообщение из МассивНовыхСообщений
        Консоль.Write("Сообщение # " + Сообщение.Идентификатор + " : " + Сообщение.Текст)
    ;
   
catch E : CollaborationSystemException
    Console.WriteError("Не удалось 'ПолучитьНепрочитанныеСообщения': " + E)
;
   
// отключение (пользователь2)
СистемаВзаимодействия.Отключиться()

Получение непрочитанных обсуждений и сообщений

пер ИдПользователя : Ууид = Ууид{84eb3ebb-95ae-4dea-a025-adfa8961703c}
   
пер Ключи = новый КлючиПриложения()
"MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJMNOm9mUN60O/y
lCd0yenNt06L54+x56dUq+ot8s+NnznsfkfY8ieNUqAN/T00kP4qMRKCVgdZbJP+pgSDykB0
CAwEAAQ==",
"MIIBVgIBADANBgkqhkiG9w0BAQEFAASCAUAwggE8AgEAAkE
Akw06b2ZQ3rQ7/KUJ3TJ6c23Tovnj7Hnp1Sr6i3yz42fOex+R9jyJ41SoA39PTSQ/ioxEoJW
B1lsk/6mBIPKQHQIDAQABAkAqxpZRAXpUzikE/R05cw2btj7yEa7zgyM6Fx56pPPPGlpaUC4
J11nOFuEspEJFQLA0UJqqFjYGl4IQ4qFaYzYhAiEAxHwKpJGKEXd1aSA6CT2bVSzIAeOnIbU
QP5rgLAb75VMCIQC/mAZP/BkDyhOuIq/2wkEwIIWk5AXmkJ7lR+7La1UWzwIhAL+mDet/WiC
3WHp1yKYCxWRLDbtqBjdGmNaxhj7rgP+pAiEApdpYPI0iqmEXwDpO0PE/tQWyKxco9Hpk0l3
+nSEAu4kCIQC0JJQGKrl69Jsuqo/WkFNJRfyMfqDARTVsw/Bfl6IRBA==")
   
пер ПараметрыПриложенияСВ = новый ПараметрыПриложенияСистемыВзаимодействия(
    Ууид{6c659615-0741-4e56-0000-6705c2a35298},
    "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAJ6llGLMKFMHHnI4/gz0WPh8a6b31hOBO+j
    c1QkQoWzOmbtCR9wssUdxhKky2v/+Ec7FFBmuW1gj0viBW0bYeqkCAwEAAQ=="
)
   
пер ИдПользователяСВ = Ууид{d5078b4e-416c-4d42-943a-eb3fff1541d6}
попытка
    СистемаВзаимодействия.Подключиться("wss://develop.ecs.test:9094?transport=websocket&version=4",
                                        "C:\\keystore.jks",
                                        "passpass",
                                        "passpass")
    ИдПользователяСВ1 = СистемаВзаимодействия.Войти(Ключи, ИдПользователя, "ИмяПользователя", "ПолноеИмяПользователя", ПараметрыПриложенияСВ)
 
    // получаем непрочитанные обсуждения
    пер МассивИдентификаторовНепрочитанныхОбсуждений = СистемаВзаимодействия.ПолучитьНепрочитанныеОбсуждения(10)
   
    // получаем непрочитанные сообщения каждого непрочитанного обсуждения (выдаются в хронологическом порядке)    
    для ИдентификаторНепрочитанногоОбсуждения из МассивИдентификаторовНепрочитанныхОбсуждений
        Консоль.Записать("Обсуждение # " + ИдентификаторНепрочитанногоОбсуждения)
   
        пер МассивНовыхСообщений = СистемаВзаимодействия.ПолучитьНепрочитанныеСообщения(ИдентификаторНепрочитанногоОбсуждения)
        для Сообщение из МассивНовыхСообщений
            Консоль.Записать("Сообщение # " + Сообщение.Идентификатор + " : " + Сообщение.Текст)
   
            // устанавливаем прочитанное сообщение как последнее прочитанное
            СистемаВзаимодействия.УстановитьПоследнееПрочитанноеСообщение(ИдентификаторНепрочитанногоОбсуждения, Сообщение.Идентификатор)
        ;
    ;
   
поймать E : CollaborationSystemException
    Console.WriteError("Ошибка системы взаимодействия: " + E)
;
   
// отключение
СистемаВзаимодействия.Отключиться()