отключение регистрации событий в журнале регистрации (пообъектно)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) infostart user, присоединяюсь к теме.. уже долго ищу как это сделать, похоже никак ( в 8.3 там журнал в SQLLite ) там можно сделать внешний источник - журнал и вычищать все записи ненужные из журнала по регламентному заданию .. только вот так через задницу.
ПС: почему в 1С не догадаются сделать в свойствах метаданных как вести журналирование этого объекта + какую нибудь процедурку типа ПриЗаписиВЖурналРегистрации в модуле объекта - для меня загадка ( помоему это на поверхности...
ПС: почему в 1С не догадаются сделать в свойствах метаданных как вести журналирование этого объекта + какую нибудь процедурку типа ПриЗаписиВЖурналРегистрации в модуле объекта - для меня загадка ( помоему это на поверхности...
Я пытался разобраться в этой теме. Но у меня была чуть другая задача: не регистрировать изменения объектов программным способом.
Ответ: Похоже никак. Пока общественность дает такой ответ:
1)отключить в системе журналирование.
2)программно записывать в журнал при событиях записи.
Ответ: Похоже никак. Пока общественность дает такой ответ:
1)отключить в системе журналирование.
2)программно записывать в журнал при событиях записи.
(8) infostart user, у меня есть регистр "История просмотра объектов", туда пишется все что пользовать просто просматривал.. представьте какой срач наводит это в ЖР ? а в типовой УТ11 есть регистры типа АналитикаУчетаНоменклатуры + такой же по партнерам.. там тоже еще тот срач когда туда пишутся объекты, коих оооочень много...
(10) AllexSoft, есть у тебя регистры и что дальше? у всех есть подобные регистры, а я про журнал регистрации спрашиваю.
(12) infostart user, ща я напишу реальный пример) мне как раз мега актуально..
ПС: хотя там в справке этот пример имеется..
давай, жду не дождусь)
ПС: хотя там в справке этот пример имеется..
(14) infostart user,
проверил) все работает как надо )
ПС: вам надо будет добавить в конец процедурки еще
//Выполняется в привелигированном режиме при начале работы системы (в установка параметров сеанса БСП)
Процедура УстановитьПараметрыЖурналаРегистрацииДляОбъектов() Экспорт
УстановитьПривилегированныйРежим(Истина);
// Событие Доступ
ОписанияДоступ = Новый Массив;
ПоляДоступа = Новый Массив;
ПоляРегистрации = Новый Массив;
Доступ = Новый ОписаниеИспользованияСобытияДоступЖурналаРегистрации;
Доступ.Объект = "РегистрСведений.ИсторияПросмотраОбъектов";
Доступ.ПоляРегистрации = ПоляРегистрации;
Доступ.ПоляДоступа = ПоляДоступа;
ОписанияДоступ.Добавить(Доступ);
ИспользованиеСобытия = Новый ИспользованиеСобытияЖурналаРегистрации;
ИспользованиеСобытия.Использование = Ложь;
ИспользованиеСобытия.ОписаниеИспользования = ОписанияДоступ;
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.New",
ИспользованиеСобытия);
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.Update",
ИспользованиеСобытия);
КонецПроцедуры
Показатьпроверил) все работает как надо )
ПС: вам надо будет добавить в конец процедурки еще
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.Delete",
ИспользованиеСобытия);
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.Post",
ИспользованиеСобытия);
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.Unpost",
ИспользованиеСобытия);
Показать
(18) AllexSoft,
1. походу можно только один раз устанавливать.
2. сделал так и блокировка регистрации сработала для всех документов
3. я же говорю, что не получится, т.к. я уже пытался так делать.
все дело в том, что (особое внимание на послед. строчку) доп. описание можно делать только для событий доступа)
и в примере в 1сном, просто блокируют доступ, а не данные. это немного разные вещи.
1. походу можно только один раз устанавливать.
2. сделал так и блокировка регистрации сработала для всех документов
УстановитьПривилегированныйРежим(Истина);
// Событие Доступ
ОписанияДоступ = Новый Массив;
ПоляДоступа = Новый Массив;
ПоляРегистрации = Новый Массив;
Доступ = Новый ОписаниеИспользованияСобытияДоступЖурналаРегистрации;
Доступ.Объект = "Документ.ИмяДокумента";
Доступ.ПоляРегистрации = ПоляРегистрации;
Доступ.ПоляДоступа = ПоляДоступа;
ОписанияДоступ.Добавить(Доступ);
ИспользованиеСобытия = Новый ИспользованиеСобытияЖурналаРегистрации;
ИспользованиеСобытия.Использование = Истина;
ИспользованиеСобытия.ОписаниеИспользования = ОписанияДоступ;
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.New",
ИспользованиеСобытия);
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.Update",
ИспользованиеСобытия);
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.Delete",
ИспользованиеСобытия);
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.Post",
ИспользованиеСобытия);
УстановитьИспользованиеСобытияЖурналаРегистрации(
"_$Data$_.Unpost",
ИспользованиеСобытия);
Показать3. я же говорю, что не получится, т.к. я уже пытался так делать.
все дело в том, что (особое внимание на послед. строчку) доп. описание можно делать только для событий доступа)
ОписаниеИспользованияСобытияДоступЖурналаРегистрации (EventLogAccessEventUseDescription)
ОписаниеИспользованияСобытияДоступЖурналаРегистрации (EventLogAccessEventUseDescription)
Свойства:
Объект (Object)
ПоляДоступа (AccessFields)
ПоляРегистрации (RegistrationFields)
Конструкторы:
Основной
Описание:
Используется при описании использования события _$Access$_.Access.
ПоказатьОписаниеИспользованияСобытияДоступЖурналаРегистрации (EventLogAccessEventUseDescription)
Свойства:
Объект (Object)
ПоляДоступа (AccessFields)
ПоляРегистрации (RegistrationFields)
Конструкторы:
Основной
Описание:
Используется при описании использования события _$Access$_.Access.
и в примере в 1сном, просто блокируют доступ, а не данные. это немного разные вещи.
(19) infostart user,
нельзя.. я проверил, каждый раз надо устанавливать где нибудь в событиях при запуске системы.. ну я устанавливаю в при установке параметров сеанса...
да.. а вам что надо было? вам надо что, скажем РТУ только по определенному контрагенту на записывались в журнал ? или что.. опишите реальный пример..
обратите на событие _$Data$_ ..это как раз данные...
1. походу можно только один раз устанавливать.
нельзя.. я проверил, каждый раз надо устанавливать где нибудь в событиях при запуске системы.. ну я устанавливаю в при установке параметров сеанса...
2. сделал так и блокировка регистрации сработала для всех документов
да.. а вам что надо было? вам надо что, скажем РТУ только по определенному контрагенту на записывались в журнал ? или что.. опишите реальный пример..
3. я же говорю, что не получится, т.к. я уже пытался так делать.
и в примере в 1сном, просто блокируют доступ, а не данные. это немного разные вещи.
и в примере в 1сном, просто блокируют доступ, а не данные. это немного разные вещи.
обратите на событие _$Data$_ ..это как раз данные...
(20) AllexSoft,
нужно чтобы все события по РТУ не писались в журнал, а все остальное, чтобы писалось.
просто исключить регистрацию записи событий для одного объекта.
я обратил, я все понимаю.
вы обратите внимание на справку метода ОписаниеИспользованияСобытияДоступЖурналаРегистрации.
там написано "Используется при описании использования события _$Access$_.Access.".
т.е. эти строки вообще роли не играют:
так может из-за того, что устанавливает в параметрах сеанса оно и работает у вас только в контексте сенаса.
я установил блок обработкой, зашел под другим пользователем, перезаписал документ и записей не было.
потом снял блок обработкой, опять зашел под другим юзером, перезаписал документ, и записи были.
да.. а вам что надо было? вам надо что, скажем РТУ только по определенному контрагенту на записывались в журнал ? или что.. опишите реальный пример..
нужно чтобы все события по РТУ не писались в журнал, а все остальное, чтобы писалось.
просто исключить регистрацию записи событий для одного объекта.
обратите на событие _$Data$_ ..это как раз данные...
я обратил, я все понимаю.
вы обратите внимание на справку метода ОписаниеИспользованияСобытияДоступЖурналаРегистрации.
там написано "Используется при описании использования события _$Access$_.Access.".
т.е. эти строки вообще роли не играют:
Доступ = Новый ОписаниеИспользованияСобытияДоступЖурналаРегистрации;
Доступ.Объект = "Документ.ИмяДокумента";
Доступ.ПоляРегистрации = ПоляРегистрации;
Доступ.ПоляДоступа = ПоляДоступа;
ОписанияДоступ.Добавить(Доступ);
нельзя.. я проверил, каждый раз надо устанавливать где нибудь в событиях при запуске системы.. ну я устанавливаю в при установке параметров сеанса...
так может из-за того, что устанавливает в параметрах сеанса оно и работает у вас только в контексте сенаса.
я установил блок обработкой, зашел под другим пользователем, перезаписал документ и записей не было.
потом снял блок обработкой, опять зашел под другим юзером, перезаписал документ, и записи были.
(23) infostart user, похоже только вариант сделать так: в перед записью выключать ЖР через УстановитьИспользованиеСобытияЖурналаРегистрации, а в событии ПослеЗаписи его включать снова.. (
ПС: я изначально не заметил что у меня события которые я выключил выключились на все объекты (( эхх!
ПС: я изначально не заметил что у меня события которые я выключил выключились на все объекты (( эхх!
(24) AllexSoft, омг, нет, дело в том, что документы которым нужно запретить журналирование, каждую секунду записываются и перезаписываются, это делается фоновым задание.
если каждую секунду отключать и включать журналирование - потеряем много данных по событиям остальных документов.
так а что с платформой не то?
если каждую секунду отключать и включать журналирование - потеряем много данных по событиям остальных документов.
так а что с платформой не то?
Вообще-то средства языка позволяют провести тонкую настройку ЖР
УстановитьИспользованиеСобытияЖурналаРегистрации()
в справке пример как включить отдельное событие для отдельного объекта
УстановитьИспользованиеСобытияЖурналаРегистрации()
в справке пример как включить отдельное событие для отдельного объекта
(9) ufedor, у меня не получилось настроить так, чтобы события нужного мне документа не регистрировались.
пожалуйста, покажите пример.
если кто-то знает точно как исключить регистрацию событий объекта в журнале - приведите реальный пример.
не пишите разную чушь, типа, что вот есть метод и им пользуйся.
я шуршал инет перед тем как создать тему и все это видел, пробовал сам написать код, который бы решил мою задачу, но не получилось, поэтому обратился сюда.
если знаете как и чем - жду реальный пример, все остальное неинтересно.
пожалуйста, покажите пример.
в справке пример как включить отдельное событие для отдельного объекта
в справке пример как включить или выключить доступ, это максимум, что можно "тонко" настроить.
если кто-то знает точно как исключить регистрацию событий объекта в журнале - приведите реальный пример.
не пишите разную чушь, типа, что вот есть метод и им пользуйся.
я шуршал инет перед тем как создать тему и все это видел, пробовал сам написать код, который бы решил мою задачу, но не получилось, поэтому обратился сюда.
если знаете как и чем - жду реальный пример, все остальное неинтересно.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот