Skip to content

Обработка новостей переопределяемый

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

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

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

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

ДополнительноОбработатьТекстНовостиПередПоказом

Описание, пример вызова
// Если перед выводом новости пользователю, разработчику надо "доработать" ее текст - заменить какие-то теги, удалить блоки текста и т.п.,
// то это можно сделать в этой процедуре.
// При формировании текста происходит несколько стадий:
// вначале компонуется ХТМЛ-текст одной или списка новостей (то, что внутри <body></body>),
// затем полученный текст обрамляется тегами <html></html> и стилями.
// В этой процедуре можно обработать текст одной новости, без стилей (то, что внутри <body></body>).
// Здесь можно изменить окончательный текст новости, например:
// найти теги <div> с идентификатором id="MainOrganization" и заменить на наименование основной организации;
// найти теги <a> с идентификатором id="Total51AccountTurnover" и заменить на общую сумму оборота по 51 счету;
// найти комментарий <!-- Вставить здесь html-текст для бухгалтера --> и заменить.
// Примеры:
// // Преобразовать текст ХТМЛ в документДОМ для обработки
// ЧтениеХТМЛ = Новый ЧтениеHTML;
// ЧтениеХТМЛ.УстановитьСтроку(ТекстХТМЛ);
// ПостроительДОМ = Новый ПостроительDOM;
// ДокументДОМ = ПостроительДОМ.Прочитать(ЧтениеХТМЛ);
// // Найти и заменить элементы внутри body (только первого уровня вложенности!)
// Для каждого ТекущийЭлементХТМЛ Из ДокументДОМ.Тело.ДочерниеУзлы Цикл
// // Дополнение текстов
// Если ТекущийЭлементХТМЛ.ТипУзла = ТипУзлаDOM.Элемент Тогда
// Если ВРег(ТекущийЭлементХТМЛ.Идентификатор) = ВРег("MainOrganization") Тогда
// ТекущийЭлементХТМЛ.ТекстовоеСодержимое = ТекущийЭлементХТМЛ.ТекстовоеСодержимое + ", ...";
// КонецЕсли;
// КонецЕсли;
// КонецЦикла;
// // Преобразовать документДОМ обратно в строку
// ЗаписьХТМЛ = Новый ЗаписьHTML;
// ЗаписьХТМЛ.УстановитьСтроку();
// ЗаписьДОМ = Новый ЗаписьDOM;
// ЗаписьДОМ.Записать(ДокументДОМ, ЗаписьХТМЛ);
// ТекстХТМЛ = ЗаписьХТМЛ.Закрыть();
// // Можно обрабатывать текст ХТМЛ как строку - это быстрее чем ДОМ.
// // Заменить "длинную" ссылку на полный текст новости на гиперссылку с надписью "здесь".
// НайденоНачалоБлока = СтрНайти(ТекстХТМЛ, "<div id=""newsHyperlink"">");
// Если НайденоНачалоБлока > 0 Тогда
// НайденКонецБлока = 0;
// Для С=НайденоНачалоБлока+24 По СтрДлина(ТекстХТМЛ)-6 Цикл
// Если ВРег(Сред(ТекстХТМЛ, С, 6)) = ВРег("</div>") Тогда
// НайденКонецБлока = С;
// Прервать;
// КонецЕсли;
// КонецЦикла;
// Если НайденКонецБлока > 0 Тогда
// // Все что между - это <a href="...">...</a>, можно заменить
// НачалоГиперссылки = НайденоНачалоБлока + 24;
// КонецГиперссылки = НайденКонецБлока;
// ВременныйТекстХТМЛ =
// Лев(ТекстХТМЛ, НачалоГиперссылки)
// + Символы.Таб + Символы.Таб + Символы.Таб + Символы.Таб + Символы.Таб + "%СсылкаНаПолныйТекстНовости%" + Символы.ПС
// + Символы.Таб + Символы.Таб + Символы.Таб + Символы.Таб + Прав(ТекстХТМЛ, СтрДлина(ТекстХТМЛ) - КонецГиперссылки + 1);
// Если ПустаяСтрока(ОбъектНовости.СсылкаНаПолныйТекстНовости) Тогда
// ВременныйТекстХТМЛ = СтрЗаменить(ВременныйТекстХТМЛ, "%СсылкаНаПолныйТекстНовости%", "");
// Иначе
// // Всегда писать "здесь"
// ВременныйТекстХТМЛ = СтрЗаменить(
// ВременныйТекстХТМЛ,
// "%СсылкаНаПолныйТекстНовости%",
// "Полный текст новости <a href=""" + СокрЛП(ОбъектНовости.СсылкаНаПолныйТекстНовости) + """>здесь</a>");
// КонецЕсли;
// ТекстХТМЛ = ВременныйТекстХТМЛ;
// КонецЕсли;
// КонецЕсли; // Конец примера.
// Примечания:
// - Не рекомендуется для замены использовать СтрШаблон() и СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(),
// т.к. это может "повредить" ссылки (удалятся "%1", "%2", ...). Пример ссылки, которая может быть повреждена:
// HTTP://its.1c.ru/news/redirect?utm_source=news_center&utm_medium=prog&url=%2Fdb%2Farbit%23content%3A4506%3Ahdoc.
//
// Параметры:
// ОбъектНовости - СправочникОбъект.Новости - Новость, для которой необходимо изменить уже подготовленный текст;
// ТекстХТМЛ - Строка - уже подготовленный текст, который по-умолчанию будет отображен в форме просмотра новости.
//
// Возвращаемое значение:
// Строка - окончательный текст новости (то, что внутри <body></body>).
//
//@skip-warning
Процедура ДополнительноОбработатьТекстНовостиПередПоказом(ОбъектНовости, ТекстХТМЛ) Экспорт

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

ОбработкаНовостейПереопределяемый.ДополнительноОбработатьТекстНовостиПередПоказом(ОбъектНовости, ТекстХТМЛ)

ДополнительноОбработатьТекстСпискаНовостейПередПоказом

Описание, пример вызова
// Если перед выводом новости пользователю, разработчику надо "доработать" ее текст - заменить какие-то теги, стили, удалить блоки текста и т.п.,
// то это можно сделать в этой процедуре.
// При формировании текста происходит несколько стадий:
// вначале компонуется ХТМЛ-текст одной или списка новостей (то, что внутри <body></body>),
// затем полученный текст обрамляется тегами <html></html> и стилями.
// В этой процедуре можно обработать результирующий текст одной или списка новости, включая заголовки, стили и т.п.
// Здесь можно изменить окончательный текст новости, например:
// найти теги <div> с идентификатором id="MainOrganization" и заменить на наименование основной организации
// найти теги <a> с идентификатором id="Total51AccountTurnover" и заменить на общую сумму оборота по 51 счету
// найти стиль с описанием класса с именем class="ShowOnlyIfAutoUpdateAvailable" и заменить
// .ShowOnlyIfAutoUpdateAvailable:{display:block} на
// .ShowOnlyIfAutoUpdateAvailable:{display:none}, в случае, если недоступно автообновление из интернет
// найти комментарий <!-- Вставить здесь html-текст для бухгалтера --> и заменить.
// // Преобразовать текст ХТМЛ в документДОМ для обработки
// ЧтениеХТМЛ = Новый ЧтениеHTML;
// ЧтениеХТМЛ.УстановитьСтроку(ТекстХТМЛ);
// ПостроительДОМ = Новый ПостроительDOM;
// ДокументДОМ = ПостроительДОМ.Прочитать(ЧтениеХТМЛ);
// // Найти и заменить элементы внутри body (только первого уровня вложенности!)
// Для каждого ТекущийЭлементХТМЛ Из ДокументДОМ.Тело.ДочерниеУзлы Цикл
// // Дополнение текстов
// Если ТекущийЭлементХТМЛ.ТипУзла = ТипУзлаDOM.Элемент Тогда
// Если ВРег(ТекущийЭлементХТМЛ.Идентификатор) = ВРег("MainOrganization") Тогда
// ТекущийЭлементХТМЛ.ТекстовоеСодержимое = ТекущийЭлементХТМЛ.ТекстовоеСодержимое + ", ...";
// КонецЕсли;
// КонецЕсли;
// КонецЦикла;
// // Преобразовать документДОМ обратно в строку
// ЗаписьХТМЛ = Новый ЗаписьHTML;
// ЗаписьХТМЛ.УстановитьСтроку();
// ЗаписьДОМ = Новый ЗаписьDOM;
// ЗаписьДОМ.Записать(ДокументДОМ, ЗаписьХТМЛ);
// ТекстХТМЛ = ЗаписьХТМЛ.Закрыть();
// Примечания:
// - Можно обрабатывать текст ХТМЛ как строку - это быстрее чем ДОМ.
// - Не рекомендуется для замены использовать СтрШаблон() и СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(),
// т.к. это может "повредить" ссылки (удалятся "%1", "%2", ...). Пример ссылки, которая может быть повреждена:
// HTTP://its.1c.ru/news/redirect?utm_source=news_center&utm_medium=prog&url=%2Fdb%2Farbit%23content%3A4506%3Ahdoc.
//
// Параметры:
// ТекстХТМЛ - Строка - уже подготовленный текст, который по-умолчанию будет отображен в форме просмотра новости.
//
// Возвращаемое значение:
// Строка - окончательный текст одной или списка новости.
//
//@skip-warning
Процедура ДополнительноОбработатьТекстСпискаНовостейПередПоказом(ТекстХТМЛ) Экспорт

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

ОбработкаНовостейПереопределяемый.ДополнительноОбработатьТекстСпискаНовостейПередПоказом(ТекстХТМЛ)

ДополнительноОбработатьНовостьПослеПолученияПередЗаписью

Описание, пример вызова
// Если после получения новости надо "доработать" ее текст, реквизиты, категории и т.п.,
// то это можно сделать в этой процедуре.
// Объект новости еще не записан, можно менять все его реквизиты (например, пометку удаления, чтобы управлять видимостью новости).
// Дополнительно передается НовостьХДТО - на случай, если передаются дополнительные теги, их можно отсюда получить.
// Здесь можно изменить все данные новости перед записью, например:
// для новостей с определенными идентификаторами, которые в НовостномЦентре выдаются специфическим новостям,
// изменить тексты новости и т.п.
// Список предопределенных УИН новостей (проверять на равенство СокрЛП(ВРег(ОбъектНовости.УИННовости)) и ВРег(указанный УИН)):
// - для 7be471d8-3a5d-4a2b-bf67-ca8d632f34d8, сообщается о том, что лента новостей - закрытая,
// и необходимо ввести логин / пароль для доступа к ней;
// - для 8cb9d0fa-dd13-49d7-a023-b207d2cbc8c4 сообщается о том, что лента новостей - закрытая,
// и введенные логин / пароль для доступа к ней неправильные;
// - для bf94d306-8e11-41c2-a7cb-ebc92e8acb3b сообщается о том, что лента новостей - закрытая,
// и требуется действующая подписка на ИТС;
// - для 15796c0d-ed48-4a48-90f0-87aa03a158c6 сообщается о том, что лента новостей - закрытая,
// а текущая подписка на ИТС уже закончена (просрочена);
// - для a170042d-a073-456a-91b5-881796995a27 сообщается о том, что текущая конфигурация
// не находится в списке купленных, хотя доступ к ленте новостей разрешен только тем, кто официально
// приобрел конфигурацию;
// - для 41dbfdc8-665b-4944-b771-608809627916 сообщается о том, что переданный URL содержит ошибки;
// - для 1db8ce78-10e1-4556-b891-44b549fe22d7 сообщается о том, что лента новостей
// не привязана в новостном центре к текущей конфигурации, а значит не должна пытаться получать новости по ней;
// - для 505748bb-758a-47a5-9566-e4894f85b382 сообщается о том, что лента новостей не существует;
// - для e91fabe3-adfd-4fdb-b37d-4799faee32ae сообщается о том, что указан неправильный формат (должен быть atom, rss или atom1c);
// - для 313f4928-a71c-4cef-96ee-a4b6106c1275 или id=Ошибка сообщается обо всех остальных системных ошибках;
// - для 6588f3f9-d569-478f-a370-7cd75d833966 сообщается о том, что по ленте новостей
// давно не были получены новости из-за технических ошибок;
// Новость должна создаваться самой конфигурацией, но возможны ситуации, что сервер сам предупреждает, что он будет отключен.
// - для 8f9c7dca-3641-4ce1-88cb-5ea1ad021dfd можно в текст новости вставить тег <a id="ClientDebugInformation" />,
// который будет заменяться на клиентскую отладочную информацию (в дополнение к информации от сервера).
//
// Параметры:
// ОбъектНовости - СправочникОбъект.Новости - Новость, у которой необходимо изменить данные;
// НовостьХДТО - ОбъектXDTO - полученный объект новости.
//
//@skip-warning
Процедура ДополнительноОбработатьНовостьПослеПолученияПередЗаписью(ОбъектНовости, НовостьХДТО) Экспорт

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

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

ДополнительноОбработатьНовостьПослеПолученияПослеЗаписи

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

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

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

ДополнительноОбработатьНовостиПослеПолучения

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

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

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

ДополнительноОбработатьМассивКонтекстныхНовостей

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

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

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

ДополнительноОбработатьТаблицуКонтекстныхНовостей

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

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

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

ПереопределитьСписокЛентНовостейДляКонтекстныхНовостей

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

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

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

ДополнительноУстановитьУсловноеОформлениеФормыКонтекстныхНовостей

Описание, пример вызова
// Позволяет изменить условное оформление формы контекстных новостей, например добавить свои элементы
// условного оформления или удалить / изменить уже настроенные элементы.
// Здесь можно изменить условное оформление в форме контекстных новостей, например:
// если у новости в наименовании есть слово "Видео", то выделить красным;
// если у новости есть категория "География=Россия", то изменить цвет фона.
//
// Параметры:
// ФормаКонтекстныхНовостей - ФормаКлиентскогоПриложения - форма контекстных новостей;
// УсловноеОформлениеФормы - УсловноеОформление - настройки условного оформления формы.
//
// Пример:
// // Таблица новостей, которая уже загружена в форму.
// ТаблицаНовостей = ФормаКонтекстныхНовостей.ТаблицаНовостей; // Убедиться, что имя реквизита не изменилось!
// МассивПоказываемыхНовостей = ФормаКонтекстныхНовостей.ТаблицаНовостей.Выгрузить(, "Новость").ВыгрузитьКолонку("Новость");
// // Условное оформление устанавливается при создании формы, поэтому можно посмотреть параметры, переданные в форму;
// Если СтрНайти(ФормаКонтекстныхНовостей.Параметры.ИмяМетаданных, ".РазделУчета.") > 0 Тогда
// //
// КонецЕсли;
// // Список "особенных" новостей, который можно вычислить каким-нибудь запросом.
// СписокЗначенийНовостей = Новый СписокЗначений;
// // Добавить элемент условного оформления по условию "ВСписке"
// Элемент = УсловноеОформлениеФормы.Элементы.Добавить();
// // Оформляемые поля
// ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
// ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ТаблицаНовостейНаименование");
// ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
// ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ТаблицаНовостейПодзаголовок");
// ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
// ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ТаблицаНовостейДатаПубликации");
// ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
// ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ТаблицаНовостейЛентаНовостей");
// // Отбор
// ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
// ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаНовостей.Новость");
// ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
// ОтборЭлемента.ПравоеЗначение = СписокЗначенийНовостей;
// // Оформление
// Элемент.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(ШрифтыСтиля.ШрифтНовостей, , , Истина)); // Жирный
// // Использование
// Элемент.Использование = Истина;
//
//@skip-warning
Процедура ДополнительноУстановитьУсловноеОформлениеФормыКонтекстныхНовостей(ФормаКонтекстныхНовостей, УсловноеОформлениеФормы) Экспорт

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

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

ПереопределитьСбросСостоянияНовостиПриЗаписи

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

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

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

ПереопределитьДействияКогдаНайденаНеактивнаяЛентаНовостей

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

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

ОбработкаНовостейПереопределяемый.ПереопределитьДействияКогдаНайденаНеактивнаяЛентаНовостей(ЛентаНовостей, НовостьОбъект, Отказ)

ДополнительноОбработатьФормуПриСозданииНаСервере

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

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

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

ДополнительноОбработатьФормуПросмотраНовостейПриСозданииНаСервере

Описание, пример вызова
// В этой процедуре можно переопределить состав новостей формы показа новостей и другие действия с управляемой формой.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма просмотра новостей для рабочего стола;
// Отказ - Булево - Признак отказа от создания формы. Если установить данному параметру значение Истина,
// то форма создана не будет;
// СтандартнаяОбработка - Булево - В данный параметр передается признак выполнения стандартной (системной) обработки события.
// Если в установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
//
//@skip-warning
Процедура ДополнительноОбработатьФормуПросмотраНовостейПриСозданииНаСервере( Экспорт

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

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

ДополнительноОбработатьФормуПросмотраНовостейДляРабочегоСтолаПриСозданииНаСервере

Описание, пример вызова
// В этой процедуре можно переопределить состав новостей формы показа новостей для рабочего стола и другие действия с управляемой формой.
// Пример:
// ВозвращаемыеЗначения = Новый Структура("ПропуститьЗаполнениеНовостями", Истина);
// НоваяСтрока = Форма.Новости.Добавить();
// НоваяСтрока.Наименование = НСтр("ru='Как обновить конфигурацию'");
// НоваяСтрока.Ссылка = Справочники.Новости.НайтиПоРеквизиту("УИННовости", "123456"); // Новость должна присутствовать в справочнике!
// НоваяСтрока = Форма.Новости.Добавить();
// НоваяСтрока.Наименование = НСтр("ru='Как настроить автообновление'");
// НоваяСтрока.Ссылка = Справочники.Новости.НайтиПоРеквизиту("УИННовости", "234567"); // Новость должна присутствовать в справочнике!
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма просмотра новостей для рабочего стола;
// ВозвращаемыеЗначения - Структура - структура с возвращаемыми значениями для дальнейшей обработки формой. Может содержать ключи:
// * ПропуститьЗаполнениеНовостями - Булево - если Истина, то форма рабочего стола не будет проводить заполнение новостями.
//
//@skip-warning
Процедура ДополнительноОбработатьФормуПросмотраНовостейДляРабочегоСтолаПриСозданииНаСервере( Экспорт

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

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

ДополнительноОбработатьФормуКонтекстныхНовостейПриСозданииНаСервере

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

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

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

ДополнительноОбработатьФормуОченьВажныхНовостейПриСозданииНаСервере

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

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

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

ДополнительноОбработатьФормуНовостиПриСозданииНаСервере

Описание, пример вызова
// В этой процедуре можно переопределить действия с управляемой формой просмотра новости.
//
// Параметры:
// Форма - ФормаКлиентскогоПриложения - форма просмотра новости;
// Отказ - Булево - Признак отказа от создания формы. Если установить данному параметру значение Истина,
// то форма создана не будет;
// СтандартнаяОбработка - Булево - В данный параметр передается признак выполнения стандартной (системной) обработки события.
// Если в установить данному параметру значение Ложь, стандартная обработка события производиться не будет.
//
//@skip-warning
Процедура ДополнительноОбработатьФормуНовостиПриСозданииНаСервере( Экспорт

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

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

ПанельКонтекстныхНовостей_ВыбратьНовости

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

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

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

ДополнительноПодготовитьПараметрыНавигационнойСсылки

Описание, пример вызова
// В этой процедуре можно переопределить реакцию системы на нажатие гиперссылки в тексте новости.
// По-умолчанию система при нажатии на, например, 1C:ShowPict001 ищет в самой новости действие с таким же идентификатором,
// что заставляет в каждой новости прописывать действие и его параметры. С помощью этого переопределения можно заполнять
// параметры в коде на стороне клиента, что упростит написание текстов новостей.
// Здесь можно заполнить параметры Действие и СписокПараметров произвольными значениями, которые будут переданы в
// ОбработкаНовостейКлиент.ОбработкаНавигационнойСсылки.
//
// Метод заполняет параметры Действие и СписокПараметров для объекта
// новости по переданному уникальному идентификатору гиперссылки.
//
// Параметры:
// Объект - ДанныеФормыКоллекция, ДокументСсылка.Новости, СправочникСсылка.Новости - ссылка на новость;
// УИНДействия - Строка - идентификатор действия;
// Действие - Строка - действие;
// СписокПараметров - СписокЗначений - список параметров действия.
//
//@skip-warning
Процедура ДополнительноПодготовитьПараметрыНавигационнойСсылки( Экспорт

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

ОбработкаНовостейПереопределяемый.ДополнительноПодготовитьПараметрыНавигационнойСсылки();

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ЗначениеПредопределеннойКатегории

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

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

ОбработкаНовостейПереопределяемый.ЗначениеПредопределеннойКатегории(Категория, Значение)

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

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

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

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

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

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

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

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

ЗаполнитьКодыКатегорийДляАвтоматическогоРасчетаОтборовНовостей

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

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

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

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

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

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

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

ПолучитьНовостиСНапоминаниями

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

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

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

ПолучитьЗначениеПредопределеннойКатегории

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

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

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

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