Запись в журнал регистрации изменений дополнительных сведений

Публикация № 618737

Администрирование - Администрирование данных 1С - Журнал регистрации

журнал регистрации регистр сведений дополнительные сведения

Небольшая доработка программы "Управление торговлей 11" для записи информации в журнал регистрации изменений дополнительных сведений (регистр сведений) по объектам. Должна работать на всех релизах.

Периодически от пользователей появлялись вопросы типа: "как найти, кто поставил галочку в документе"? Версионирование объектов включено, есть журнал регистрации, да вот незадача - галочка эта находится не в реквизитах документа, а в Дополнительных свойствах, привязанных к этому документу. В журнале регистрации запись такая, конечно же фиксируется, но информации по ней - практически ноль, только то, что Метаданные = РегистрСведений.ДополнительныеСведения, а хотелось бы видеть сам объект, свойство и новое значение. Причем по объекту желательно сделать возможность поиска (=отбора).

Повозившись немного, реализовал-таки этот механизм, получилось по-моему довольно удобно. Чтобы другим не изобретать велосипед, поделюсь своим решением.
Итак, во-первых, создаем Подписку на событие "ПередЗаписью" источника "РегистрСведенийНаборЗаписей.ДополнительныеСведения":
______________________________________________________________________________________________________________________
____________________________________________________________________________________________
указываем место расположение обработчика, код обработчика со вспомогательной процедурой следующий:
_____________________________________________________________________________________________
Процедура ПриЗаписиДополнительныхСведенийПередЗаписью(Источник, Отказ, Замещение) Экспорт
    
    Объект = Источник.Отбор.Объект.Значение;
    
    НаборЗаписей = РегистрыСведений.ДополнительныеСведения.СоздатьНаборЗаписей();
    НаборЗаписей.Отбор.Объект.Установить(Объект);
    НаборЗаписей.Прочитать();
    
    СтарыеЗначения = НаборЗаписей.Выгрузить();
    МассивОбработанныхСвойств = Новый Массив;
    
    Для каждого Запись Из Источник Цикл
        СделатьЗапись = Ложь;
        НайденнаяСтрока = СтарыеЗначения.Найти(Запись.Свойство, "Свойство");
        Если НайденнаяСтрока = Неопределено Тогда
            СделатьЗапись = Истина;
        Иначе    
            Если НайденнаяСтрока.Значение <> Запись.Значение Тогда
                СделатьЗапись = Истина;
            КонецЕсли; 
        КонецЕсли; 
        
        Если СделатьЗапись Тогда
            СделатьЗаписьЖурналаРегистрацииОбИзмененииДопСведения(Объект, Запись.Свойство, Запись.Значение);
        КонецЕсли; 
        МассивОбработанныхСвойств.Добавить(Запись.Свойство);    
    КонецЦикла; 
    
    // отдельно обработаем те свойства, значения которых выставлено в Ложь (они не попадают в Источник)
    Для каждого ТекСтрока Из СтарыеЗначения Цикл
        Если МассивОбработанныхСвойств.Найти(ТекСтрока.Свойство) = Неопределено Тогда
            СделатьЗаписьЖурналаРегистрацииОбИзмененииДопСведения(Объект, ТекСтрока.Свойство, Ложь);
        КонецЕсли; 
    КонецЦикла; 
    
КонецПроцедуры

Процедура СделатьЗаписьЖурналаРегистрацииОбИзмененииДопСведения(Объект, Свойство, Значение)

    ЗаписьЖурналаРегистрации("Данные.Изменение", 
        УровеньЖурналаРегистрации.Информация,
        Метаданные.РегистрыСведений.ДополнительныеСведения,
        Объект,
        "У свойства: """ + Свойство + """ установлено новое значение: """ + Значение + """");

КонецПроцедуры
Пример результата из журнала:
___________________________________________________________________
___________________________________________________________________
Данное решение применимо и для других конфигураций, в которых указанный регистр сведений имеет аналогичную структуру. В противном случае, текст процедуры нужно поправить, подставив "свои" имена реквизитов.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. necropunk 8 04.05.17 17:15 Сейчас в теме
Хе-хе, буквально месяц назад абсолютно такую же задачу решал и абсолютно тем же способом. Хотя, мне очень не нравится нагружать журнал регистрации - на больших базах искать в нем что-то вменяемое бывает довольно мучительно. Видел базу, в которой если период поиска ставишь больше месяца - база вообще падает, приходится сервер рестартить.
2. Mortiferus 342 04.05.17 19:46 Сейчас в теме
(1) Согласен, с журналом бывает такое... В данном случае хотелось по-быстрому, не создавая лишних регистров.
3. v.l. 10.08.18 09:01 Сейчас в теме
(1) Это решено на платформе начиная с релиза 8.3.5. Там ЖР представлен в базе SQLite.
5. crash-16 20.03.20 08:18 Сейчас в теме
(3) только вроде такой журнал еще хуже - 1с признали это )
4. vkozak 03.03.20 16:16 Сейчас в теме
Качественная и полезная шпаргалка.
Спасибо!!
Оставьте свое сообщение

См. также

Быстрый способ удаления записей из журнала регистрации 1С

Журнал регистрации Чистка базы v8 Бесплатно (free)

Возникают ситуации, когда необходимо выборочно удалить из журнала регистрации определенные записи. Например, размер файлов журнала неконтролируемо вырос из-за неправильно сконфигурированного регламентного задания. С помощью Perl журнал можно очистить от лишних записей всего одной строкой.

06.08.2020    2949    DataReducer    6    

ELK. Время изумительных историй!

Журнал регистрации Работа с интерфейсом v8 1cv8.cf Бесплатно (free)

Всем привет! Сегодня хочу рассказать вам несколько полезных историй про то как нам помог Elastic search в связке с Kibana. Про сам Elastic рассказывать не буду, уже все давным давно описали и до меня. Все обычно говорят что это полезно, это классно. В то же время, очень мало кто рассказывает про практические ситуации: когда и как помог Elastic. Итак, начнем.

31.10.2019    9292    slozhenikin_com    28    

Версионирование регистров сведений

Журнал регистрации Практика программирования v8 Бесплатно (free)

Моя реализация механизма мониторинга изменений регистра сведений.

17.09.2019    4148    KonS    10    

Переход на 64-х разрядный сервер 1С

Журнал регистрации Администрирование данных 1С v8 Бесплатно (free)

Переход с 32-х разрядной версии сервера 1С на 64-х разрядную с сохранением данных журналов регистрации информационных баз, используемых в 32-х разрядной версии.

05.04.2019    25661    ids79    18    

Мониторинг активности пользователя

Журнал регистрации v8 1cv8.cf Бесплатно (free)

Работает ли пользователь с программой? Сколько времени пользователь работает в программе? Что пользователь делает в программе? - эти вопросы стандартно решаются или просмотром журнала регистрации, или с помощью внешних программ. В данной статье будет предложен способ, как следить за активностью пользователей, используя небольшую доработку конфигурации. Бонусом системы мониторинга является автоматическое завершение сеансов пользователей, не работающих с программой длительное время.

11.10.2018    17904    postovalov    25    

Все, что вы хотели знать о журнале регистрации

Журнал регистрации v8 Бесплатно (free)

Исследование файла Журнала регистраций в формате lgd.

22.09.2018    26834    Fox-trot    25    

Кто запустил анализ журнала регистрации?

Журнал регистрации v8 Бесплатно (free)

В новом формате хранения файл журнала регистрации может достигать сотен гигабайт. Время выполнения выборки по нему будет очень большим, при этом возникает проблема: останавливается работа всех пользователей.

16.09.2017    19497    metmetmet    42    

Подробный журнал регистрации изменений

Журнал регистрации v8 Бесплатно (free)

Потребовалось отслеживать изменения реквизитов справочников, документов (в т.ч. и табличных частях), так как штатный журнал регистрации не даёт достаточной информации. Поскольку внедрять в рабочую конфу какие-то навороченные подсистемы, коих в сети как грязи, не хотелось, решено разработать небольшую процедуру регистрации изменений в журнале регистрации. Сама идея подобной фичи возникла после прочтения материалов статьи Механизм детального отслеживания изменения содержимого документов

24.07.2017    12600    user700035_6550355    16    

Сжатие журнала регистрации в формате SQLite (.lgd) с помощью программы "DB Browser for SQLite".

Журнал регистрации v8 Россия Бесплатно (free)

Если журнал регистрации базы 1С заметно увеличился, Вы не сможете оперативно искать в нем нужную информацию. Более того, работа с таким журналом может вызывать блокировку работы всех пользователей. Для предотвращения разрастания журнала необходимо устранять настройками запись ненужных событий и перемещать в архивы события с неактуальными датами. Избавиться от уже записанной ненужной информации можно с помощью программы DB Browser for SQLite указанным в этой статье способом.

04.06.2017    28234    DrSender    6    

Загрузка логов журнала регистрации 1С из MS SQL в ElasticSearch

Журнал регистрации v8 Бесплатно (free)

Еще один инструмент хранения и визуализации логов журнала регистрации 1С

01.09.2016    37184    farukshin    9    

Ошибка формата файла журнала регистрации, database disk image is malformed

Журнал регистрации v8 1cv8.cf Бесплатно (free)

Ошибка формата файла журнала регистрации по причине: sqlite3_step failed: database disk image is malformed db: C:\Program Files\1cv8\srvinfo\reg_1541\34eda2fe-bcf4-485e-ab47-4f302319f59a\1Cv8Log\1Cv8.lgd sql: SELECT severity, date, connectID, session, transactionStatus, transactionDate, transactionID, userCode, computerCode, appCode, eventCode, comment, metadataCodes, sessionDataSplitCode, dataType, data, dataPresentation, workServerCode, primaryPortCode, secondaryPortCode FROM EventLog WHERE date<3155378867999999 AND eventCode IN (1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42) ORDER BY date DESC

27.09.2015    92776    mrWatson    30    

Анализ журнала регистрации для автонастройки списка выгружаемых объектов в обработке ВыгрузкаЗагрузкаДанныхXML82.epf

Журнал регистрации Практика программирования Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Сказ о том, как с помощью слегка модифицированной обработки ВыгрузкаЗагрузкаДанныхXML82.epf решить задачу "Выгрузить из базы-источника все объекты, которые заданный пользователь изменил в указанный период". Данная публикация может быть интересна тем, кто хочет узнать: а) как программно анализировать журнал регистрации и б) как программно настраивать список выгружаемых объектов в обработке ВыгрузкаЗагрузкаДанныхXML82.epf.

06.08.2015    19381    q_i    2    

Журнал регистрации 1С: путь к пониманию процессов клиента

Журнал регистрации v8 1cv8.cf Бесплатно (free)

Как понять процессы документооборота клиента, имея доступ к его базе и не общаясь с ним.

11.06.2015    16825    Kindman1980    23    

Облегчение вызовов журнала регистрации с отбором по объекту

Журнал регистрации v8 1cv8.cf Бесплатно (free)

Регулярно возникает необходимость просмотреть журнал регистрации по одному объекту. С минимальными изменениями можно автоматизировать установку отбора и вызов непосредственно из формы объекта данных

24.03.2015    13486    tarassov    7    

Формат файлов журнала регистрации 1С 8.1/8.2 - ELF/LOG/LGF/LGP

Журнал регистрации v8 1cv8.cf Бесплатно (free)

В статье детально описан формат текстовых файлов журнала регистрации 1С 8.1 - ELF/LOG и 1С 8.2 - LGF/LGP

09.04.2013    83012    Антон Ширяев    34    

Версионирование объектов в программе «Управление торговлей для Украины 3.0»

Журнал регистрации Администрирование данных 1С v8 УТ10 Украина Бесплатно (free)

Для выполнения административных обязанностей часто нужно выяснить, какие события происходили в определенный момент времени или какие действия выполнял тот или иной пользователь.

13.02.2013    26639    aharechko    21    

Автоматизация укорачивания журнала регистрации

Журнал регистрации v8 1cv8.cf Бесплатно (free)

Автоматизированная периодическая очистка разросшегося журнала регистрации на сервере с сохранением удаляемых частей на другом диске.

14.11.2012    31382    Stamper    8    

Контроль изменения документов

Журнал регистрации v8 1cv8.cf Россия Бесплатно (free)

Надоело ловить за руку тех кто изменяет документы задним числом, после их распечатывания? Постоянно мучают мысли, а все ли документы в БД правильно оформлены и подписаны? Если так, читайте дальше

17.11.2011    25530    pzu    14