Обработка новостей переопределяемый
ДополнительноОбработатьКлассификаторПослеПолученияПослеЗаписи
Описание, пример вызова
// Если после получения и записи классификатора надо что-то сделать, то это можно сделать в этой процедуре.// Классификатор уже записан в базу данных, поэтому можно менять связанные справочники и регистры сведений.// Для обеспечения целостности приходящих с серверов 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).