Skip to content

Обработка новостей

РазрешитьРаботуСНовостями

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

Пример вызова

ОбработкаНовостей.РазрешитьРаботуСНовостями(КонтекстВыполнения);

ЗапретитьРаботуСНовостями

Описание, пример вызова
// Отключает работу с новостями.
// Возможно использование в коробке или в неразделенном сеансе при работе в модели сервиса.
// Пример использования: при старте программы запретить новости (т.к. работает "мастер первоначальной настройки"),
// а после завершения работы мастера разрешить работу с новостями.
// При попытке запуска в модели сервиса в разделенном сеансе будет выдано исключение.
//
// Параметры:
// КонтекстВыполнения - Структура, Неопределено - см. ОбработкаНовостейКлиентСервер.НоваяЗаписьРезультатовВыполненияОпераций,
// а также дополнительные ключи:
// * ДополнительныеСвойства - Структура - будет передано в менеджер значения константы без изменений.
//
Процедура ЗапретитьРаботуСНовостями(КонтекстВыполнения = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.ЗапретитьРаботуСНовостями(КонтекстВыполнения);

УстановитьСостояниеНовостейДляПользователей

Описание, пример вызова
// Процедура устанавливает одинаковые состояния для новостей в текущей области данных.
// Это полезно, например, при первом старте программы (при создании из cf),
// когда необходимо отключить оповещения и поставить признак прочтенности
// у всех новостей для предыдущих версий программы.
// Так как справочник Пользователи разделенный, то в модели сервиса процедуру
// можно запускать только в разделенном сеансе.
//
// Параметры:
// ВыбранныеПользователи - Массив из СправочникСсылка.Пользователи, СправочникСсылка.Пользователи, Неопределено - Массив пользователей
// или единственный пользователь, для которых необходимо установить состояния новостей;
// СтруктураОтборов - Структура - структура со значениями отборов. Возможные ключи:
// * СписокНовостей - СписокЗначений - список новостей. Если параметр установлен,
// то остальные параметры отбора игнорируются;
// * СписокЛентНовостей - СписокЗначений - список лент новостей. Если не указан, то по всем.;
// * ИнтервалВерсийПродукта - Структура - отбор по версиям продукта. Содержит ключи:
// * Продукт - Строка - наименование продукта;
// * ВерсияОТ - Строка - начальная версия в формате 99.99.999.9999;
// * ВерсияДО - Строка - конечная версия в формате 99.99.999.9999;
// * ИнтервалВерсийПлатформы - Структура - отбор по версиям платформы. Содержит ключи:
// * ВерсияОТ - Строка - начальная версия в формате 99.99.999.9999;
// * ВерсияДО - Строка - конечная версия в формате 99.99.999.9999;
// ЗначенияСостояний - Структура - структура значений для заполнения реквизитов
// регистра сведений СостоянияНовостей. Возможны ключи:
// * Прочтена - Булево - Признак прочтенности. Если не указано, то не будет изменено;
// * Пометка - Число - Признак пометки флажком. Если не указано, то не будет изменено;
// * ОповещениеВключено - Булево - Признак снятия оповещения. Если не указано, то не будет изменено;
// * ДатаНачалаОповещения - Дата - Дата начала оповещения (UTC+0). Если не указано, то не будет изменено;
// * УдаленаИзСпискаНовостей - Булево - Признак помещения в корзину. Если не указано, то не будет изменено.
//
Процедура УстановитьСостояниеНовостейДляПользователей( Экспорт

Пример вызова

ОбработкаНовостей.УстановитьСостояниеНовостейДляПользователей();

ИзменитьПометкуНовостей

Описание, пример вызова
// Процедура помечает для текущего пользователя несколько новостей пометкой (число 0..9, где 0 = нет пометки).
// При вызове из неразделенного сеанса в модели сервиса будет ошибка.
//
// Параметры:
// МассивНовостей - Массив из СправочникСсылка.Новости - массив ссылок на новости;
// Пометка - Число - число в интервале 0..9, где 0 - неотмеченная новость.
//
Процедура ИзменитьПометкуНовостей(Знач МассивНовостей, Знач Пометка = 1) Экспорт

Пример вызова

ОбработкаНовостей.ИзменитьПометкуНовостей(МассивНовостей, Пометка);

ИзменитьПризнакПрочтенностиНовостей

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

Пример вызова

ОбработкаНовостей.ИзменитьПризнакПрочтенностиНовостей(МассивНовостей, ПризнакПрочтенности);

ИзменитьПризнакУдаленияИзСпискаНовостей

Описание, пример вызова
// Процедура изменяет для текущего пользователя признак удаления из списка у новостей.
// При вызове из неразделенного сеанса в модели сервиса будет ошибка.
//
// Параметры:
// МассивНовостей - Массив из СправочникСсылка.Новости - массив ссылок на новости;
// ПризнакУдаленияИзСписка - Булево - Истина - удалить из списка новостей (в корзину), Ложь - восстановить из корзины.
//
Процедура ИзменитьПризнакУдаленияИзСпискаНовостей(Знач МассивНовостей, Знач ПризнакУдаленияИзСписка = Истина) Экспорт

Пример вызова

ОбработкаНовостей.ИзменитьПризнакУдаленияИзСпискаНовостей(МассивНовостей, ПризнакУдаленияИзСписка);

ИзменитьПризнакОповещенияНовостей

Описание, пример вызова
// Процедура изменяет для текущего пользователя признак прекращения оповещения у новостей.
// Имеет смысл только для важных и очень важных новостей.
// При вызове из неразделенного сеанса в модели сервиса будет ошибка.
//
// Параметры:
// МассивНовостей - Массив из СправочникСсылка.Новости - массив ссылок на новости;
// ОповещениеВключено - Булево - Истина, если новость будет всплывать, ложь - не будет;
// ДатаНачалаОповещения - Дата - дата (UTC+0), начиная с которой необходимо включить всплывание.
//
Процедура ИзменитьПризнакОповещенияНовостей(Знач МассивНовостей, Знач ОповещениеВключено = Ложь, Знач ДатаНачалаОповещения = '00010101') Экспорт

Пример вызова

ОбработкаНовостей.ИзменитьПризнакОповещенияНовостей(МассивНовостей, ОповещениеВключено, ДатаНачалаОповещения);

ПолучитьСостояниеОповещения

Описание, пример вызова
// Функция возвращает реальное состояние оповещения для новости на текущую дату.
// Возможна ситуация, когда записи в регистре сведений "СостоянияНовостей" нет, тогда программа рассчитывает их,
// исходя из состояния Важности новости и Важности в привязке к метаданным (если важность > 0, то оповещение включено).
//
// Параметры:
// МассивНовостей - Массив из СправочникСсылка.Новости - массив новостей, которые необходимо обработать.
//
// Возвращаемое значение:
// Соответствие - соответствие, где:
// * ключ - СправочникСсылка.Новости;
// * значение - Булево - должно ли быть включено оповещение на данный момент или нет.
//
Функция ПолучитьСостояниеОповещения(МассивНовостей) Экспорт

Пример вызова

Результат = ОбработкаНовостей.ПолучитьСостояниеОповещения(МассивНовостей)

ПолучитьЗагруженныеНовости

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьЗагруженныеНовости(ТаблицаДатЗагрузокНовостейПередПолучением)

ПолучитьПредставлениеКатегорииИЗначения

Описание, пример вызова
// Функция возвращает результат конкатенации КатегорияНовостей и ЗначениеКатегорииНовостей.
// Нужно только для формирования XML-представления новости.
//
// Параметры:
// КатегорияНовостей - ПланВидовХарактеристикСсылка.КатегорииНовостей - категория новостей;
// ЗначениеКатегорииНовостей - Произвольный - значение категории новостей.
//
// Возвращаемое значение:
// Строка - строковое описание связки категории и значения.
//
Функция ПолучитьПредставлениеКатегорииИЗначения(КатегорияНовостей, ЗначениеКатегорииНовостей) Экспорт

Пример вызова

Результат = ОбработкаНовостей.ПолучитьПредставлениеКатегорииИЗначения(КатегорияНовостей, ЗначениеКатегорииНовостей)

ИзменитьПользовательскуюВидимостьЛентНовостей

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

Пример вызова

ОбработкаНовостей.ИзменитьПользовательскуюВидимостьЛентНовостей(ЛентыНовостей, Видимость, Пользователь);

ИзменитьВидимостьЛентНовостейДляОбластиДанных

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

Пример вызова

ОбработкаНовостей.ИзменитьВидимостьЛентНовостейДляОбластиДанных();

ИзменитьПользовательскиеСпособыОповещенияЛентНовостей

Описание, пример вызова
// Устанавливает настройки оповещения для ленты новостей и для пользователя.
// Работает только в коробке или в разделенном режиме модели сервиса.
//
// Параметры:
// ЛентыНовостей - СправочникСсылка.ЛентаНовостей, Массив из СправочникСсылка.ЛентаНовостей - Ленты новостей,
// для которых необходимо изменить настройку видимости;
// НастройкиОповещения - Структура - см. ПолучитьНастройкиОповещенияЛентыНовостей;
// Пользователь - СправочникСсылка.Пользователи, Неопределено - Пользователь, для которого необходимо получить способ оповещения;
// Если Неопределено, то текущий пользователь.
//
Процедура ИзменитьПользовательскиеСпособыОповещенияЛентНовостей(ЛентыНовостей, НастройкиОповещения, Пользователь = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.ИзменитьПользовательскиеСпособыОповещенияЛентНовостей(ЛентыНовостей, НастройкиОповещения, Пользователь);

ЭтоВнешнийПользовательСВозможностьюЧтениеНовостей

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

Пример вызова

Результат = ОбработкаНовостей.ЭтоВнешнийПользовательСВозможностьюЧтениеНовостей()

ПараметрыТекущегоПользователя

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

Пример вызова

Результат = ОбработкаНовостей.ПараметрыТекущегоПользователя()

ПриИзмененииЗначенийОтборовОбщих

Описание, пример вызова
// В некоторых новостях может быть установлена категория, проверяющая состояние некоторой функциональной опции,
// например "Эта новость только если подключен Облачный архив" с текстом "Вышла новая версия Облачного архива",
// или "Эта новость только если не подключены СПАРК Риски" с текстом "Предлагаем подключить СПАРК Риски".
// После изменения значения этой категории (подключили / отключили услугу и т.п.), необходимо показать или скрыть некоторые новости,
// а для этого необходимо пересчитать отборы.
// Условия показа новости могут быть как общие для всех новостей всей информационной базы, так и только для отдельной области данных.
// Процедура заполняет регистры сведений ОтборыПоЛентамНовостейОбщие и РассчитанныеОтборыПоНовостям_Общие
// чтобы отобразить или скрыть некоторые новости.
// Вызывается автоматически регламентным заданием пересчета отборов или при обновлении конфигурации, но
// для того, чтобы отфильтровать новости сразу, то может также вызываться вручную в модели сервиса в неразделенном сеансе, или в коробке.
//
Процедура ПриИзмененииЗначенийОтборовОбщих() Экспорт

Пример вызова

ОбработкаНовостей.ПриИзмененииЗначенийОтборовОбщих()

ПриИзмененииЗначенийОтборовДляОбластиДанных

Описание, пример вызова
// В некоторых новостях может быть установлена категория, проверяющая состояние некоторой функциональной опции,
// например "Эта новость только если подключен Облачный архив" с текстом "Вышла новая версия Облачного архива",
// или "Эта новость только если не подключены СПАРК Риски" с текстом "Предлагаем подключить СПАРК Риски".
// После изменения значения этой категории (подключили / отключили услугу и т.п.), необходимо показать или скрыть некоторые новости,
// а для этого необходимо пересчитать отборы.
// Условия показа новости могут быть как общие для всех новостей всей информационной базы, так и только для отдельной области данных.
// Процедура заполняет регистры сведений ОтборыПоЛентамНовостейДляОбластиДанных и РассчитанныеОтборыПоНовостям_ДляОбластиДанных
// чтобы отобразить или скрыть некоторые новости.
// Должно вызываться вручную после изменения необходимых для отбора новостей значений.
// Может работать в модели сервиса.
// В модели сервиса работает независимо от того, вошли в область данных или нет.
// Если вошли в область данных, то будут пересчитаны только отборы по текущей области данных.
//
Процедура ПриИзмененииЗначенийОтборовДляОбластиДанных() Экспорт

Пример вызова

ОбработкаНовостей.ПриИзмененииЗначенийОтборовДляОбластиДанных()

ПриИзмененииЗначенийОтборовПользовательских

Описание, пример вызова
// Процедура заполняет регистр сведений ОтборыПоЛентамНовостейПользовательские и РассчитанныеОтборыПоНовостям_Пользовательские
// чтобы отобразить или скрыть некоторые новости.
// Должно вызываться вручную после изменения необходимых для отбора новостей значений.
// Может работать в модели сервиса.
// В модели сервиса работает независимо от того, вошли в область данных или нет.
// Если вошли в область данных, то будут пересчитаны только отборы по текущей области данных.
//
// Параметры:
// Пользователь - Неопределено, СправочникСсылка.Пользователи, Массив из СправочникСсылка.Пользователи - пользователи,
// по которым необходимо пересчитать новости-исключения. Если Неопределено, то по всем.
//
Процедура ПриИзмененииЗначенийОтборовПользовательских(Пользователь = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.ПриИзмененииЗначенийОтборовПользовательских(Пользователь);

ЗначенияОтборов_Общие

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

Пример вызова

Результат = ОбработкаНовостей.ЗначенияОтборов_Общие(ДанныеОтбора);

ЗначенияОтборов_ДляОбластиДанных

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

Пример вызова

Результат = ОбработкаНовостей.ЗначенияОтборов_ДляОбластиДанных(ДанныеОтбора);

ЗначенияОтборов_Пользовательские

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

Пример вызова

Результат = ОбработкаНовостей.ЗначенияОтборов_Пользовательские(ДанныеОтбора);

ДобавитьПрограммноеЗначениеОтбора_Общий

Описание, пример вызова
// Добавляет значения отбора (общего).
// На основании этих данных потом будет рассчитываться видимость новостей.
// Не забыть добавить коды категорий в ОбработкаНовостейПереопределяемый.ЗаполнитьКодыКатегорийДляАвтоматическогоРасчетаОтборовНовостей;
// При попытке записать данные в модели сервиса в разделенном режиме будет ошибка.
// Можно последовательно добавить много значений отборов, а потом вызвать "ОбработкаНовостей.ПриИзмененииЗначенийОтборовОбщих".
//
// Параметры:
// ЗначенияОтборов - ТаблицаЗначений - описание см. ЗначенияОтборов_Общие().
//
Процедура ДобавитьПрограммноеЗначениеОтбора_Общий(ЗначенияОтборов) Экспорт

Пример вызова

ОбработкаНовостей.ДобавитьПрограммноеЗначениеОтбора_Общий(ЗначенияОтборов)

ДобавитьПрограммноеЗначениеОтбора_ДляОбластиДанных

Описание, пример вызова
// Добавляет значения отбора (для области данных).
// На основании этих данных потом будет рассчитываться видимость новостей.
// Не забыть добавить коды категорий в ОбработкаНовостейПереопределяемый.ЗаполнитьКодыКатегорийДляАвтоматическогоРасчетаОтборовНовостей;
// При записи данных в модели сервиса в неразделенном режиме необходимо заполнять "НомерОбласти" в ЗначенияОтборов.
// Можно последовательно добавить много значений отборов, а потом вызвать "ОбработкаНовостей.ПриИзмененииЗначенийОтборовДляОбластиДанных".
//
// Параметры:
// ЗначенияОтборов - ТаблицаЗначений - описание см. ЗначенияОтборов_ДляОбластиДанных().
//
Процедура ДобавитьПрограммноеЗначениеОтбора_ДляОбластиДанных(ЗначенияОтборов) Экспорт

Пример вызова

ОбработкаНовостей.ДобавитьПрограммноеЗначениеОтбора_ДляОбластиДанных(ЗначенияОтборов)

ДобавитьПрограммноеЗначениеОтбора_Пользовательский

Описание, пример вызова
// Добавляет значения отбора (пользовательского).
// На основании этих данных потом будет рассчитываться видимость новостей.
// При записи данных в модели сервиса в неразделенном режиме необходимо заполнять "НомерОбласти" в ЗначенияОтборов.
// Можно последовательно добавить много значений отборов, а потом вызвать "ОбработкаНовостей.ПриИзмененииЗначенийОтборовПользовательских".
//
// Параметры:
// ЗначенияОтборов - ТаблицаЗначений - описание см. ЗначенияОтборов_Пользовательские().
//
Процедура ДобавитьПрограммноеЗначениеОтбора_Пользовательский(ЗначенияОтборов) Экспорт

Пример вызова

ОбработкаНовостей.ДобавитьПрограммноеЗначениеОтбора_Пользовательский(ЗначенияОтборов)

УдалитьПрограммноеЗначениеОтбора_Общий

Описание, пример вызова
// Удаляет значения отбора (общего).
// На основании этих данных потом будет рассчитываться видимость новостей.
// Не забыть добавить коды категорий в ОбработкаНовостейПереопределяемый.ЗаполнитьКодыКатегорийДляАвтоматическогоРасчетаОтборовНовостей;
// При попытке записать данные в модели сервиса в разделенном режиме будет ошибка.
// Можно последовательно удалить много значений отборов, а потом вызвать "ОбработкаНовостей.ПриИзмененииЗначенийОтборовОбщих".
//
// Параметры:
// ЗначенияОтборов - ТаблицаЗначений - описание см. ЗначенияОтборов_Общие().
//
Процедура УдалитьПрограммноеЗначениеОтбора_Общий(ЗначенияОтборов) Экспорт

Пример вызова

ОбработкаНовостей.УдалитьПрограммноеЗначениеОтбора_Общий(ЗначенияОтборов)

УдалитьПрограммноеЗначениеОтбора_ДляОбластиДанных

Описание, пример вызова
// Удаляет значения отбора (для области данных).
// На основании этих данных потом будет рассчитываться видимость новостей.
// Не забыть добавить коды категорий в ОбработкаНовостейПереопределяемый.ЗаполнитьКодыКатегорийДляАвтоматическогоРасчетаОтборовНовостей;
// При записи данных в модели сервиса в неразделенном режиме необходимо заполнять "НомерОбласти" в ЗначенияОтборов.
// Можно последовательно удалить много значений отборов, а потом вызвать "ОбработкаНовостей.ПриИзмененииЗначенийОтборовДляОбластиДанных".
//
// Параметры:
// ЗначенияОтборов - ТаблицаЗначений - описание см. ЗначенияОтборов_ДляОбластиДанных().
//
Процедура УдалитьПрограммноеЗначениеОтбора_ДляОбластиДанных(ЗначенияОтборов) Экспорт

Пример вызова

ОбработкаНовостей.УдалитьПрограммноеЗначениеОтбора_ДляОбластиДанных(ЗначенияОтборов)

УдалитьПрограммноеЗначениеОтбора_Пользовательский

Описание, пример вызова
// Удаляет значения отбора (пользовательского).
// На основании этих данных потом будет рассчитываться видимость новостей.
// При записи данных в модели сервиса в неразделенном режиме необходимо заполнять "НомерОбласти" в ЗначенияОтборов.
// Можно последовательно удалить много значений отборов, а потом вызвать "ОбработкаНовостей.ПриИзмененииЗначенийОтборовПользовательских".
//
// Параметры:
// ЗначенияОтборов - ТаблицаЗначений - описание см. ЗначенияОтборов_Пользовательские().
//
Процедура УдалитьПрограммноеЗначениеОтбора_Пользовательский(ЗначенияОтборов) Экспорт

Пример вызова

ОбработкаНовостей.УдалитьПрограммноеЗначениеОтбора_Пользовательский(ЗначенияОтборов)

ПолучитьПрограммноеЗначениеОтбора_Общий

Описание, пример вызова
// Возвращает текущие значения категорий (общие) для отборов новостей.
//
// Параметры:
// КатегорияНовостей - ПланВидовХарактеристикСсылка.КатегорииНовостей, Строка, Неопределено - Категория для отбора или ее код.
//
// Возвращаемое значение:
// ТаблицаЗначений - см. ЗначенияОтборов_Общие().
//
Функция ПолучитьПрограммноеЗначениеОтбора_Общий( Экспорт

Пример вызова

Результат = ОбработкаНовостей.ПолучитьПрограммноеЗначениеОтбора_Общий();

ПолучитьПрограммноеЗначениеОтбора_ДляОбластиДанных

Описание, пример вызова
// Возвращает текущие значения категорий (для области данных) для отборов новостей.
//
// Параметры:
// КатегорияНовостей - ПланВидовХарактеристикСсылка.КатегорииНовостей, Строка, Неопределено - Категория для отбора или ее код;
// НомерОбластиДанных - Число, Неопределено - номер области данных;
//
// Возвращаемое значение:
// ТаблицаЗначений - см. ЗначенияОтборов_ДляОбластиДанных().
//
Функция ПолучитьПрограммноеЗначениеОтбора_ДляОбластиДанных( Экспорт

Пример вызова

Результат = ОбработкаНовостей.ПолучитьПрограммноеЗначениеОтбора_ДляОбластиДанных();

ПолучитьПрограммноеЗначениеОтбора_Пользовательский

Описание, пример вызова
// Возвращает текущие значения категорий (пользовательские) для отборов новостей.
//
// Параметры:
// КатегорияНовостей - ПланВидовХарактеристикСсылка.КатегорииНовостей, Строка, Неопределено - Категория для отбора или ее код;
// Пользователь - СправочникСсылка.Пользователи - пользователь;
// НомерОбластиДанных - Число, Неопределено - номер области данных;
//
// Возвращаемое значение:
// ТаблицаЗначений - см. ЗначенияОтборов_Пользовательские().
//
Функция ПолучитьПрограммноеЗначениеОтбора_Пользовательский( Экспорт

Пример вызова

Результат = ОбработкаНовостей.ПолучитьПрограммноеЗначениеОтбора_Пользовательский();

ПриПереходеСДругойПрограммы

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

Пример вызова

ОбработкаНовостей.ПриПереходеСДругойПрограммы()

КонтекстныеНовости_ПриСозданииНаСервере

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

Пример вызова

ОбработкаНовостей.КонтекстныеНовости_ПриСозданииНаСервере();

УстановитьНастройкиПоказаНовостей

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

Пример вызова

ОбработкаНовостей.УстановитьНастройкиПоказаНовостей(Настройки)

ПолучитьЛентуНовостейПоКоду

Описание, пример вызова
// Функция возвращает ссылку на ленту новостей по ее коду.
//
// Параметры:
// ЛентаНовостейКод - Строка - код ленты новостей.
//
// Возвращаемое значение:
// СправочникСсылка.ЛентыНовостей - ссылка на ленту новостей или пустая ссылка, если нет ленты новостей с таким кодом.
//
Функция ПолучитьЛентуНовостейПоКоду(ЛентаНовостейКод) Экспорт

Пример вызова

Результат = ОбработкаНовостей.ПолучитьЛентуНовостейПоКоду(ЛентаНовостейКод)

ПолучитьОтключенныеЛентыНовостей

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьОтключенныеЛентыНовостей(ИмяПользователяИБ)

ПолучитьЛентыНовостейПодпискаВключена

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьЛентыНовостейПодпискаВключена(ИмяПользователяИБ)

ПолучитьЛентыНовостейПодпискаВключенаПользователем

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьЛентыНовостейПодпискаВключенаПользователем(ИмяПользователяИБ)

ПолучитьЛентыНовостейПодпискаОтключенаПользователем

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьЛентыНовостейПодпискаОтключенаПользователем(ИмяПользователяИБ)

ПолучитьНастройкиЛентНовостей

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьНастройкиЛентНовостей(Пользователь, ЛентаНовостей);

ПолучитьНастройкиОповещенияЛентыНовостей

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьНастройкиОповещенияЛентыНовостей(Пользователь, ЛентаНовостей)

РазрешенаРаботаСНовостями

Описание, пример вызова
// Функция возвращает результат - можно ли работать с новостями.
// Это результат функциональной опции "РазрешенаРаботаСНовостями"
// И доступны нужные роли
// И это не внешний пользователь.
//
// Возвращаемое значение:
// Булево - ИСТИНА, если есть возможность работы с новостями.
//
Функция РазрешенаРаботаСНовостями() Экспорт

Пример вызова

Результат = ОбработкаНовостей.РазрешенаРаботаСНовостями()

РазрешенаРаботаСНовостямиТекущемуПользователю

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

Пример вызова

Результат = ОбработкаНовостей.РазрешенаРаботаСНовостямиТекущемуПользователю()

РазрешенаРаботаСНовостямиЧерезИнтернет

Описание, пример вызова
// Функция возвращает результат - можно ли работать с новостями через интернет.
// Это результат функциональной опции "РазрешенаРаботаСНовостямиЧерезИнтернет"
// И доступны нужные роли
// И это не внешний пользователь.
//
// Возвращаемое значение:
// Булево - ИСТИНА, если разрешена работа с новостями через интернет, ЛОЖЬ, если можно работать только с локальными новостями.
//
Функция РазрешенаРаботаСНовостямиЧерезИнтернет() Экспорт

Пример вызова

Результат = ОбработкаНовостей.РазрешенаРаботаСНовостямиЧерезИнтернет()

НайтиНовости

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

Пример вызова

Результат = ОбработкаНовостей.НайтиНовости(СтруктураПараметровПоиска)

ПолучитьОбъектНовости

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьОбъектНовости();

ПолучитьСсылкуНаНовость

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьСсылкуНаНовость(ЛентаНовостей, УИННовости)

ПолучитьКонтекстныеНовости

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьКонтекстныеНовости();

НайтиКонтекстнуюНовостьВМассиве

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

Пример вызова

Результат = ОбработкаНовостей.НайтиКонтекстнуюНовостьВМассиве(АдресМассиваНовостей, НомерСтрокиНовости)

ВсеОбновленияНовостей

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

Пример вызова

ОбработкаНовостей.ВсеОбновленияНовостей()

УдалитьНовости_Ежедневно

Описание, пример вызова
// Процедура запускает удаление новостей (неактуальных и актуальных).
//
// Параметры:
// КонтекстВыполнения - Структура, Неопределено - структура контекста выполнения.
//
Процедура УдалитьНовости_Ежедневно(КонтекстВыполнения = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.УдалитьНовости_Ежедневно(КонтекстВыполнения);

ОбновлениеПериодическихСвойствНовостей

Описание, пример вызова
// Процедура запускает пересчет периодических свойств новостей (важность, актуальность).
//
// Параметры:
// КонтекстВыполнения - Структура, Неопределено - структура контекста выполнения.
//
Процедура ОбновлениеПериодическихСвойствНовостей(КонтекстВыполнения = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеПериодическихСвойствНовостей(КонтекстВыполнения);

ОбновлениеПривязокКМетаданным

Описание, пример вызова
// Процедура запускает пересчет привязок к метаданным (+ контекстная важность).
//
// Параметры:
// КонтекстВыполнения - Структура, Неопределено - структура контекста выполнения.
//
Процедура ОбновлениеПривязокКМетаданным(КонтекстВыполнения = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеПривязокКМетаданным(КонтекстВыполнения);

ПолучитьИОбработатьНовостиПоЛентамНовостей

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

Пример вызова

ОбработкаНовостей.ПолучитьИОбработатьНовостиПоЛентамНовостей(МассивЛентНовостей, КонтекстВыполнения);

ОбновитьСтандартныеСпискиДляНовостей_Ежедневно

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

Пример вызова

ОбработкаНовостей.ОбновитьСтандартныеСпискиДляНовостей_Ежедневно(КонтекстВыполнения);

ПересчитатьНеобработанныеКатегорииНовостей

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

Пример вызова

ОбработкаНовостей.ПересчитатьНеобработанныеКатегорииНовостей(КонтекстВыполнения);

ПересчитатьОтборыПоНовостям_РедкоМеняющиеся

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

Пример вызова

ОбработкаНовостей.ПересчитатьОтборыПоНовостям_РедкоМеняющиеся(КонтекстВыполнения);

ПересчитатьОтборыПоНовостям_Общие

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

Пример вызова

ОбработкаНовостей.ПересчитатьОтборыПоНовостям_Общие(КонтекстВыполнения);

ПересчитатьОтборыПоНовостям_ДляОбластиДанных

Описание, пример вызова
// Процедура обрабатывает регистр сведений "РассчитанныеОтборыПоНовостям_ДляОбластиДанных".
// В случае запуска из коробки или в разделенном сеансе, также автоматически рассчитывает
// значения автоматических отборов и заполняет регистр сведений ОтборыПоЛентамНовостейДляОбластиДанных.
// В случае запуска в неразделенном сеансе в модели сервиса просто пересчитывает отборы по новостям.
//
// Параметры:
// КонтекстВыполнения - Структура, Неопределено - структура контекста выполнения.
//
Процедура ПересчитатьОтборыПоНовостям_ДляОбластиДанных(КонтекстВыполнения = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.ПересчитатьОтборыПоНовостям_ДляОбластиДанных(КонтекстВыполнения);

ПересчитатьОтборыПоНовостям_Пользовательские

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

Пример вызова

ОбработкаНовостей.ПересчитатьОтборыПоНовостям_Пользовательские(Пользователь, КонтекстВыполнения);

ЗаполнитьЗначенияАвтоматическихОтборов_Общие

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

Пример вызова

ОбработкаНовостей.ЗаполнитьЗначенияАвтоматическихОтборов_Общие(КонтекстВыполнения);

ЗаполнитьЗначенияАвтоматическихОтборов_ДляОбластиДанных

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

Пример вызова

ОбработкаНовостей.ЗаполнитьЗначенияАвтоматическихОтборов_ДляОбластиДанных(КонтекстВыполнения);

РассчитатьОтборПоКатегории

Описание, пример вызова
// Процедура рассчитывает значение отбора по категории и значению категории для дальнейшего определения,
// какие новости скрывать в зависимости от категории и значения категории новости.
//
// Параметры:
// КатегорияНовостей - ПланВидовХарактеристикСсылка.КатегорииНовостей - категория новостей;
// КодКатегорииНовостей - Строка - код категории новостей;
// ЗначениеКатегорииНовостей - Строка - значение категории новостей;
// РезультатРасчета - Булево - в эту переменную будет возвращено значение расчета по категории новостей;
// ОбластьДанных - Число, Неопределено - номер области данных или Неопределено для неразделенных значений
// или при работе в коробке;
// КонтекстВыполнения - Структура, Неопределено - структура контекста выполнения.
//
Процедура РассчитатьОтборПоКатегории( Экспорт

Пример вызова

ОбработкаНовостей.РассчитатьОтборПоКатегории();

ПроверитьИзменениеВерсииПлатформы

Описание, пример вызова
// Процедура проверяет, была ли изменена версия платформы с момента последнего запуска и запускает необходимые процедуры.
//
// Параметры:
// КонтекстВыполнения - Структура, Неопределено - структура контекста выполнения.
//
Процедура ПроверитьИзменениеВерсииПлатформы(КонтекстВыполнения = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.ПроверитьИзменениеВерсииПлатформы(КонтекстВыполнения);

ОптимизироватьОтборыПоНовостям

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

Пример вызова

ОбработкаНовостей.ОптимизироватьОтборыПоНовостям(КонтекстВыполнения);

КоличествоНастроенныхОтборов

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

Пример вызова

Результат = ОбработкаНовостей.КоличествоНастроенныхОтборов(Пользователь);

СбросСостоянияНовостиДляВсехПользователей

Описание, пример вызова
// Процедура сбрасывает все настройки всех пользователей при повторном получении (перепубликации) новости.
// В случае работы в неразделенном режиме - для всех пользователей.
// В случае работы в разделенном режиме - для всех пользователей всех областей данных.
//
// Параметры:
// НовостьСсылка - СправочникСсылка.Новости - Ссылка на новость.
//
Процедура СбросСостоянияНовостиДляВсехПользователей(НовостьСсылка) Экспорт

Пример вызова

ОбработкаНовостей.СбросСостоянияНовостиДляВсехПользователей(НовостьСсылка)

НайтиИОбработатьНеактивныеЛентыНовостей

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

Пример вызова

ОбработкаНовостей.НайтиИОбработатьНеактивныеЛентыНовостей(КонтекстВыполнения);

ПередЗаписьюПользователя

Описание, пример вызова
// Процедура-обработчик события перед записью элемента справочника Пользователи.
// Определяет разные параметры:
// - что записывается новый пользователь;
// - реквизиты пользователя ДО записи (Недействителен, Служебный, Подготовлен, ИдентификаторПользователяИБ, ИдентификаторПользователяСервиса);
// и передает эту информацию дальше, в подписку на событие "ПриЗаписи".
//
// Параметры:
// ПользовательОбъект - СправочникОбъект.Пользователи - записываемый объект;
// Отказ - Булево - установить в Истина, если надо отменить запись.
//
Процедура ПередЗаписьюПользователя(ПользовательОбъект, Отказ) Экспорт

Пример вызова

ОбработкаНовостей.ПередЗаписьюПользователя(ПользовательОбъект, Отказ)

ПриЗаписиПользователя

Описание, пример вызова
// Процедура-обработчик события при записи элемента справочника Пользователи.
//
// Параметры:
// ПользовательОбъект - СправочникОбъект.Пользователи - записываемый объект;
// Отказ - Булево - установить в Истина, если надо отменить запись.
//
Процедура ПриЗаписиПользователя(ПользовательОбъект, Отказ) Экспорт

Пример вызова

ОбработкаНовостей.ПриЗаписиПользователя(ПользовательОбъект, Отказ)

ИзменитьИспользованиеРегламентныхЗаданий

Описание, пример вызова
// Процедура включает / отключает регламентное задание.
//
// Параметры:
// Использовать - Булево - Ложь - отключить использование регламентного задания, Истина - включить, иначе - без изменений.
//
Процедура ИзменитьИспользованиеРегламентныхЗаданий(Использовать) Экспорт

Пример вызова

ОбработкаНовостей.ИзменитьИспользованиеРегламентныхЗаданий(Использовать)

ПолучитьРасписаниеОбновленийНовостей

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьРасписаниеОбновленийНовостей(АвтоопределениеЧастотыЗапуска);

ПолучитьРегламентноеЗаданиеВсеОбновленияНовостей

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьРегламентноеЗаданиеВсеОбновленияНовостей(ИсточникВызова));

СбросУНовостейПризнакаТребуетсяПересчетОтборов

Описание, пример вызова
// Процедура очищает у новостей признак "ТребуетсяПересчетОтборов" в регистре сведений "СвойстваНовостей".
//
// Параметры:
// КонтекстВыполнения - Структура, Неопределено - структура контекста выполнения.
//
Процедура СбросУНовостейПризнакаТребуетсяПересчетОтборов(КонтекстВыполнения = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.СбросУНовостейПризнакаТребуетсяПересчетОтборов(КонтекстВыполнения);

УдалениеНовостей_ПолучитьСписокДанныхДляУдаления

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

Пример вызова

Результат = ОбработкаНовостей.УдалениеНовостей_ПолучитьСписокДанныхДляУдаления(ТекущаяДатаДляРасчетов, Отборы));

УдалениеНовостей_ПометитьНаУдалениеДанные

Описание, пример вызова
// Процедура помечает на удаление новости со вспомогательными данными по переданному списку данных.
//
// Параметры:
// ДанныеДляУдаления - Структура - соответствует возвращаемому значению функции УдалениеНовостей_ПолучитьСписокДанныхДляУдаления;
// КонтекстВыполнения - Структура, Неопределено - структура контекста выполнения.
//
Процедура УдалениеНовостей_ПометитьНаУдалениеДанные(ДанныеДляУдаления, КонтекстВыполнения = Неопределено) Экспорт

Пример вызова

ОбработкаНовостей.УдалениеНовостей_ПометитьНаУдалениеДанные(ДанныеДляУдаления, КонтекстВыполнения);

ЗагрузитьВсеСтандартныеЗначения

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

Пример вызова

ОбработкаНовостей.ЗагрузитьВсеСтандартныеЗначения(КонтекстВыполнения);

ПолучитьКонтекстныеНовостиДляФормы

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьКонтекстныеНовостиДляФормы();

ПолучитьСостояниеПанелиКонтекстныхНовостей

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьСостояниеПанелиКонтекстныхНовостей(ИдентификаторМетаданных, ИдентификаторФормы));

ПанельКонтекстныхНовостей_ИзменитьВидимость

Описание, пример вызова
// Процедура управляет видимостью панели контекстных новостей в форме, а также сохраняет настройки (дату закрытия),
// чтобы через некоторое время снова открыть панель.
//
// Параметры:
// Новости - Структура - состав ключей см. в коде ОбработкаНовостей.КонтекстныеНовости_ПриСозданииНаСервере,
// заполнение переменной ОписаниеНовостей;
// Видимость - Булево - новое состояние видимости.
//
Процедура ПанельКонтекстныхНовостей_ИзменитьВидимость(Новости, Видимость) Экспорт

Пример вызова

ОбработкаНовостей.ПанельКонтекстныхНовостей_ИзменитьВидимость(Новости, Видимость)

ОчиститьКатегорииНовости

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

Пример вызова

ОбработкаНовостей.ОчиститьКатегорииНовости(ОбъектНовость)

ОбновлениеИнформационнойБазы_ОбщиеДанные_ПервыйЗапуск

Описание, пример вызова
// Процедура вызывается при первом запуске библиотеки БИП.
// Перенесено в этот модуль из ОбновлениеИнформационнойБазыБИП,
// чтобы при частичном внедрении (без подсистемы Новостей) не выдавались ошибки при проверке конфигурации.
//
Процедура ОбновлениеИнформационнойБазы_ОбщиеДанные_ПервыйЗапуск() Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбщиеДанные_ПервыйЗапуск()

ОбновлениеИнформационнойБазы_ОбластьДанных_ПервыйЗапуск

Описание, пример вызова
// Процедура вызывается при первом запуске библиотеки БИП.
// Процедура - для каждой области данных.
// Перенесено в этот модуль из ОбновлениеИнформационнойБазыБИП,
// чтобы при частичном внедрении (без подсистемы Новостей) не выдавались ошибки при проверке конфигурации.
//
Процедура ОбновлениеИнформационнойБазы_ОбластьДанных_ПервыйЗапуск() Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбластьДанных_ПервыйЗапуск()

ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию

Описание, пример вызова
// Процедура вызывается при обновлении библиотеки БИП на любую новую версию.
// Процедура - для общих данных.
// Перенесено в этот модуль из ОбновлениеИнформационнойБазыБИП,
// чтобы при частичном внедрении (без подсистемы Новостей) не выдавались ошибки при проверке конфигурации.
//
Процедура ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию() Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию()

ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию_2_1_4

Описание, пример вызова
// Процедура вызывается при обновлении библиотеки БИП на новую версию.
// Процедура - для общих данных.
// Перенесено в этот модуль из ОбновлениеИнформационнойБазыБИП,
// чтобы при частичном внедрении (без подсистемы Новостей) не выдавались ошибки при проверке конфигурации.
//
Процедура ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию_2_1_4() Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию_2_1_4()

ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию_2_1_5

Описание, пример вызова
// Процедура вызывается при обновлении библиотеки БИП на новую версию.
// Процедура - для общих данных.
// Перенесено в этот модуль из ОбновлениеИнформационнойБазыБИП,
// чтобы при частичном внедрении (без подсистемы Новостей) не выдавались ошибки при проверке конфигурации.
//
Процедура ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию_2_1_5() Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию_2_1_5()

ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию_2_2_3

Описание, пример вызова
// Процедура вызывается при обновлении библиотеки БИП на новую версию.
// Процедура - для общих данных.
//
Процедура ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию_2_2_3() Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбщиеДанные_ПерейтиНаВерсию_2_2_3()

ОбновлениеИнформационнойБазы_ОбластьДанных_ПерейтиНаВерсию

Описание, пример вызова
// Процедура вызывается при обновлении библиотеки БИП на любую новую версию.
// Процедура - для каждой области данных.
// Перенесено в этот модуль из ОбновлениеИнформационнойБазыБИП,
// чтобы при частичном внедрении (без подсистемы Новостей) не выдавались ошибки при проверке конфигурации.
//
Процедура ОбновлениеИнформационнойБазы_ОбластьДанных_ПерейтиНаВерсию() Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбластьДанных_ПерейтиНаВерсию()

ОбновлениеИнформационнойБазы_ОбластьДанных_ПерейтиНаВерсию_2_1_4

Описание, пример вызова
// Процедура вызывается при обновлении библиотеки БИП на новую версию.
// Процедура - для каждой области данных.
// Перенесено в этот модуль из ОбновлениеИнформационнойБазыБИП,
// чтобы при частичном внедрении (без подсистемы Новостей) не выдавались ошибки при проверке конфигурации.
//
Процедура ОбновлениеИнформационнойБазы_ОбластьДанных_ПерейтиНаВерсию_2_1_4() Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбластьДанных_ПерейтиНаВерсию_2_1_4()

ОбновлениеИнформационнойБазы_ОбластьДанных_ПерейтиНаВерсию_2_1_5

Описание, пример вызова
// Процедура вызывается при обновлении библиотеки БИП на новую версию.
// Процедура - для каждой области данных.
// Перенесено в этот модуль из ОбновлениеИнформационнойБазыБИП,
// чтобы при частичном внедрении (без подсистемы Новостей) не выдавались ошибки при проверке конфигурации.
//
Процедура ОбновлениеИнформационнойБазы_ОбластьДанных_ПерейтиНаВерсию_2_1_5() Экспорт

Пример вызова

ОбработкаНовостей.ОбновлениеИнформационнойБазы_ОбластьДанных_ПерейтиНаВерсию_2_1_5()

ПроверитьПравильностьВнедренияПодсистемы

Описание, пример вызова
// Функция проверяет правильность внедрения подсистемы Новости.
// В случае ошибок возвращаются тексты ошибок.
//
// Параметры:
// ВариантПроверки - Строка - Вариант проверки ("ТолькоПереопределения", "Все").
//
// Возвращаемое значение:
// - Строка - тексты ошибок или пустая строка, если ошибок не было.
//
Функция ПроверитьПравильностьВнедренияПодсистемы(ВариантПроверки = "Все") Экспорт

Пример вызова

Результат = ОбработкаНовостей.ПроверитьПравильностьВнедренияПодсистемы(ВариантПроверки);

Проверка_ОбщиеРеквизиты

Описание, пример вызова
// Процедура проверяет правильность установки свойств состава общего реквизита для объекта метаданных.
//
// Параметры:
// ЛокальныйОбщийРеквизит - ОбщийРеквизит - общий реквизит, для которого осуществляется проверка;
// ЛокальныйОбъектМетаданных - ОбъектМетаданных - проверяемый объект;
// ПравильноеЗначениеИспользования - ИспользованиеОбщегоРеквизита - правильное значение, которое должно быть;
// Результат - Строка - сюда будет дописан текст ошибки.
//
Процедура Проверка_ОбщиеРеквизиты( Экспорт

Пример вызова

ОбработкаНовостей.Проверка_ОбщиеРеквизиты();

Проверка_Права

Описание, пример вызова
// Процедура проверяет правильность установки прав для объекта метаданных.
//
// Параметры:
// ЛокальнаяРоль - Роль - проверяемая роль;
// ЛокальноеПраво - Строка - проверяемое право;
// ПравильноеЗначениеПрава - Булево - правильное значение, которое должно быть;
// ЛокальныйОбъектМетаданных - ОбъектМетаданных - проверяемый объект;
// Результат - Строка - сюда будет дописан текст ошибки.
//
Процедура Проверка_Права( Экспорт

Пример вызова

ОбработкаНовостей.Проверка_Права();

ТекущийПользовательИБ

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

Пример вызова

Результат = ОбработкаНовостей.ТекущийПользовательИБ()

ПолучитьРедакторовЛентыНовостей

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьРедакторовЛентыНовостей(ЛентаНовостей, ВыводитьВсехПользователей);

ЗаписатьСообщениеВЖурналРегистрации

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

Пример вызова

ОбработкаНовостей.ЗаписатьСообщениеВЖурналРегистрации();

ВыгрузитьВсеСобытияЖурналаРегистрации

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

Пример вызова

Результат = ОбработкаНовостей.ВыгрузитьВсеСобытияЖурналаРегистрации(ПараметрыОтбора, ПараметрыФайлаВыгрузки);

ПредставлениеОбъектаХДТО

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

Пример вызова

Результат = ОбработкаНовостей.ПредставлениеОбъектаХДТО(ОбъектХДТО, ФабрикаХДТО);

КомментарийДляЖурналаРегистрации

Описание, пример вызова
// Возвращает текст комментария для записи в журнал регистрации.
//
// Параметры:
// ОписаниеШага - Строка - описание шага;
// ШагВыполнения - Структура - структура шага выполнения;
// КонтекстВыполнения - Структура - контекст выполнения;
// Вариант - Строка - "Простой" или "Расширенный".
//
// Возвращаемое значение:
// Строка - Текст для записи в журнал регистрации.
//
Функция КомментарийДляЖурналаРегистрации(ОписаниеШага, ШагВыполнения, КонтекстВыполнения, Вариант = "Простой") Экспорт

Пример вызова

Результат = ОбработкаНовостей.КомментарийДляЖурналаРегистрации(ОписаниеШага, ШагВыполнения, КонтекстВыполнения, Вариант);

ПолучитьДополнительныеСтандартныеЗначенияКлассификаторов

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

Пример вызова

ОбработкаНовостей.ПолучитьДополнительныеСтандартныеЗначенияКлассификаторов(ИмяОбъектаМетаданных, СтандартныеЗначения)

ПолучитьДополнительныеСтандартныеЗначенияНовостей

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

Пример вызова

ОбработкаНовостей.ПолучитьДополнительныеСтандартныеЗначенияНовостей(ЛентаНовостей, СтандартныеЗначения)

ДополнительноОбработатьКлассификаторПослеПолученияПослеЗаписи

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

Пример вызова

ОбработкаНовостей.ДополнительноОбработатьКлассификаторПослеПолученияПослеЗаписи(КлассификаторСсылка)

ИсправитьЗадвоенияКатегорийНовостейПослеЗаписи

Описание, пример вызова
// Проверка и исправление задвоений категорий новостей. Считаем, что "КлассификаторСсылка" - это правильные данные.
//
// Параметры:
// КлассификаторСсылка - СправочникСсылка - Классификатор, который был только что записан.
//
Процедура ИсправитьЗадвоенияКатегорийНовостейПослеЗаписи(КлассификаторСсылка) Экспорт

Пример вызова

ОбработкаНовостей.ИсправитьЗадвоенияКатегорийНовостейПослеЗаписи(КлассификаторСсылка));

ИсправитьЗадвоенияЗначенийКатегорийНовостейПослеЗаписи

Описание, пример вызова
// Проверка и исправление задвоений значений категорий новостей. Считаем, что "КлассификаторСсылка" - это правильные данные.
//
// Параметры:
// КлассификаторСсылка - СправочникСсылка - Классификатор, который был только что записан.
//
Процедура ИсправитьЗадвоенияЗначенийКатегорийНовостейПослеЗаписи(КлассификаторСсылка) Экспорт

Пример вызова

ОбработкаНовостей.ИсправитьЗадвоенияЗначенийКатегорийНовостейПослеЗаписи(КлассификаторСсылка));

ФорматДатыВремениДляНовости

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

Пример вызова

Результат = ОбработкаНовостей.ФорматДатыВремениДляНовости()

УстановитьСостояниеПодсистемы

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

Пример вызова

ОбработкаНовостей.УстановитьСостояниеПодсистемы(СостояниеПодсистемы)

ПолучитьСостояниеПодсистемы

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

Пример вызова

Результат = ОбработкаНовостей.ПолучитьСостояниеПодсистемы()

© 2024, ООО 1С-Софт
Все права защищены. Эта программа и сопроводительные материалы предоставляются
в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0).