Как посмотреть кто какими отчетами пользовался?
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Процедура ПриОткрытииОтчета(ОтчетОбъект,ДополнительныйФлаг = "") Экспорт
МетаданныеОтчета = ОтчетОбъект.Метаданные();
ИмяОбъекта = МетаданныеОтчета.Имя;
ПолноеИмяОбъекта = "Отчет." + МетаданныеОтчета.Имя;
СМТД = Справочники.служМетаданные.НайтиПоНаименованию(ИмяОбъекта,ИСТИНА,Справочники.служМетаданные.Отчеты);
Если СМТД = Справочники.служМетаданные.ПустаяСсылка() Тогда
СПР = Справочники.служМетаданные.СоздатьЭлемент();
СПР.Наименование = ИмяОбъекта;
СПР.Синоним = МетаданныеОтчета.Синоним;
СПР.Родитель = Справочники.служМетаданные.Отчеты;
СПР.Записать();
СМТД = СПР.Ссылка;
КонецЕсли;
РЕГ = РегистрыСведений.РегистрационныйЖурналСобытий.СоздатьМенеджерЗаписи();
РЕГ.Период = ТекущаяДата();
РЕГ.ОбъектСобытия = СМТД;
РЕГ.СобытиеОбъекта = Справочники.СобытияИнформационнойБазы.ОткрытиеФормы;
РЕГ.Пользователь = ПараметрыСеанса.ТекущийПользователь.Ссылка;
РЕГ.ДополнительныйФлаг = ДополнительныйФлаг;
РЕГ.Записать(ИСТИНА);
КонецПроцедуры
ПоказатьЧто то типа того
Использую свой РегистрыСведений.ЖурналАктивностиПользователей для отслеживания запуска ответов, обработок и т.п.
Например, в модуле объекта СКД отчета:
В общем модуле КФСерверВызов:
Например, в модуле объекта СКД отчета:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
КФСерверВызов.ДобавитьВЖурналАктивностиПользователей(ЭтотОбъект,"Отчет");
ДокументРезультат.ФиксацияСлева=2;
КонецПроцедуры
В общем модуле КФСерверВызов:
Процедура ДобавитьВЖурналАктивностиПользователей(Объект, ТипОбъекта, Примечание = "") Экспорт
Если Объект=Неопределено Тогда
ИмяОбъекта=ТипОбъекта;
СинонимОбъекта=ТипОбъекта;
ИначеЕсли ТипЗнч(Объект)=Тип("Строка") Тогда
ИмяОбъекта=Объект;
СинонимОбъекта=Объект;
Иначе
МетаданныеОбъекта=Объект.Метаданные();
ИмяОбъекта=МетаданныеОбъекта.Имя;
СинонимОбъекта=МетаданныеОбъекта.Синоним;
Если Примечание="" Тогда
Попытка
Примечание=СокрЛП(Объект.КомпоновщикНастроек.Настройки.ДополнительныеСвойства.ВариантНаименование);
Если СинонимОбъекта=Примечание ИЛИ Примечание="Основной" Тогда
Примечание="";
Иначе
Примечание=СокрЛП(СтрЗаменить(Примечание,СинонимОбъекта,""));
КонецЕсли;
Исключение
КонецПопытки;
Для каждого Параметр из Объект.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы Цикл
Если Не Параметр.Использование Тогда
Продолжить;
КонецЕсли;
Если Примечание<>"" Тогда
Примечание=Примечание+", ";
КонецЕсли;
ТипПараметра=Тип(Параметр);
Если ТипПараметра=Тип("ЗначениеПараметраНастроекКомпоновкиДанных") Тогда
Примечание=Примечание+Параметр.Значение;
ИначеЕсли ТипПараметра=Тип("ЭлементОтбораКомпоновкиДанных") Тогда
Примечание=Примечание+Параметр.ПравоеЗначение;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Пользователь=ПараметрыСеанса.ТекущийПользователь;
Если Пользователь=Неопределено ИЛИ Пользователь.Пустая() Тогда
Пользователь=Справочники.Пользователи.НайтиПоКоду("НеАвторизован");
КонецЕсли;
НаборЗаписей=РегистрыСведений.ЖурналАктивностиПользователей.СоздатьНаборЗаписей();
Запись=НаборЗаписей.Добавить();
Запись.Период=ТекущаяДата();
Запись.Пользователь=Пользователь;
Запись.ТипОбъекта=ТипОбъекта;
Запись.ИмяОбъекта=ИмяОбъекта;
Запись.СинонимОбъекта=СинонимОбъекта;
Запись.Примечание=Примечание;
НаборЗаписей.Записать(Ложь);
КонецПроцедуры
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот