Быстрый журнал регистрации

22.04.09

База данных - Журнал регистрации

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
-
.1240297469 90,96Kb
678
678 Скачать (1 SM) Купить за 1 850 руб.
-
.1240297553 10,28Kb
566
566 Скачать (1 SM) Купить за 1 850 руб.

Также есть возможность встраивания в объекты конфигурации дополнительной кнопки, по нажатию на которую показывается история изменения объекта (в данной поставке механизм встраивания кнопки отсутствует):

// Открывает форму с информацией о истории изменения объекта
//
Процедура ПоказатьИнформациюОИсторииИзмененийОбъекта(Кнопка, Форма, Объект)
 ФормаРегистра = РегистрыСведений.жр_ЖурналРегистрации.ПолучитьФормуСписка( , Форма, Форма);
 ФормаРегистра.ПараметрОтборПоИзмерению = Новый Структура("DataRef", Объект.Ссылка);
 ФормаРегистра.Открыть();
КонецПроцедуры

Для включения механизма необходимо либо нажать кнопку "Загрузить данные журнала" (нужна соответствующая роль пользователя) либо принудительное включение регламентного задания.

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

Будет работать только на клиент-серверном варианте базы

См. также

Журнал регистрации Мониторинг Системный администратор Программист Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Платные (руб)

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

9000 руб.

28.08.2019    34486    22    21    

76

Журнал регистрации Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Конфигурация LogiCH эффективно решает проблему хранения и анализа записей журналов регистрации. Разработка использует столбцовую СУБД ClickHouse, одну из самых быстрых Big Data OLAP СУБД. Любой анализ журнала можно выполнить в одном отчете, в котором доступны все возможности СКД с учетом ограничений RLS. Количество подключаемых баз не ограничено и не влияет на скорость построения анализа.

6000 руб.

28.11.2018    21075    17    7    

42

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

В материале рассматривается сравнение двух инструментов для работы с журналом регистрации 1С: утилиты ibcmd и платформы Vector. Описаны их функциональные возможности, тестирование производительности и практическое применение для преобразования логов в формат JSON.

20.11.2024    1407    user1913000    12    

20

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

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

21.10.2024    3414    leemuar    8    

24

Инструменты администратора БД Журнал регистрации Системный администратор Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

Внешняя обработка для регламентного сокращения журнала регистрации для конфигураций на базе БСП и платформы 8.3.20+

1 стартмани

29.12.2023    2371    36    dima_gsv    3    

13

Журнал регистрации Мониторинг Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

19.11.2023    1635    5    AlexSTAL    0    

8

Мониторинг Журнал регистрации Технологический журнал Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

13.11.2023    5116    9    AlexSTAL    0    

47

Журнал регистрации Инструменты администратора БД Мониторинг Мессенджеры и боты Системный администратор Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х Абонемент ($m)

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

3 стартмани

26.09.2023    3027    19    doom2good    16    

14
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Gamm 13 21.04.09 13:52 Сейчас в теме
2. cs25 81 21.04.09 17:06 Сейчас в теме
3. Magister 134 22.04.09 10:37 Сейчас в теме
Интересно! Достали уже тормоза стандартного журнала...
4. spidem 22.04.09 10:39 Сейчас в теме
5. Expert1C 664 22.04.09 10:58 Сейчас в теме
Скорость - это не единственное что можно извлечь.
По данному регистру можно делать запросы, что позволяет:

- отслеживать ошибки - если пользователи молчат как рыбы
- составлять статистику интенсивности работы пользователей
- можно реализовать отчет по времени проведения документов (т.к. в данных фиксируется время начала и окончания транзакции)
- ...
Evg-Lylyk; German; +2 Ответить
6. noblekey 98 22.04.09 12:13 Сейчас в теме
7. Expert1C 664 22.04.09 12:21 Сейчас в теме
(6) отличия следующие:
0) представленная разработка является копией штатного журнала регистрации, но только хранится в базе и соответственно позволяет быстро считывать данные
1) не снижает производительность при записи объектов
2) корректно показывает в т.ч. отмененные транзакции
3) позволяет отследить длительность этих самых транзакций
4) не показывает изменение реквизитов
8. Valet 56 22.04.09 12:28 Сейчас в теме
(6) По всей видимости тем, что здесь используется стандартный журнал регистрации, просто загруженный в регистр сведений (т.е. в нем кроме изменений в данных еще куча информации: ошибки, сеансы и.т.д).
А то что по ссылке работает на подписках на события и ловит только изменения данных:
"Дополнительный журнал регистрации предназначен для быстрого получения данных о фактах изменения объектов базы данных."
9. Кадош 22.04.09 13:06 Сейчас в теме
посмотри в последней УПП версионность
10. inse0f 22.04.09 14:48 Сейчас в теме
но ведь на справочнике быстрее будет работать чем в регистре...
не пойму зачем разрешать системному механизму каждый раз при записи делать проверку уникальности регистра сведений.. её ж никак неотключить
а на справочнике - пожалуйста..
11. Expert1C 664 22.04.09 14:52 Сейчас в теме
(10) сам придумал или кто подсказал? проверка выполняется при вставке индекса на стороне SQL сервера
12. inse0f 22.04.09 14:58 Сейчас в теме
по тестам (гдето на мисте была статья даже)
запись около 10000 эл в справочник vs Рег Сведений
Справочник соотв. без автонумерации и контроля
пишет в 2 раза быстрее в среднем :)
вот так то
14. Expert1C 664 22.04.09 16:39 Сейчас в теме
(12) Результаты теста:
Запись справочника 1 : 0сек.
Запись регистра 1 : 0сек.
Запись справочника 10 : 0сек.
Запись регистра 10 : 0сек.
Запись справочника 100 : 0сек.
Запись регистра 100 : 0сек.
Запись справочника 1 000 : 4сек.
Запись регистра 1 000 : 0сек.
Запись справочника 10 000 : 37сек.
Запись регистра 10 000 : 2сек.

вот так то
xzorkiix; +1 Ответить
21. Ish_2 1113 23.04.09 10:46 Сейчас в теме
(14) Цитата :
"Запись справочника 10 000 : 37сек.
Запись регистра 10 000 : 2сек."

Правильно ли я понял описание теста ?
Рассматривается клиент-серверный вариант 1сПредприятия 8.

Цикл с количеством итераций 10 000 , добавляющий записи в справочник, имеет продолжительность - 37 сек

Для регистра сведений с аналогичной структурой процедура формирования набора записей 10 000 шт. для регистра с аналогичной структурой
и единственная запись набора занимает - 2 сек.
22. Expert1C 664 23.04.09 10:58 Сейчас в теме
(21)да
в представленном механизме, записи делаются не по одной, а пачкой
23. Ish_2 1113 23.04.09 11:04 Сейчас в теме
(22) Такая реализация предполагает при эффективности записи возможность потери изменений . Так ?
24. Expert1C 664 23.04.09 11:32 Сейчас в теме
(23) нет. потери данных журнала не происходит ни при каких обстоятельствах
25. Ish_2 1113 23.04.09 11:48 Сейчас в теме
(24) ...Предполагаю , что необходимо смотреть текст , чтобы убедиться в этом.

Здесь неоднократно поднимался вопрос "регистр или справочник ?"

И хотя , несомненно что :
1. Одна запись в справочник добавляется значительно быстрее чем в регистр.
2. При записи в справочник отсутствуют "тормозящие" блокировки , в отличие
от записи в регистр.
Тем не менее , Вы выбрали в качестве объекта хранения данных Регистр сведений с записью "пачками" и с "тормозящими" блокировками.
Возможно , в данной конкретной задаче у Вас были какие-то основания для этого ?
Чем так привлекателен оказался для Вас - регистр сведений ?
27. Expert1C 664 23.04.09 12:18 Сейчас в теме
(25) регистр - быстрее значительно если пачкой. тест я уже привел
28. Ish_2 1113 23.04.09 18:38 Сейчас в теме
(27)
Вопросов нет. Есть замечание .
Вставка описания теста в сообщение (14) -
1. сделала бы ненужной фразу "вот так-то "
2. и пост не сбил бы с толку (15)
31. Expert1C 664 24.04.09 09:54 Сейчас в теме
(28) Методика теста повторяет используемую в решении логику.
(29) Представленное решение ВООБЩЕ не снижает производительность системы. В регистр пишутся данные в режиме оффлайн, в отличие от механизмов Бизнес-Плюса.
(30) А не надо лазить куда не надо.
13. inse0f 22.04.09 15:03 Сейчас в теме
думаю самый быстрый вариант будет через ole доступ к sql-серверу
+ создание дополнительной базы и сохранение только guidов или ключей ссылки (что даже предпочтительнее, ищется быстрее чем по МД)
15. inse0f 22.04.09 16:56 Сейчас в теме
хы) ну значит ацкие прогеры с мисты опять накосячили
а я им верил...
16. artmicro 22.04.09 19:21 Сейчас в теме
А как это скажется на размере базы с большим количеством пользователей, за продолжительное время? Примерные цифры есть?
17. Expert1C 664 22.04.09 19:31 Сейчас в теме
есть, но это уже за отдельную плату.

механизм используется на большом количестве баз с числом активных пользователей до 100, так же работает на центральной базе для РИБ из ~15узлов.
правда для больших баз пришлось изменить структуру индексов в SQL
18. German 413 22.04.09 21:28 Сейчас в теме
Сам недавно об этом думал .. и именно такую реализацию прикидывал...

Ну наверно об возможности безболезненного удаления объектов из ИБ можно забыть :)
19. tormozit 7242 23.04.09 08:27 Сейчас в теме
(18) Если у в конфе есть журналы, то конечно их нужно игнорить при проверке ссылок на объект перед удалением.
20. Expert1C 664 23.04.09 09:28 Сейчас в теме
(19) представленный механизм учитывает необходимость удаления объектов, при этом записи в журнале и ссылки на объекты в этих записях остаются.
26. Ish_2 1113 23.04.09 12:09 Сейчас в теме
Извиняюсь , нужно уходить . До вечера.
29. inse0f 24.04.09 00:29 Сейчас в теме
странно в том что в версии ЖР от Бизнес-Плюс сделано таки на справочнике...
мне кажется тут надо провести диагностику скорости записей на разных базах, от 1 пользователя до 100 и более.
и скорее всего до какого то момента выгоднее использовать справочник

хотя отдельное спасибо за фри версию) жаль не могу плюс поставить
рейта не хватает :(
30. Sol 54 24.04.09 07:43 Сейчас в теме
Прикольная штука, только одно небольшое замечание.

Если уж делаешь сделал для своего ЖР Роли, то негоже использовать в коде конструкции:

Код
ПриложениеСсылка = Справочники.жр_Приложения.НайтиПоКоду(Код);
Показать полностью


Потому что, если не успел задать пользователю новую роль из подсистемы, то попытка посмотреть регистра журнала приводит к вылету приложения.

Всё-таки в этом случае нужно использовать Запрос, с ключевым словом РАЗРЕШЕННЫЕ
32. wirg 11.06.09 12:01 Сейчас в теме
Супер. Очень даже ничего, вот еще бы штатно во всех конфах подобное было.
33. StasN 18.06.09 14:29 Сейчас в теме
В нашей конфе присутствует подобное решение около года, т.е. все изменения документов и справочников регистрируются в регистре свидений. В результате накопилось более 2 млн. записей - при этом при открытии списка записей происходит висяк, даже если нужно посмотреть историю изменения с отбором по документу - открывается достаточно долго...
34. Expert1C 664 18.06.09 14:39 Сейчас в теме
(33) всего 2 миллиона? это мало
36. StasN 18.06.09 14:50 Сейчас в теме
(34) подрезали переодически. а так в день до более 20 тыс. записий было
38. Expert1C 664 18.06.09 14:57 Сейчас в теме
35. StasN 18.06.09 14:49 Сейчас в теме
я считаю такой способ хранения лога источником лишних блокировок и раздувания размера базы. Как результат - снижение производительности в целом.
37. Expert1C 664 18.06.09 14:56 Сейчас в теме
1) блокировки - в предложенном решении их нет по определению. В других решениях - в зависимости от реализации
2) размер базы - ну да, данные хранятся в базе и увеличивают ее размер. с этим ничего поделать нельзя. Можно конечно хранить данные не в объектах 1С, а непосредственно в базе и обращаться прямыми запросами - но тогда интерфейсная часть будет более сложной и может притормаживать.
3) общее снижение производительности из-за роста базы - бред. наличие в базе большой таблицы, не влечет за собой снижения производительности. Также правильно организованная структура данных (и алгоритмов работы с этими данными) позволяет добиться стабильно высокой производительности вне зависимости от размеров таблицы.
39. StasN 18.06.09 15:08 Сейчас в теме
почему же нет блокировок - запись в данный регистр это уже блокировка, насколько я знаю и увеличение времени проведения документа.
40. Expert1C 664 18.06.09 15:13 Сейчас в теме
(41) В моем решении дополнительных блокировок нет в принципе. Увеличения времени записи / проведения документов нет в принципе.
43. StasN 18.06.09 15:27 Сейчас в теме
(40) В какой момент тогда у тебя происходит запись в регистр
44. Expert1C 664 18.06.09 15:30 Сейчас в теме
(43) запись в регистр происходит в отдельном фоновом задании.
45. StasN 18.06.09 15:38 Сейчас в теме
(44) т.е. это делается в отдельное время или во время работы юзеров ?
и данные получается собираются из стандартного журнала ?
46. Expert1C 664 18.06.09 15:40 Сейчас в теме
(45) в описании написано:

... является копией штатного журнала регистрации ...
41. StasN 18.06.09 15:16 Сейчас в теме
и к тому же, если обычный просмотр записей с отбором по измерениям этого регистра грузит проц и забивает память - это уже мешает остальным пользователям работать.
42. Expert1C 664 18.06.09 15:22 Сейчас в теме
(41) анализ данных за большой период без отборов может нагрузить систему на несколько секунд. но я не вижу ситуации, когда это надо. Даже если выполняется статистический анализ с использованием запросов - это весегда дополнительные условия, и если правильно писать запросы - это несколько секунд.
47. Поручик 4660 22.07.09 10:04 Сейчас в теме
Автору спасибо. Третий месяц работы подсистемы в живой базе. Сколько раз выручала.
48. artbear 1565 25.07.09 09:12 Сейчас в теме
Есть ли возможность программной записи в данный журнал регистрации без регистрации в системном журнале регистрации, т.е. аналог штатного метода ЗаписьЖурналаРегистрации ?

Т.е. не хочется дублировать данные в 2-х журналах, а сразу писать в быстрый журнал.
49. Expert1C 664 26.07.09 19:10 Сейчас в теме
нет, это противоречит идеологии решения - в регистре хранится копия данных
50. Ish_2 1113 27.07.09 09:23 Сейчас в теме
Общий вопрос о выборе объекта хранения изменений.

Если в качестве объекта хранения изменений использовать справочник с единственным реквизитом Дата и табличной частью по структуре аналогичной регистру сведений , то тогда добавление "пачки" строк не будет приводить к перезаписи всей табличной части элемента справочника .
И такая операция будет осуществляться значительно быстрее , чем запись "пачки" в регистр сведений.

С Вашей точки зрения , оправдан ли такой подход ?
Велики ли дополнительные издержки , с ним связанные ?
51. Expert1C 664 27.07.09 10:32 Сейчас в теме
(50) а попробывать?
и есть подводный камень - как удалять объекты, на которые есть ссылки в журнале? при использовании регистра это проблема решается - в автоматическом режиме и при этом данные из регистра не удаляются.
52. Ish_2 1113 27.07.09 10:39 Сейчас в теме
55. Ish_2 1113 10.08.09 12:24 Сейчас в теме
(51) Нет. Не стоит.
Если скорость записи "пачки" в регистр удовлетворительна , то идея замены регистра на справочник и создания дополнительного функционала становится неразумной.
53. artbear 1565 30.07.09 10:44 Сейчас в теме
Схема работы понравилась, ввел в свои рабочие базы.
Вопросы:
1. каким образом можно вести работу в базах на РБД?
2. есть ли опыт ввода подобной системы для РБД, например, для контроля работы удаленных пользователей?
54. Expert1C 664 30.07.09 11:10 Сейчас в теме
(53) ни на одном проекте пока не требовался перенос данных журнала в ЦБД

однако при необходимости можно подумать, но за некоторое вознаграждение...
56. artbear 1565 13.10.09 16:58 Сейчас в теме
(0) Похоже, что нарисовалось неудобство использования подсистемы после нескольких месяцев использования при большем объеме РС.
При добавлении в базу новых объектов (справочник, документов) идет очень долгая реструктуризация всех записей РС :(
ИМХО это происходит, потому что у 3-го измерения стоит тип условия ЛюбаяСсылка.

А ведь добавление новых объектов в рабочую базу происходит не так и редко.
Что можно сделать?
57. tormozit 7242 30.10.09 19:25 Сейчас в теме
(56) Обрезать регистр. Ну мы вот сейчас остановились на обрезании по глубине времени. Для журнальных регистров для каждого задаем свою глубину хранения по времени. Можно еще сделать по количеству записей конечно, но это менее предсказуемо.
58. tormozit 7242 24.11.09 01:50 Сейчас в теме
Взял идею данной подсистемы и воплотил в нашей системе.
Заметил одну неприятную штуку -
8.1.15.14
Установлено разделение хранения журнала регистрации "день" и уровень "Ошибки, Предупреждения"

Периодически выполняется выгрузка кодом
Фильтр = Новый Структура;
Фильтр.Вставить("ДатаОкончания", ТекущаяДата());
Фильтр.Вставить("ДатаНачала", ДатаАктуальности + 1);
ИмяФайлаДанных = ПолучитьИмяВременногоФайла("xml");
ВыгрузитьЖурналРегистрации(ИмяФайлаДанных, Фильтр);

Стал замечать, что на границах суток журнал перестает выгружаться. Похоже пока не откроешь системную форму журнала регистрации, метод ВыгрузитьЖурналРегистрации почему то возвращает пустой файл. Как только я открываю системную форму журнала (главное меню, сервис, Журнал регистрации), все сразу само начинает работать (создается ожидаемый файл выгрузки).
59. tormozit 7242 24.11.09 01:52 Сейчас в теме
В описании не совсем точно написано "Будет работать только на клиент-серверном варианте базы". Hаботает и в файл-серверном, но с ручным обновлением/запуском регламентного задания.
60. artbear 1565 12.12.09 09:04 Сейчас в теме
1. Каким образом можно быстро очистить сабжевый регистр сведений?
Штатный способ - создать набор записей и тут же его записать - работает очень медленно (за полгода набрали 14 млн записей).
Или хотя бы убрать самую старую часть данных, т.е. ограничение по времени.

2. Кстати, а почему измерения регистра, кроме DateRef, не индексируются?
Например, поле Date вообще не индексировано, в результате отборы по периодам также могут подтормаживать.
61. Expert1C 664 14.12.09 09:27 Сейчас в теме
(60) 1 - или так, или напрямую в SQL.
2. ну поле Date индексируется по определению, оно вообще первое в кластерном индексе, индекс по номеру записи вообще не имеет смысла, а по DataRef индекс есть. но вообще на больших таблицах есть смысл перестроить индексы напрямую в SQL - убрать все составные индексы и сделать только по нужным полям. Это позволит значительно сократить объем индексов
62. artbear 1565 14.12.09 10:09 Сейчас в теме
(61) Скрипт по индексам не подскажешь? я лично подобное на 8.1 еще не делал :(
63. Expert1C 664 14.12.09 10:14 Сейчас в теме
(62) нахаляву - только типовой вариант, а оптимизация - за отдельную плату.
64. oscar2002 13.04.10 16:51 Сейчас в теме
Интересно, а как будет работать данная разработка при полном перепроведении базы в монопольном режиме (Перепроведение мес занимает 12 часов) :)
Регламентное задание отработает после снятия мнопольного режима и повиснит на чтении XML файла. В тоже время, даже, если XML файл будет прочтен, далее повиснит на записи в регистр, т.к. будет записываться огромный кусок информации.
65. Expert1C 664 12.05.10 10:27 Сейчас в теме
(64) нормально будет работать
нигде ничего не зависнет
66. sound 536 19.05.11 18:09 Сейчас в теме
(0) А на 8.2 эта штука заработает? Может я что-то конечно не так сделал, но у меня в консоли регламентных заданий обработка загрузки завершилась с ошибкой:
ОбщийМодуль.жр_ЖурналРегистрации.Модуль(205)}: Поле объекта не обнаружено (EventName).
67. sound 536 20.05.11 12:08 Сейчас в теме
Стал искать журнальчик для себя, среди прочих, и по крайней мере из того, что пока удалось найти, Ваш лидирует по качеству исполнения и кода, а еще вообще сама идея хорошая. Я бы еще добавил для себя вот такое http://infostart.ru/public/19949/, и тогда было бы вообще все просто зашибись. Однако у меня оно на 8.2 так и не заработало :cry:
68. sound 536 30.05.11 14:39 Сейчас в теме
Люди-и-и, хоть у кого-нибудь эта штука на 8.2 работает а? Или все на 8.1 сидят?
Sherdrada; +1 Ответить
69. artbear 1565 29.09.11 14:49 Сейчас в теме
(68) У меня заработало, недавно перевел конфу на 8.1 и решил проблему неверной работы.
70. sound 536 29.09.11 14:53 Сейчас в теме
(69) Поздно, я уже себе переписал :)
71. yushmakovmv 25.10.11 10:21 Сейчас в теме
Интересная разработка.
72. wwizard 7 15.03.12 18:17 Сейчас в теме
У меня 8,2
При сравнении и объединении конфигураций, база перестала работать....
т.е. она загружается но ни один документ, справочник не работает.
73. Abenefic 3 18.09.13 17:30 Сейчас в теме
Оставьте свое сообщение