Позволяет получить наборы допустимых значений параметров отбора журнала регистрации: приложение, пользователь, компьютер, событие, метаданные, рабочий сервер, основной IP-порт, вспомогательный IP-порт, данные сеанса. Эти значения можно использовать для формирования параметра Отбор метода ВыгрузитьЖурналРегистрации. Требует наличия у пользователя права ЖурналРегистрации (EventLog). Отсутствие права приводит к возникновению исключения.
Синтаксис
ПолучитьЗначенияОтбораЖурналаРегистрации(<Колонки>, <ИмяВходногоФайла>)Полное описание, параметры и ограничения
Глобальный контекст.ПолучитьЗначенияОтбораЖурналаРегистрации (Global context.GetEventLogFilterValues)
Глобальный контекст (Global context)
ПолучитьЗначенияОтбораЖурналаРегистрации (GetEventLogFilterValues)
Доступен, начиная с версии 8.2.
Синтаксис:
ПолучитьЗначенияОтбораЖурналаРегистрации(<Колонки>, <ИмяВходногоФайла>)
Параметры:
<Колонки> (необязательный)
Тип: Строка.
Для того чтобы получить наборы допустимых значений определенных колонок журнала регистрации, необходимо в параметре перечислить их имена, при этом необходимо имя каждой колонки отделять запятой.
Доступны следующие колонки:
Пользователь (User);
Компьютер (Computer);
ИмяПриложения (ApplicationName);
Событие (Event);
Метаданные (Metadata);
РабочийСервер (ServerName);
ОсновнойIPПорт (Port);
ВспомогательныйIPПорт (SyncPort);
РазделениеДанныхСеанса (SessionDataSeparation);
РазделениеДанныхСеанса.<имя общего реквизита> (SessionDataSeparation.<имя общего реквизита>) - в одном вызове метода может быть указано несколько общих реквизитов, входящих в данные сеанса. Используется для получения наборов допустимых значений общих реквизитов, входящих в данные сеанса. Наборы значений возвращаются в элементе РазделениеДанныхСеансаЗначения (SessionDataSeparationValues).
Если не задан, то наборы допустимых значений будут получены для всех доступных колонок.
<ИмяВходногоФайла> (необязательный)
Тип: Строка.
Имя файла журнала регистрации.
Возвращаемое значение:
Тип: Структура.
Значения отбора журнала регистрации. Ключ элемента структуры определяет имя параметра, а значение элемента - текущее значение параметра:
ИмяПриложения (ApplicationName) - Соответствие, в котором ключ - идентификатор приложения, значение - представление приложения;
Пользователь (User) - Соответствие, в котором ключ - уникальный идентификатор пользователя информационной базы, значение - имя пользователя информационной базы;
Компьютер (Computer) - Массив строк;
Событие (Event) - Соответствие, в котором ключ - идентификатор события, значение - представление события;
Метаданные (Metadata) - Соответствие, в котором ключ - имя объекта метаданных, значение - представление объекта метаданных;
РабочийСервер (ServerName) - Массив строк;
ОсновнойIPПорт (Port) - номер основного IP-порта рабочего процесса. Массив чисел;
ВспомогательныйIPПорт (SyncPort) - номер вспомогательного IP-порта рабочего процесса. Массив чисел;
РазделениеДанныхСеанса (SessionDataSeparation) - общие реквизиты, разделяющие данные. Соответствие, в котором: ключ – имя общего реквизита; значение – представление общего реквизита;
РазделениеДанныхСеансаЗначения (SessionDataSeparationValues) – содержащий Соответствие, в котором:
ключ – имя общего реквизита;
значение – Соответствие, в котором:
ключ - значение общего реквизита;
значение - представление значения общего реквизита.
Описание:
Позволяет получить наборы допустимых значений параметров отбора журнала регистрации: приложение, пользователь, компьютер, событие, метаданные, рабочий сервер, основной IP-порт, вспомогательный IP-порт, данные сеанса.
Эти значения можно использовать для формирования параметра Отбор метода ВыгрузитьЖурналРегистрации.
Требует наличия у пользователя права ЖурналРегистрации (EventLog). Отсутствие права приводит к возникновению исключения.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Открывает файл журнала в режиме, разрешающем совместную запись.
См. также:
Глобальный контекст, метод ВыгрузитьЖурналРегистрации
Использование в версии:
Доступен, начиная с версии 8.2.
Методическая информация
Практические примеры
Различить идентификатор события и его представление для отбора
Добавляем один собственный диагностический маркер. Из допустимых значений отбора получаем только имена событий, не сведения о пользователях или компьютерах.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Создайте НОВУЮ отдельную пустую файловую базу на 8.5.1.1343. Корневое имя конфигурации УчебныйЖурнал85. Рабочий журнал УТ/КА2/УНФ/БП не используйте.
Запускайте серверный ВыполнитьПример() Экспорт собственного учебного модуля с правом просмотра журнала. Для уроков записи в настройках журнала собственной базы должен быть разрешён уровень Информация.
Фрагмент вставьте в тело процедуры; каждый урок запускайте отдельно. Код НЕ включает регистрацию автоматически и НЕ меняет настройки журнала.
Уроки с ЗаписьЖурналаРегистрации оставляют собственные события в журнале учебной базы. Это реальная диагностическая запись, не запись прикладного документа. Очистка/сокращение журнала не выполняются.
В тексты/Данные не добавляйте токены, пароли, персональные сведения или полные ответы сервисов. Выгрузка ограничена собственным случайным именем события и безопасными колонками, XML-файл не создаётся.
Уровни = ПолучитьИспользованиеЖурналаРегистрации();
Если Уровни.Найти(УровеньЖурналаРегистрации.Информация) = Неопределено Тогда
ВызватьИсключение "В собственной учебной базе уровень Информация не разрешён. Настройки кодом не менялись";
КонецЕсли;
ИмяСобытия = "УчебныйЖурнал85.Маркер." + Строка(Новый УникальныйИдентификатор);
ЗаписьЖурналаРегистрации(ИмяСобытия, УровеньЖурналаРегистрации.Информация, , , "Собственный маркер без секретов");
Представление = ПредставлениеСобытияЖурналаРегистрации(ИмяСобытия);
Сообщить("Идентификатор: " + ИмяСобытия);
Сообщить("Представление: " + Представление);
Сообщить("Использование события: " + Строка(ПолучитьИспользованиеСобытияЖурналаРегистрации(ИмяСобытия)));
ЗначенияОтбора = ПолучитьЗначенияОтбораЖурналаРегистрации("Событие");
СписокСобытий = Неопределено;
Если Не ЗначенияОтбора.Свойство("Событие", СписокСобытий) Тогда
ВызватьИсключение "В результате отсутствует запрошенная колонка Событие";
КонецЕсли;
НайденМаркер = Ложь;
Для Каждого Пара Из СписокСобытий Цикл
Если Пара.Ключ = ИмяСобытия Тогда
НайденМаркер = Истина;
Сообщить("Представление из отбора: " + Строка(Пара.Значение));
КонецЕсли;
КонецЦикла;
Сообщить(НайденМаркер);Разбор по шагам
Записываем случайное собственное имя события без системного префикса и без секретов.
ПредставлениеСобытияЖурналаРегистрации используется для отображения; точный идентификатор сохраняем отдельно для отбора.
ПолучитьИспользованиеСобытияЖурналаРегистрации читает режим, не включает событие.
ПолучитьЗначенияОтбора возвращает Структура. Её Событие содержит Соответствие идентификатор → представление.
Выводим только свою пару. Параметр Колонки не расширяем до Пользователь/Компьютер/портов/разделителей.
Как проверить результат
НайденМаркер даёт Истина при разрешённой регистрации и доступном журнале.
В сообщениях показан только новый собственный UUID события, его представление и режим; чужие события из цикла не печатаются.
Ожидаемый результат
Показан контракт вложенного результата значений отбора и разделение кода/подписи события.
На что обратить внимание
Идентификатор и локализованное представление не всегда совпадают; для отбора используйте идентификатор.
Режим события и разрешённый уровень — разные настройки; существование имени не гарантирует регистрацию любого уровня.
Собственный маркер остаётся в журнале учебной базы. Не очищайте рабочий журнал.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.