---
title: Обсуждения
slug: bsp/обсуждения
---


## ОтправитьСообщение
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Отправляет сообщение пользователям от другого пользователя.
// Если между пользователями не было обсуждения,
// то будет создано отображаемое обсуждение.
//
// Выбрасывает исключение, если не удалось отправить сообщение.
//
// Параметры:
//   Автор - СправочникСсылка.Пользователи
//         - ПользовательСистемыВзаимодействия
//   Получатели - Массив из СправочникСсылка.Пользователи
//              - Массив из ПользовательСистемыВзаимодействия
//   Сообщение - см. ОписаниеСообщения
//   ОбсуждениеКонтекст - ЛюбаяСсылка - сообщение будет отправлено в контекстное обсуждение.
//                      - ИдентификаторОбсужденияСистемыВзаимодействия - сообщение будет отправлено в указанное обсуждение.
//                      - Неопределено - сообщение будет отправлено в негрупповое обсуждение между автором и получателем.
//
// Пример:
// Сообщение = Обсуждения.ОписаниеСообщения("Привет, мир!");
// Получатель = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Администратор);
// Обсуждения.ОтправитьСообщение(Пользователи.ТекущийПользователь(), Получатель, Сообщение);
//
Процедура ОтправитьСообщение(Знач Автор, Знач Получатели, Сообщение, ОбсуждениеКонтекст = Неопределено) Экспорт
```

Пример вызова
```bsl
Обсуждения.ОтправитьСообщение(Автор, Получатели, Сообщение, ОбсуждениеКонтекст);
```
</details>

## ОтправитьУведомление
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Отправляет сообщение всем участникам неконтекстного обсуждения.
// Если обсуждение контекстное, то будет отправление сообщение без адресатов.
//
// Выбрасывает исключение, если не удалось отправить сообщение.
//
// Параметры:
//   Автор - СправочникСсылка.Пользователи
//         - ПользовательСистемыВзаимодействия
//   Сообщение - см. ОписаниеСообщения.
//   ОбсуждениеКонтекст - ЛюбаяСсылка - сообщение будет отправлено в контекстное обсуждение.
//                      - ИдентификаторОбсужденияСистемыВзаимодействия - сообщение будет отправлено в указанное обсуждение.
//
// Пример:
// Сообщение = Обсуждения.ОписаниеСообщения("Привет, мир!");
// Обсуждения.ОтправитьУведомление(Пользователи.ТекущийПользователь(), Сообщение, ЗаказКлиента);
//
Процедура ОтправитьУведомление(Знач Автор, Сообщение, ОбсуждениеКонтекст) Экспорт
```

Пример вызова
```bsl
Обсуждения.ОтправитьУведомление(Автор, Сообщение, ОбсуждениеКонтекст) 
```
</details>

## СистемаВзаимодействийПодключена
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает Истина, если метод ИнформационнаяБазаЗарегистрирована
// объекта СистемаВзаимодействия возвращает Истина и
// использование не заблокировано администратором.
//
// Возвращаемое значение:
//   Булево
//
Функция СистемаВзаимодействийПодключена() Экспорт
```

Пример вызова
```bsl
Результат = Обсуждения.СистемаВзаимодействийПодключена() 
```
</details>

## ОбсужденияДоступны
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Возвращает Истина, если метод ИспользованиеДоступно
// объекта СистемаВзаимодействия возвращает Истина и
// использование не заблокировано администратором.
//
// Возвращаемое значение:
//   Булево
//
Функция ОбсужденияДоступны() Экспорт
```

Пример вызова
```bsl
Результат = Обсуждения.ОбсужденияДоступны() 
```
</details>

## ПользователиИнформационнойБазы
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Формирует соответствие между идентификаторами пользователей системы взаимодействия
// и элементами справочника Пользователи.
//
// Параметры:
//   ПользователиСистемыВзаимодействия - Массив из ИдентификаторПользователяСистемыВзаимодействия
//                                     - КоллекцияИдентификаторовПользователейСистемыВзаимодействия
//
// Возвращаемое значение:
//   Соответствие из КлючИЗначение:
//   * Ключ - ИдентификаторПользователяСистемыВзаимодействия
//   * Значение - см. ПользовательИнформационнойБазы
//
Функция ПользователиИнформационнойБазы(ПользователиСистемыВзаимодействия) Экспорт
```

Пример вызова
```bsl
Результат = Обсуждения.ПользователиИнформационнойБазы(ПользователиСистемыВзаимодействия)
```
</details>

## ПользовательИнформационнойБазы
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Выполняет поиск элемента справочника Пользователи по идентификатору пользователя Системы Взаимодействия.
//
// Выбрасывает исключение, если пользователь не был найден.
//
// Параметры:
//   ПользовательСистемыВзаимодействия - ИдентификаторПользователяСистемыВзаимодействия.
//
// Возвращаемое значение:
//   СправочникСсылка.Пользователи
//
Функция ПользовательИнформационнойБазы(ПользовательСистемыВзаимодействия) Экспорт
```

Пример вызова
```bsl
Результат = Обсуждения.ПользовательИнформационнойБазы(ПользовательСистемыВзаимодействия) 
```
</details>

## ПользователиСистемыВзаимодействия
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Формирует соответствие между элементами справочника Пользователи
// и идентификаторами пользователей системы взаимодействия.
//
// Если пользователь не найден, то будет попытка создать пользователя системы взаимодействия.
// Если пользователь не найден и при создании нового пользователя было выброшено исключение,
// то возвращается Неопределено.
//
// Параметры:
//   ПользователиИнформационнойБазы - Массив из СправочникСсылка.Пользователи
//
// Возвращаемое значение:
//   Соответствие из КлючИЗначение:
//   * Ключ - СправочникСсылка.Пользователи
//   * Значение - ПользовательСистемыВзаимодействия
//
Функция ПользователиСистемыВзаимодействия(ПользователиИнформационнойБазы) Экспорт
```

Пример вызова
```bsl
Результат = Обсуждения.ПользователиСистемыВзаимодействия(ПользователиИнформационнойБазы) 
```
</details>

## ПользовательСистемыВзаимодействия
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Получает идентификатор пользователя системы взаимодействия.
// Если пользователь не найден, то будет выполнена попытка создать нового пользователя.
//
// Выбрасывает исключение, если:
// - не удалось получить идентификатор пользователя информационной базы;
// - не удалось создать пользователя системы Взаимодействия.
//
// Параметры:
//  Пользователь - СправочникСсылка.Пользователи
//               - СправочникОбъект.Пользователи
//
//  ТолькоИдентификатор - Булево - если указать Истина, то возвращается не пользователь,
//                                 а идентификатор пользователя, что быстрее.
//
// Возвращаемое значение:
//   ПользовательСистемыВзаимодействия - если ТолькоИдентификатор = Ложь.
//   ИдентификаторПользователяСистемыВзаимодействия - если ТолькоИдентификатор = Истина.
//
Функция ПользовательСистемыВзаимодействия(Пользователь, ТолькоИдентификатор = Ложь) Экспорт
```

Пример вызова
```bsl
Результат = Обсуждения.ПользовательСистемыВзаимодействия(Пользователь, ТолькоИдентификатор);
```
</details>

## ОбновитьПользователяВСистемеВзаимодействия
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Обновляет дополнительную информацию пользователя системы взаимодействия.
// Например, телефон и адрес электронной почты.
// Если пользователь системы взаимодействия еще не создан, то будет создан новый пользователь
// системы взаимодействия.
//
// Выбрасывает исключение, если обновить пользователя системы взаимодействия не удалось.
//
// Параметры:
//   Пользователь - СправочникСсылка.Пользователи
//                - СправочникОбъект.Пользователи
//
Процедура ОбновитьПользователяВСистемеВзаимодействия(Пользователь) Экспорт
```

Пример вызова
```bsl
Обсуждения.ОбновитьПользователяВСистемеВзаимодействия(Пользователь) 
```
</details>

## ОписаниеСообщения
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Формирует описание сообщение для отправки сообщения через процедуры
// и функции подсистемы Обсуждения.
//
// Параметры:
//   Текст - Строка - текст сообщения системы Взаимодействия
//         - ФорматированнаяСтрока
//
// Возвращаемое значение:
//   Структура:
//   * Текст - ФорматированнаяСтрока
//   * Вложения - Массив из см. ОписаниеВложения
//   * Данные - Неопределено - см. синтакс-помощник СообщениеСистемыВзаимодействия
//   * Действия - СписокЗначений - см. синтакс-помощник СообщениеСистемыВзаимодействия
//
Функция ОписаниеСообщения(Знач Текст) Экспорт
```

Пример вызова
```bsl
Результат = Обсуждения.ОписаниеСообщения(Текст) 
```
</details>

## ОписаниеВложения
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Формирует описание вложения для отправки сообщения через процедуры
// и функции подсистемы Обсуждения.
//
// Параметры:
//   Поток - Поток - поток, из которого будет создано вложение системы Взаимодействия.
//         - ПотокВПамяти
//         - ФайловыйПоток
//   Наименование - Строка - имя вложения.
//
// Возвращаемое значение:
//   Структура:
//   * Поток - Поток - поток, из которого будет создано вложение системы взаимодействия.
// 			- ПотокВПамяти
// 			- ФайловыйПоток
//   * Наименование - Строка
//   * ТипСодержимого - Строка
//   * Отображаемое - Булево - значение по умолчанию Истина
//
Функция ОписаниеВложения(Поток, Наименование) Экспорт
```

Пример вызова
```bsl
Результат = Обсуждения.ОписаниеВложения(Поток, Наименование) 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
