---
title: Обработка новостей служебный
slug: erp-uh/обработка-новостей-служебный
---


## ОптимизироватьОтборыПоНовостям
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

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

```bsl

// Процедура удаляет из регистров сведений ОтборыПоЛентамНовостейОбщие, ОтборыПоЛентамНовостейДляОбластиДанных
//   и ОтборыПоЛентамНовостейПользовательские категории значения категорий, которые некорректны.
// Некорректными записями этих регистров считаются:
//  1. записи с категориями, которых нет в табличной части "ДоступныеКатегорииНовостей" в ленте новостей;
//  2. общие отборы по области данных, по значениям категорий, по которым уже установлен общий отбор (неразделенный),
//     а значения отбора по области данных не входят в подмножество общего отбора (неразделенного)
//     (например, общий отбор (неразделенный): География = Москва, Хабаровск,
//     а отбор по области данных установили География = Киев);
//  3. пользовательские отборы по категориям, по которым в ленте новостей установлен признак
//     РазрешеноНастраиватьПользователям = Ложь, (за исключением записей,
//     у которых реквизит УстановленоПрограммно = Истина);
//  4. пользовательские отборы, по значениям категорий, по которым уже установлен общий отбор
//     (неразделенный или по области данных), а значения пользовательского отбора не входят
//     в подмножество общего отбора (неразделенного или по области данных) (например, общий отбор:
//     География = Москва, Хабаровск, а пользователь установил География = Киев);
// Такие ситуации возможны, если:
//  а) со временем из какой-то ленты новостей удалили категории;
//  б) администратор со временем отключил пользователям возможность настраивать какие-то категории
//     (но программно может задавать им отборы);
//  в) администратор со временем изменил общие неразделенные отборы;
//  г) администратор со временем изменил общие отборы по области данных.
// Процедура должна вызываться после получения новостей, но перед пересчетом отборов (ПересчитатьОтборыПоНовостям_*).
// При работе в локальном режиме может запускаться без ограничений.
// При работе в модели сервиса:
//   - если запущена из неразделенного сеанса (регламентным заданием), то пересчитает и общие,
//       и общие для области данных, и пользовательские отборы;
//   - если запущена из разделенного сеанса (обработчик обновления каждой области данных),
//       то пересчитает только общие для области данных и пользовательские отборы.
//
// Параметры:
//  КонтекстВыполнения - Структура, Неопределено - структура контекста выполнения.
//
Процедура ОптимизироватьОтборыПоНовостям(КонтекстВыполнения = Неопределено) Экспорт
```

Пример вызова
```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

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

Пример вызова
```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

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

Пример вызова
```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

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

Пример вызова
```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

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

Пример вызова
```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

// Функция возвращает таблицу новостей для определенного объекта метаданных, имени формы и события.
// Настроенные пользователем отборы НЕ накладываются.
// При вызове из неразделенного сеанса в модели сервиса будет ошибка.
//
// Параметры:
//  СписокЛентНовостей           - СписокЗначений, Массив, Неопределено - в каких лентах новостей искать новость;
//  ИмяМетаданных                - Строка (50) - имя метаданных, обязательная часть идентификатора новости;
//  ИмяФормы                     - Строка (50), Неопределено - имя формы, необязательная часть идентификатора новости;
//  ИмяСобытия                   - Строка (50), Неопределено - имя события, необязательная часть идентификатора новости;
//  Вариант                      - Строка:
//    * если = "Для форм, все поля", то выводить подробную таблицу, с событиями и именами форм - в этом случае новости
//       будут встречаться по два раза. Этот вариант нужен для заполнения реквизита Новости справочников
//       и документов (чтобы при возникновении события можно было показать новость).
//    * если = "Для форм, простой", то выводить таблицу с именами форм, но без событий
//              (удобно для получения уникального списка новостей).
//    * если = "Для формы контекстных новостей", то выводить сжатую таблицу с уникальностью по новостям.
//       Этот вариант нужен для формы контекстных новостей;
//  НастройкиПолученияНовостей   - Структура, Неопределено - структура с ключами:
//   * ПолучатьКатегорииНовостей - Булево - если Истина, то в реквизите формы будут также сохраняться
//                                  категории новостей. Это может быть полезно для реализации особенного
//                                  отбора новостей, который невозможно реализовать
//                                  с помощью регистров сведений ОтборыПоЛентамНовостей*.
//
// Возвращаемое значение:
//  ТаблицаЗначений  - результат получения:
//    * НомерСтрокиНовости      - Число - для реализации нажатия в подменю формы;
//    * ЛентаНовостей           - СправочникСсылка.ЛентаНовостей;
//    * Новость                 - СправочникСсылка.Новости;
//    * НовостьНаименование     - Строка (100) - заголовок новости;
//    * НовостьПодзаголовок     - Строка (100) - подзаголовок новости;
//    * НовостьКодЛентыНовостей - Строка (20) - код ленты новостей;
//    * УИННовости              - Строка (255) -;
//    * ДатаПубликации          - Дата;
//    * Важность                - Число (1,0) - рассчитанная на текущую дату контекстная важность
//                                  (с учетом даты сброса контекстной важности);
//    * Актуальность            - Булево - рассчитанная на текущую дату актуальность (с учетом даты завершения новости);
//    * Метаданные              - Строка (50);
//    * Форма                   - Строка (50);
//    * Событие                 - Строка (50) // Для варианта "Для форм, простой" - пустая строка;
//    * ПоказыватьВФормеОбъекта - Булево // Для варианта "Для форм, простой" - всегда ЛОЖЬ;
//    * ЭтоПостояннаяНовость    - Булево // Для варианта "Для форм, простой" - всегда ЛОЖЬ;
//    * Прочтена                - Булево;
//    * ОповещениеВключено      - Булево // Ложь, если ДатаНачалаОповещения > ТекущаяУниверсальнаяДата();
//    * ДатаНачалаОповещения    - Дата // Для варианта "Для форм, простой" - всегда пустая дата (01.01.0001);
//    * ИконкаНовости           - Картинка, Неопределено - иконка важной новости;
//    * СпособОповещения        - Строка - имя перечисления СпособыОповещенияПользователяОНовостях.
//
Функция ПолучитьКонтекстныеНовости( Экспорт
```

Пример вызова
```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

// Функция возвращает структуру новости из массива структур контекстных новостей.
// Массив структур готовится с помощью ОбщегоНазначения.ТаблицаЗначенийВМассив(ПолучитьКонтекстныеНовости(...)).
//
// Параметры:
//  АдресМассиваНовостей - Строка - Адрес временного хранилища;
//  НомерСтрокиНовости  - Число  - идентификатор новости, которую необходимо найти по значению ключа НомерСтрокиНовости.
//
// Возвращаемое значение:
//   Структура - структура с ключами:
//    * НомерСтрокиНовости      - Число - для реализации нажатия в подменю формы;
//    * ЛентаНовостей           - СправочникСсылка.ЛентаНовостей;
//    * Новость                 - СправочникСсылка.Новости;
//    * НовостьНаименование     - Строка (100) - заголовок новости;
//    * НовостьПодзаголовок     - Строка (100) - подзаголовок новости;
//    * УИННовости              - Строка (255) -;
//    * ДатаПубликации          - Дата;
//    * Важность                - Число (1,0) - рассчитанная на текущую дату контекстная важность
//                                  (с учетом даты сброса контекстной важности);
//    * Актуальность            - Булево - рассчитанная на текущую дату актуальность (с учетом даты завершения новости);
//    * Метаданные              - Строка (50);
//    * Форма                   - Строка (50);
//    * Событие                 - Строка (50) // Для варианта "Для форм, простой" - пустая строка;
//    * ПоказыватьВФормеОбъекта - Булево // Для варианта "Для форм, простой" - всегда ЛОЖЬ;
//    * ЭтоПостояннаяНовость    - Булево // Для варианта "Для форм, простой" - всегда ЛОЖЬ;
//    * Прочтена                - Булево;
//    * ОповещениеВключено      - Булево;
//    * ДатаНачалаОповещения    - Дата // Для варианта "Для форм, простой" - всегда пустая дата (01.01.0001).
//
Функция НайтиКонтекстнуюНовостьВМассиве(АдресМассиваНовостей, НомерСтрокиНовости) Экспорт
```

Пример вызова
```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

// Процедура выполняет все обновления новостей:
//   1. Получение и обработка новостей с серверов новостных центров
//       (ежеминутно, каждые 15 минут, каждый час, ежедневно);
//   2. Обновление классификаторов (ежедневно);
//   3. Автоудаление новостей (ежедневно);
//   4. Обновление периодических свойств (важность, актуальность) (каждые 30 минут);
//   5. Обновление привязок к метаданным (+ важность) (каждые 30 минут);
//   6. Проверка версии платформы (каждые 6 часов);
//
Процедура ВсеОбновленияНовостей() Экспорт
```

Пример вызова
```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

// Процедура выполняет все обновления новостей (для области данных):
//   1. Заполнение значений отборов.
//
Процедура ВсеОбновленияНовостейДляОбластиДанных(КонтекстВыполнения = Неопределено) Экспорт
```

Пример вызова
```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

// Процедура анализирует регистр сведений ДатыЗагрузкиПоследнихНовостей, и если по ленте новостей были проблемы
//  с получением новостей, то в этой ленте новостей будет создана специальная новость с предложением
//  отключить ленту новостей из автоматического обновления, чтобы не генерировать ненужный трафик или не заставлять
//  сервер зависать при обращении на несуществующий адрес.
// Новость о ошибке имеет фиксированный УИН - 6588f3f9-d569-478f-a370-7cd75d833966.
//
// Параметры:
//  КонтекстВыполнения - Структура, Неопределено - см. ОбработкаНовостейКлиентСервер.НовыйКонтекстВыполнения.
//
Процедура НайтиИОбработатьНеактивныеЛентыНовостей(КонтекстВыполнения = Неопределено) Экспорт
```

Пример вызова
```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

// Необходимо предусмотреть такой интервал запуска регламентного задания,
//  чтобы это не сильно влияло на производительность системы.
// Поэтому вместо фиксированного запуска 1 раз в 5 минут предусмотреть варианты:
// - 1 раз в 5 минут, если есть активные ленты новостей с такой частотой обновления;
// - 1 раз в 15 минут, если есть активные ленты новостей с такой частотой обновления;
// - иначе 1 раз в час.
// При запуске реже, чем 1 раз в 5 минут мы понимаем, что обновление вспомогательных данных будет проходить реже,
//  зато в целом система будет работать быстрее.
//
// Параметры:
//  АвтоопределениеЧастотыЗапуска - Булево - Истина, если необходимо проанализировать частоту запуска существующих лент новостей.
//
// Возвращаемое значение:
//   РасписаниеРегламентногоЗадания - расписание запуска регламентного задания "ВсеОбновленияНовостей".
//
Функция ПолучитьРасписаниеОбновленийНовостейНеразделенное(АвтоопределениеЧастотыЗапуска = Ложь) Экспорт
```

Пример вызова
```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

// Необходимо предусмотреть такой интервал запуска регламентного задания,
//  чтобы это не сильно влияло на производительность системы.
// Поэтому вместо фиксированного запуска 1 раз в 30 минут предусмотреть варианты:
// - 1 раз в 30 минут для коробки;
// - 1 раз в 6 часов для модели сервиса.
//
// Возвращаемое значение:
//   РасписаниеРегламентногоЗадания - расписание запуска регламентного задания "ВсеОбновленияНовостейДляОбластиДанных".
//
Функция ПолучитьРасписаниеОбновленийНовостейДляОбластиДанных() Экспорт
```

Пример вызова
```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

// Функция получает все необходимые данные по контекстным новостям.
// Может использоваться как при стратегии получения новостей в ПриСозданииНаСервере(),
//  так и в обработчике ожидания из ПриОткрытии() формы.
//
// Параметры:
//  ИдентификаторМетаданных           - Строка (50) - Идентификатор метаданных, должен совпадать с таким же
//                                       идентификатором в самой новости;
//  ИдентификаторФормы                - Строка (50) - Идентификатор формы, должен совпадать с таким же
//                                       идентификатором в самой новости;
//  ЗаголовокФормыКонтекстныхНовостей - Строка - Заголовок формы контекстных новостей (в случае, если будут новости
//                                       для отображения в этой форме);
//  ИдентификаторыСобытийПриОткрытии  - Строка, Массив - строка или массив строк идентификаторов события "ПриОткрытии".
//                                        Если передано какое-то значение, то будет подсчитано количество
//                                          очень важных контекстных новостей.
//                                        И если это количество > 0, то открывающая форма инициирует открытие формы
//                                          просмотра таких новостей;
//  НастройкиПолученияНовостей        - Структура, Неопределено - структура с ключами:
//   * ПолучатьКатегорииНовостей      - Булево - если Истина, то в реквизите формы будут также сохраняться
//                                        категории новостей. Это может быть полезно для реализации особенного
//                                        отбора новостей, который невозможно реализовать с помощью регистров
//                                        сведений ОтборыПоЛентамНовостей*.
//
// Возвращаемое значение:
//   Структура - структура контекстных новостей для указанной комбинации
//          ИдентификаторМетаданных / ИдентификаторФормы с ключами:
//     * ДатаЗаполнения                           - Дата - если прошло много времени, то обновить;
//     * Новости                                  - Массив из Структура:
//        ** НомерСтрокиНовости      - Число - номер строки;
//        ** ЛентаНовостей           - СправочникСсылка.ЛентаНовостей - лента новостей;
//        ** Новость                 - СправочникСсылка.Новости -ссылка;
//        ** НовостьНаименование     - Строка -;
//        ** НовостьПодзаголовок     - Строка -;
//        ** УИННовости              - Строка -;
//        ** ДатаПубликации          - Дата -;
//        ** Важность                - Число -;
//        ** Актуальность            - Булево -;
//        ** Метаданные              - Строка -;
//        ** Форма                   - Строка -;
//        ** Событие                 - Строка -;
//        ** ПоказыватьВФормеОбъекта - Булево -;
//        ** ЭтоПостояннаяНовость    - Булево -;
//        ** Прочтена                - Булево -;
//        ** ОповещениеВключено      - Булево -;
//        ** ДатаНачалаОповещения    - Дата - ;
//        ** СпособОповещения        - Строка - имя перечисления СпособыОповещенияПользователяОНовостях для Ленты новостей;
//     * ЗаголовокФормыКонтекстныхНовостей        - Строка;
//     * КоличествоНовостей                       - Число - общее количество уникальных новостей
//          для этих метаданных / формы;
//     * КоличествоНепрочитанныхНовостей          - Число - общее количество уникальных непрочтенных новостей
//          для этих метаданных / формы;
//     * КоличествоВажныхНовостейПриОткрытии      - Число - количество важных новостей,
//          которые надо показать при открытии;
//     * КоличествоОченьВажныхНовостейПриОткрытии - Число - количество очень важных новостей,
//          которые надо показать при открытии;
//     * КоличествоПостоянныхНовостей             - Число - количество новостей с признаком ЭтоПостояннаяНовость;
//     * МассивСтруктурВажныхНовостей             - Массив структур - важные новости,
//         которые необходимо показать при открытии;
//        ** Новость                 - СправочникСсылка.Новости - ссылка на новость;
//        ** НавигационнаяСсылка     - Строка - навигационная ссылка;
//        ** НовостьНаименование     - Строка - заголовок;
//        ** НовостьПодзаголовок     - Строка - подзаголовок;
//        ** НовостьКодЛентыНовостей - Строка - код ленты новостей;
//        ** ОповещениеВключено      - Булево - признак того, что новость необходимо показать;
//        ** ИконкаНовости           - Картинка, Неопределено - картинка важной новости;
//        ** СпособОповещения        - Строка - имя перечисления СпособыОповещенияПользователяОНовостях;
//     * МассивСтруктурПостоянныхНовостей         - Массив структур - новости, которые можно использовать
//             для формирования информационных ссылок;
//        ** Новость             - СправочникСсылка.Новости - ссылка на новость;
//        ** НовостьНаименование - Строка - заголовок новости (для формирования представления).
//
Функция ПолучитьКонтекстныеНовостиДляФормы( Экспорт
```

Пример вызова
```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>

## ПолучитьРедакторовЛентыНовостей
<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

// АПК:142-выкл 5 необязательных параметров.

// Процедура записывает сообщение в журнал регистрации.
//
// Параметры:
//  ИмяСобытия                      - строка;
//  ИдентификаторШага               - строка;
//  УровеньРегистрации              - строковое представление константы УровеньЖурналаРегистрации;
//  ОбъектМетаданных                - строковое представление объекта метаданных;
//  Данные                          - данные;
//  Комментарий                     - строка - произвольный комментарий;
//  ВестиПодробныйЖурналРегистрации - Булево - признак записи незначащих событий (Информации и Примечания).
//
Процедура ЗаписатьСообщениеВЖурналРегистрации( Экспорт
```

Пример вызова
```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

// АПК:142-вкл

// Выгружает журнал регистрации по событиям во временное хранилище.
//
// Параметры:
//  ПараметрыОтбора - Структура - структура с ключами:
//   * ДатаНачала    - Дата - начало периода журнала;
//   * ДатаОкончания - Дата - конец периода журнала;
//   * Событие       - Массив - массив событий (см. [МодульПодсистемыКлиентСервер].ПолучитьСписокВсехСобытийЖурналаРегистрации);
//   * Метаданные    - Массив, Неопределено - массив метаданных для отбора.
//  ПараметрыФайлаВыгрузки - Структура, Неопределено - структура с ключами:
//   * Архивировать - Булево - Истина, если необходимо архивировать выгрузку.
//
// Возвращаемое значение:
//   Структура - результат выгрузки с ключами:
//    * АдресВременногоХранилищаФайла - Строка - Адрес выгруженных данных в хранилище;
//    * ТекстОшибки - Строка - Текст ошибки или пустая строка.
//
Функция ВыгрузитьВсеСобытияЖурналаРегистрации(ПараметрыОтбора, ПараметрыФайлаВыгрузки = Неопределено) Экспорт
```

Пример вызова
```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

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

Пример вызова
```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

// Регистрирует завершение шага выполнения и возвращает последний шаг.
//
// Параметры:
//  КонтекстВыполнения          - Структура - см. возврат ОбработкаНовостейКлиентСервер.НачатьШагВыполнения;
//  КодРезультата               - Число - Произвольный код описания возврата, 0 = нет ошибок;
//  ОписаниеРезультата          - Строка, Массив - произвольное описание результата шага.
//                                  Массив будет преобразован в строку с разделителями;
//  ВложенныйКонтекстВыполнения - Неопределено или Массив - массив вложенных шагов выполнения.
//
// Возвращаемое значение:
//   Структура - список ключей см. в ОбработкаНовостейКлиентСервер.НовыйОписательШагаВыполнения.
//
Функция ЗавершитьШагВыполнения(КонтекстВыполнения, КодРезультата, ОписаниеРезультата, ВложенныйКонтекстВыполнения = Неопределено) Экспорт
```

Пример вызова
```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

// Регистрирует и начало и завершение шага выполнения и возвращает этот шаг.
//
// Параметры:
//  КонтекстВыполнения - Структура - см. возврат ОбработкаНовостейКлиентСервер.НачатьШагВыполнения;
//  ИдентификаторШага  - Строка - Произвольный идентификатор.
//  КодРезультата      - Число - Произвольный код описания возврата, 0 = нет ошибок;
//  ОписаниеРезультата - Строка, Массив - произвольное описание результата шага. Массив будет преобразован в строку с разделителями;
//  ВремяНачала        - Число - Время начала выполнения (ТекущаяУниверсальнаяДатаВМиллисекундах).
//                          Если не указано, то общее время выполнения шага = 0.
//
// Возвращаемое значение:
//   Структура - список ключей см. в ОбработкаНовостейКлиентСервер.НовыйОписательШагаВыполнения.
//
Функция ДобавитьШагВыполнения(КонтекстВыполнения, ИдентификаторШага, КодРезультата, ОписаниеРезультата, ВремяНачала = 0) Экспорт
```

Пример вызова
```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

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

Пример вызова
```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

// Процедура по ссылке на ленту новостей дополняет стандартные значения.
// По-умолчанию стандартные значения берутся из макетов справочника Новости с именем "СтандартныеЗначения_<КодЛентыНовостей>".
//
// Параметры:
//  ЛентаНовостей - СправочникСсылка.ЛентыНовостей - Ссылка на ленту новостей, в которую необходимо загрузить данные;
//  СтандартныеЗначения - Соответствие - Сюда необходимо добавить свои тексты стандартных значений.
//                                       Тексты должны быть оформлены в формате XML так же, как это сделано
//                                         в макете СтандартныеЗначения нужного объекта метаданных:
//                                      * Ключ - произвольный идентификатор;
//                                      * Значение - Текст в формате XML.
//
Процедура ПолучитьДополнительныеСтандартныеЗначенияНовостей(ЛентаНовостей, СтандартныеЗначения) Экспорт
```

Пример вызова
```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

// Если после получения и записи классификатора надо что-то сделать, то это можно сделать в этой процедуре.
// Классификатор уже записан в базу данных, поэтому можно менять связанные справочники и регистры сведений.
// Для обеспечения целостности приходящих с серверов 1С данных, обработчика ПередЗаписью нет,
//  т.е. манипулировать отменой записи нельзя. Также отсутствует параметр Отказ.
//
// Параметры:
//  КлассификаторСсылка - СправочникСсылка - Классификатор, который был только что записан.
//
Процедура ДополнительноОбработатьКлассификаторПослеПолученияПослеЗаписи(КлассификаторСсылка) Экспорт
```

Пример вызова
```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

// Устанавливает состояние подсистемы.
//
// Параметры:
//  СостояниеПодсистемы - Строка - Допустимые состояния:
//    * Активна - подсистема работает в штатном режиме, все новости показываются;
//    * ТребуетсяПересчетОтборовПослеДлительногоОжидания - база долго не запускалась, возможно устарели все отборы.
//        Никакие новости не показываются, пока не будут пересчитаны отборы. Не более 1 часа;
//    * СейчасЗагружаютсяНовости - в данный момент происходит загрузка новостей, после которой будут пересчитываться отборы.
//        Новые и обновленные  новости в этот момент показывать НЕ надо (т.к. могли измениться отборы); Не более 6 часов;
//
Процедура УстановитьСостояниеПодсистемы(СостояниеПодсистемы) Экспорт
```

Пример вызова
```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>

## ПолучитьОписательКатегорииНовостей
<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).

---
