LogosFor1C. Подсистема сквозного логирования на клиенте и сервере в разные приемники

Публикация № 1545451 11.11.21

Администрирование БД - Журнал регистрации

Логорование подсистема

Позволяет задать несколько настроек логирования и использовать изолированно друг от друга. При этом настройки не нужно хранить в переменной. Eсть возможность добавления своих способов логирования. Распространяется в виде расширения и конфигурации.

Зачем

Бывают ситуации, когда нет возможности отладить код. Зачастую вообще нет доступа до базы, в которой требуется отладка. Соответственно, понять, в чем же проблема, и тем более ее устранить получается не всегда.  

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

Во-первых, хотелось отказаться от передачи переменной или обработки во все участки кода, где требуется запись лога. Вместо этого один раз проинициализировать логирование и затем обращаться к нему из любого метода и контекста. Например, для записи информации об ошибке достаточно написать лЛог.От_("Мое сообщение"). Причем, если сделать небольшую адаптацию под конкретную базу, можно вызывать логирование без предварительной инициализации.

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

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

 

Совместимость

Для поставки в виде расширения режим совместимости конфигурации должен быть  8.3.12 и выше. 

Для поставки в виде конфигурации должно работать и с более ранними режимами совместимости. Но это не проверялось 

Ограничений по операционной системе не нашел. 

Тестировалось на платформах 8.3.14.2095, 8.3.17.1851

 

Общий концепт

В системе задается несколько настроек логов. Вся работа с логами идет в разрезе настроек логов.

Для каждой настройки логов задается уровень срабатывания записи и способы записи логов(способы логирования), шаблон сообщения и другие настройки. У каждой настройки логирования одновременно могут быть несколько способов логирования.

Имя настройки лога можно не указывать  в методах. В этом случае используется имя по умолчанию "logFor1C"

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

 

Инициализация

  1. Инициализация с настройками по умолчанию
лЛог.НовыйЛог();
  1. Инициализация по наименованию настройки
лЛог.НовыйЛог(Наименование);

Далее все логирование должно идти с указанием имени лога

 

Особенности изменения настроек лога на сервере

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

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

лЛог.ОбновитьЛогиНаКлиентеПоДаннымСервера();

 

Уровни логирования и основные методы

В подсистеме используется следующие (по возрастанию приоритета):

  1. НЕТ - Логирование не происходит
  2. ОТЛАДКА
  3. ИНФОРМАЦИЯ
  4. ПРЕДУПРЕЖДЕНИЕ
  5. ОШИБКА
  6. КРИТИЧЕСКАЯОШИБКА

По умолчанию используется уровень логирования ИНФОРМАЦИЯ. При установке какого-либо уровня, в лог будут выводиться только сообщения этого уровня и уровней с большим приоритетом. Уровень логирования задается для каждого инициализированного лога отдельно.

Например, если установлен уровень ПРЕДУПРЕЖДЕНИЕ то будут выводиться сообщения следующих уровней: ПРЕДУПРЕЖДЕНИЕ, ОШИБКА, КРИТИЧЕСКАЯОШИБКА.

Уровень логирования можно изменить с помощью метода УстановитьУровеньЛогирования():

лЛог.УстановитьУровеньЛогирования("Ошибка");
лЛог.УстановитьУровеньЛогирования("Ошибка", "НеОсновнойЛог");

 

Вывод сообщений в лог

Каждому уровню логирования соответствует свой метод вывода информации:

лЛог.Отл_("Отладочное сообщение", ИмяЛога = Неопределено);
лЛог.Пред_("Отладочное сообщение", ИмяЛога = Неопределено);
лЛог.Инф_("Отладочное сообщение", ИмяЛога = Неопределено);
лЛог.Ош_("Отладочное сообщение", ИмяЛога = Неопределено);
лЛог.Крит_("Отладочное сообщение", ИмяЛога = Неопределено);

Так же есть длинные варианты тех же методов

лЛог.Отладка_("Отладочное сообщение", ИмяЛога = Неопределено);
лЛог.Информация_("Отладочное сообщение", ИмяЛога = Неопределено);
лЛог.Предупреждение_("Отладочное сообщение", ИмяЛога = Неопределено);
лЛог.Ошибка_("Отладочное сообщение", ИмяЛога = Неопределено);
лЛог.КритическаяОшибка_("Отладочное сообщение", ИмяЛога = Неопределено);

Если лог с указанным именем не был инициализирован, то логирование не выполнится

 

Шаблон сообщения

Для лога можно задать свой шаблон сообщения. В шаблонах поддерживаются следующие псевдонимы:

  • %УРОВЕНЬ% - уровень лога которым было сформировано сообщение (например: ИНФОРМАЦИЯ).
  • %СОБЫТИЕ% - указанное событие логирования (имя лога).
  • %СООБЩЕНИЕ% - текст выводимого сообщения.
  • %ДАТА% - дата и время в формате yyyy.MM.dd HH:mm:ss (например: 2020.09.16 23:52:49).
  • %ДАТАМС% - количество миллисекунд текущей даты.
  • %УНИВЕРСАЛЬНАЯДАТАМС% - универсальная дата полученная с помощью функции ТекущаяУниверсальнаяДатаВМиллисекундах().

По-умолчанию используется шаблон %ДАТА% - %УРОВЕНЬ% - %СООБЩЕНИЕ%

ВАЖНО: псевдонимы регистрозависмые и допускается их указание только в верхнем регистре.

Пример шаблона:

лЛог.УстановитьШаблонСообщения("%ДАТА%.%ДАТАМС%/ %УНИВЕРСАЛЬНАЯДАТАМС% /%СООБЩЕНИЕ% | %СОБЫТИЕ% | %УРОВЕНЬ% |");
лЛог.Пред_("Привет. Это первый лог в базе");

Вывод:

2021.11.01 18:35:32.830/ 63771377732830 /Привет. Это первый лог в базе | Логирование | ПРЕДУПРЕЖДЕНИЕ |

 

Способы логирования

Поддерживаются следующие способы:

  • Консоль - вывод в стандартные сообщения
  • ЖурналРегистрации
  • Память - работает только в контексте клиента
  • База - запись в специальный регистр сведений. 
  • Файл - Логирование производится в указанный файл. Каталог файла должен быть ранее создан. У одной настройки логов может быть несколько
  • КаталогФайлов - для логирования указывается каталог и шаблон имени файла. Файлы в данном случае генерятся автоматически. Каталог должен быть ранее создан. У одной настройки логов может быть несколько

 

При использовании логирования в файлы предполагается, что каталоги файлов уже созданы и доступны с текущего контекста. При использовании логирования в ВебКлиенте расширение работы с файлами должно быть предварительно подключено.

 

Общий формат добавления способа логирования к логу

лЛог.ДобавитьСпособЛогирования(Способ, Параметры, ЛогИлиИмяЛога = Неопределено, Контекст = "");

У способа логирования могут быть параметры, которые необходимо указать при добавлении.

Параметры способа логирования можно получить методом:

лЛог.ПараметрыСпособаЛогирования(Способ);

 

Для типовых способов логирования предусмотрены специфичные методы добавления в лог

лЛог.ДобавитьСпособЛогированияКонсоль(ЛогИлиИмяЛога = Неопределено, Контекст = "");
лЛог.ДобавитьСпособЛогированияБаза(ЛогИлиИмяЛога = Неопределено, Контекст = "");
лЛог.ДобавитьСпособЛогированияЖурналРегистрации(ЛогИлиИмяЛога = Неопределено, Контекст = "");
лЛог.ДобавитьСпособЛогированияПамять(ЛогИлиИмяЛога = Неопределено, Контекст = "");
лЛог.ДобавитьСпособЛогированияФайл(ИмяФайла, ЛогИлиИмяЛога = Неопределено, Контекст = "");
лЛог.ДобавитьСпособЛогированияКаталогФайлов(Каталог, ШаблонИмениФайла = "", ЛогИлиИмяЛога = Неопределено, Контекст = "");

 

Контекст для способа логирования

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

  • Клиент - Логирование для способа происходит только на клиенте
  • Сервер - Логирование для способа происходит только на сервере
  • КлиентСервер или пустой контекст - фильтр по контексту не применяется

Например,

лЛог.ДобавитьСпособЛогированияКонсоль(, "Клиент"); //ЛОгирование для лога по умолчанию в консоль будет выполняться только на клиенте
лЛог.ДобавитьСпособЛогированияБаза(, "Сервер"); //Логирование для лога по умолчанию в базу будет тол

 

Шаблон наименования файла для логирования в каталог

По умолчанию равен [ИМЯЛОГА].txt.

Поддерживаются следующие параметры:

  • [ИМЯЛОГА] - Имя текущего лога
  • [ДАТА] - Текущая дата в формате dd.MM.yyyy
  • [ДЕНЬ] - номер текущего дня месяца
  • [ДЕНЬНЕДЕЛИ] - Номер текущего дня недели
  • [МЕСЯЦ] - Номер текущего месяца
  • [ГОД] - Текущий год
  • [НОМЕРСЕАНСА] - Номер текущего сеанса пользователя
  • [ПОЛЬЗОВАТЕЛЬ] - Имя текущего пользователя системы

 

Добавление своих способов логирования

Есть возможность определять свои способы логирования. Для этого предоставляются два варианта. Использование добавленных способов идет по общей схеме.

ПараметрыСпособа = лЛог.ПараметрыСпособаЛогирования("Мой");
ПараметрыСпособа.Суффикс = "Привет";
	
лЛог.ДобавитьСпособЛогирования("Мой", ПараметрыСпособа);

 

Добавление способа логирования через переопределяемый модуль

Нужно в общем модуле лЛогПереопределяемый доработать методы

  • ПриОпределенииСпособовЛогирования - для добавления вашего способа в список Например,
МойСпособ = лЛогСлужебный.НовыйСпособЛогирования("Мой");
	
Способы.Вставить(МойСпособ.Имя, МойСпособ);
  • ПриОпределенииПараметровСпособаЛогирования - для определения параметров, необходимых вашему способу(Необязательно) Например,
Если ИмяСпособа = "Мой" Тогда
	ПараметрыСпособа = Новый Структура;
	ПараметрыСпособа.Вставить("Суффикс", "");
КонецЕсли;

 

  • ПриВыводеСообщенияВЛогПоСпособу - здесь нужно добавить алгоритм записи лога по вашему способу

Например,

Если ИмяСпособа = "Мой" Тогда
	Сообщить(Сообщение+Параметры.Суффикс);
КонецЕсли;

 

Добавление способа логирования через новый общий модуль

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

Префикс можно переопределить в процедуре ПриОпределенииПрефиксаОбщихМодулейОпределяющихСпособыЛогирования общего модуля лЛогПереопределяемый

Имя нового способа логирования получается из имени модуля путем отсечения префикса.

Например, модуль с именем лЛогСпособЛогированияОповещениеПользователя добавляет способ логирования с именем "ОповещениеПользователя". Также имя можно задать непосредственно в модуле определив функцию Имя()

В модуле должны быть определены следующие методы

//необязательна. Показывает необхоодимость серверного контекста для выполнения записи. По умолчанию Ложь
Функция ЗаписьТолькоНаСервере() Экспорт
	Возврат Ложь;	
КонецФункции

//Необязательна. Указывает на невозможность добавления способа два раза в один лог. По умолчанию Истина
Функция ЗапретДублейУЛога() Экспорт
	Возврат Истина;
КонецФункции

//Необязательна. Позволяет переопределить имя, получаемое из имени модуля
Функция Имя() Экспорт
	Возврат "МоеИмя";
КонецФункции

//Необязательна. Определяет параметры, необходимые для способа логировнаия. По умолчанию Неопределено
Функция НовыйПараметрыСпособаЛогирования() Экспорт
	ПараметрыСпособа = Новый Структура;
	ПараметрыСпособа.Вставить("Префикс","");
	Возврат ПараметрыСпособа;	
КонецФункции

//Обязательна. Выполняет запись лога по вашему алгоритму
Процедура ЗаписатьСообщениеВЛог(Сообщение, Лог, УровеньЛогирования, Параметры) Экспорт
	СообщениеДляЗаписи = Параметры.Префикс  + Сообщение;
	лЛогСлужебныйСервер.ЗаписатьСообщениеЛогаВБазу(Лог, СообщениеДляЗаписи, УровеньЛогирования);
КонецПроцедуры

 

Управление логированием

  • Отключение логирования для лога. В этом случае логирование по данному логу прекращается, но все настройки сохраняются
лЛог.Отключить(ЛогИлиИмяЛога = Неопределено);
  • Включение логирования для лога после отключения.
лЛог.Включить(ЛогИлиИмяЛога = Неопределено);

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

  • Завершение логирования для лога. Удаление настройки лога из актуальных
лЛог.ЗавершитьЛогирование(ЛогИлиИмяЛога = Неопределено);
  • Получения текущих настроек логов
лЛог.АктивныеЛоги();
  • Удаление всех настроек логов. Остановка всего логирования
лЛог.ОчиститьСписокЛогов();
  • Получение данных лога для способа логирования Память
лЛог.ДанныеЛога(ЛогИлиИмяЛога = Неопределено);

 

Интеграция в стороннее решение

Есть возможность простой интеграции в стороннее решение с переименованием модулей и объектов подсистемы. Для этого нужно:

  1. Перенести объекты подсистемы в ваше решение
  2. Переименовать объекты подсистемы на ваши имена
  3. В модулях найти область с именем ПереопределениеМодулейПодсистемы и во вложенных процедурах указать новые имена модулей и объектов
  4. В модулях приложения, внешнего соединения и сеанса изменить вызов общих модулей на ваши.
  5. Можно пользоваться

 

 
 Пример использования

 

//Контекст - Клиент

лЛог.НовыйЛог();
лЛог.ДобавитьСпособЛогированияБаза();

лЛог.Инф_("Мой первый лог"); //Логируется только в базу

лЛог.ДобавитьСпособЛогированияФайл("D:\МойЛог.txt");

лЛог.Инф_("Мой второй лог"); //Логируется в базу и в файл

лЛог.ДобавитьСпособЛогированияФайл("D:\ЛогТолькоНаКлиенте.txt",,"Сервер");

лЛог.Инф_("Мой третий лог лог"); //Логируется в базу и в первый файл

//Контекст - Сервер
лЛог.Инф_("Мой четвертый лог лог"); //Логируется в базу и в оба файла


//Контекст - Клиент
лЛог.Отключить(); //Логирование прекращается

лЛог.Инф_("Мой пятый лог"); //ничего не залогируется

лЛог.Включить(); //Заново включаем

лЛог.Инф_("Мой шестой лог"); //Логируется в базу и в первый файл

лЛог.ЗавершитьЛогирование(); //Прекращаем логировать в лог по умолчанию.

 

 

Другие решения

 

Скачать файлы

Наименование Файл Версия Размер
Подсистема сквозного логирования на клиенте и сервере в разные приемники. Расширение

.cfe 33,67Kb
3
.cfe 2.2.1 33,67Kb 3 Скачать
Подсистема сквозного логирования на клиенте и сервере в разные приемники. Конфиуграция

.cf 34,01Kb
3
.cf 2.2.1 34,01Kb 3 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. malikov_pro 967 11.11.21 03:46 Сейчас в теме
К разделу "Другие решения", https://infostart.ru/public/671835/, сделано на адаптерах, сам не осилил, попробую применить ваше решение.
"База - запись в специальный регистр сведений. " - вызывать НаСервереБезКонтекста? В принципе рабочий вариант с потоковым чтением из SQL.
В качестве тестов можно завернуть лог РМК Розницы в вашу подсистему.
2. cprit 695 11.11.21 09:42 Сейчас в теме
(1)
К разделу "Другие решения", https://infostart.ru/public/671835/


Добавил ссылки на проект

"База - запись в специальный регистр сведений. " - вызывать НаСервереБезКонтекста? В принципе рабочий вариант с потоковым чтением из SQL.


Можно вызывать из любого контекста. При необходимости клиент серверный вызов будет произведен сам.

В качестве тестов можно завернуть лог РМК Розницы в вашу подсистему.


Это будет круто. Если будет не сложно черканите, что выявите (ошибки и предложения) в результате тестов
3. malikov_pro 967 11.11.21 10:40 Сейчас в теме
"Можно вызывать из любого контекста." - гонять форму с клиента на сервер и обратно ради одной строчки лога очень затратно.
По результатам тестов статью напишу, вроде описания функционала на IS не было.
4. cprit 695 11.11.21 10:42 Сейчас в теме
(3) Думаю, что форма гоняться и не будет. Клиент-серверный вызов делается в общем модуле.
И да. Логировать в базу или журнал регистрации на клиенте нужно аккуратно. Может быть накладно
5. quazare 1419 12.11.21 09:44 Сейчас в теме
Здравствуйте! сам буквально вчера предложил статью по работе с журналом регистраций через БСП

https://infostart.ru/1c/articles/1548219/

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

вам плюс за труды.
6. cprit 695 12.11.21 09:58 Сейчас в теме
7. oleganatolievich 148 13.11.21 11:03 Сейчас в теме
неплохо. когда я делал свое логирование в самописочке, у нас случилась беда откуда не ждали - 1С медленнее (в 4 раза по сравнению другим интерпретируемым ЯП) делает отправку в сторонний HTTP endpoint. метрики упали, у бизнеса появились вопросы, мол а с {censored} ли стало медленнее?
пришлось прикручивать лог в текстовые файлы через ЗаписьТекста, т. к. логов было очень много.
так что, подобные решения норм, когда логи пишутся нечасто.
все нормальные пацаны из других отделов писали логи в кафку, а мы в файлики.
из-за подобных подлянок со стороны вендора совсем ушел из 1С.

PS: и внимательнее с конкатенацией строк, СтрСоединить или СтрШаблон - наше все.
8. cprit 695 13.11.21 11:14 Сейчас в теме
(7) Тут можно в файлы спокойно писать тоже. Не обязательно делать это в базу или еще куда-то. Запись файлов идет через объект "ЗаписьДанных".

насчет логов в HTTP и конкатенацию полностью согласен
9. leemuar 26.11.21 11:38 Сейчас в теме
(7) это не только проблема 1С. Вы все сделали правильно. Большое количество синхронных обращений по сети к сторонним сервисам замедляют работу программы. Логировать локально, а затем асинхронно логи передавать дальше - нормальная практика в высоконагруженных проектах
11. oleganatolievich 148 26.11.21 16:24 Сейчас в теме
(9) да, я правильно сделал, что ушел из 1С :)
10. leemuar 26.11.21 11:38 Сейчас в теме
@artbear ты когда-то хотел такое
12. eufes 28.11.21 11:44 Сейчас в теме
Доброго дня. А эта подсистема предусматривает корректную запись логов если ошибка произошла в транзакции?
13. cprit 695 28.11.21 11:47 Сейчас в теме
(12) Смотря куда пишете. Если в базу - такой защиты не делали. Все остальные способы логирования работают независимо от транзакции. Идею записал.
Оставьте свое сообщение

См. также

История формирования отчетов (расширение для типовых конфигураций) Промо

Журнал регистрации v8::УФ v8::СКД ДО ERP2 БП3.0 УТ11 ЗУП3.x Абонемент ($m)

Подсистема для хранения, использования и анализа истории формирования отчетов пользователями

5 стартмани

28.11.2017    19176    33    SeiOkami    2    

Анализ изменений, отчет по версиям объектов

Журнал регистрации v8 БП3.0 Россия Абонемент ($m)

Отчет демонстрирует изменения в базе на основе библиотеки стандартных подсистем (регистр версии объектов).

1 стартмани

24.11.2021    603    1    GoodWinSpr    0    

Фоновая отправка информации журнала регистрации из конфигураций на базе 1С:Библиотека стандартных подсистем

Журнал регистрации БСП (Библиотека стандартных подсистем) Email v8 1cv8.cf Россия Абонемент ($m)

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

1 стартмани

25.10.2021    2387    4    mayz    2    

Выгрузка данных из журнала регистрации в таблицу на форме (обычное приложение)

Журнал регистрации v8 1cv8.cf Абонемент ($m)

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

1 стартмани

26.08.2021    1205    2    user995537    0    

Включение и выключение регистрации отказа в доступе если "У пользователя не достаточно прав над операцией с базой данных". Промо

Информационная безопасность Журнал регистрации v8 1cv8.cf Абонемент ($m)

Включает (выключает) регистрацию событий отказа доступа в журнале регистрации.

1 стартмани

12.01.2011    40539    368    nexts    32    

Определение даты создания элемента любого справочника

Журнал регистрации v8 1cv8.cf Абонемент ($m)

Обработка может быть полезна администраторам 1С и ответственному за чистоту баз персоналу. Когда создали контрагента? Когда сделали дубль товара? Данная обработка ответит на подобные вопросы. Дата создания элемента любого справочника определится по его наименованию.

1 стартмани

06.08.2021    1885    1    Pirat-37    6    

Поиск событий в журнале регистрации (1Cv8.lgd) без блокировки работы пользователей.

Журнал регистрации v8 Абонемент ($m)

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

1 стартмани

14.06.2021    1848    6    Goody    0    

История изменений объектов (детальный журнал регистрации)

Журнал регистрации Инструменты администратора БД v8 Платформа 1C v8.2 1cv8.cf Абонемент ($m)

Представляю Вашему вниманию разработку, которую мы использовали на предприятии, на котором я имел счастье когда-то вести свою деятельность. Зачастую возникает желание узнать, кто именно из пользователей поменял тот или иной элемент документа либо справочника. Это бывает полезно, дабы узнать причину и "виновника" поспешно совершенных действий в базе, с целью дальнейшего предотвращения подобного.

1 стартмани

18.05.2021    2799    8    Rabin    13    

Статистика работы пользователя Промо

Журнал регистрации Управленческие Статистика базы данных Учет рабочего времени Учет рабочего времени v8 1cv8.cf Абонемент ($m)

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

3 стартмани

17.07.2011    52043    435    imozg    63    

Идентификация (авторизация) пользователей

Журнал регистрации v8 1cv8.cf Абонемент ($m)

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

1 стартмани

06.05.2021    2168    3    opera199    0    

Рассылка по ошибкам журнала регистрации

Журнал регистрации Email БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

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

1 стартмани

26.04.2021    2458    7    wonderboy    0    

Внешний отчет на СКД "Ошибки и предупреждения журнала регистрации". Для любой типовой конфигурации 1С: Предприятие 8.3

Журнал регистрации v8 1cv8.cf Абонемент ($m)

20 мая 2021 года в онлайн формате пройдет Форум пользователей 1С:Документооборота. Когда, как не сейчас, намекнуть разработчикам на возможные улучшения в конфигурациях (если по-честному, просто совпало). Типовой отчет по журналу регистрации либо невозможно добавить в регламентную рассылку, либо невозможно настроить вариант (по крайней мере, я не знаю этих возможностей). Хотя очень неплохо иметь представление о происходящем в базе 1С именно на регулярной основе. Данная разработка исправляет это упущение. Интересующихся прошу под кат...

4 стартмани

19.04.2021    3013    6    capitan    6    

Просмотр документов, измененных задним числом Промо

Журнал регистрации v8 УТ10 Россия Абонемент ($m)

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

2 стартмани

12.08.2015    32010    58    ПерваяСистема    17    

Поиск в журналe регистрации 1С *.lgd

Журнал регистрации v8 v8::УФ Абонемент ($m)

Обработка для моментального поиска данных в журнале регистрации 1С SQLite (.lgd).

1 стартмани

16.02.2021    2581    15    user598199_serega240710    2    

Активность пользователей на основании журнала регистрации

Журнал регистрации v8 v8::УФ 1cv8.cf Абонемент ($m)

Активность пользователей информационной базы за период в разрезе пользователей, видов документов, самих документов и количества строк в них. Отчет выводит данные о созданных документах за период и количестве строк в них.

1 стартмани

22.11.2020    3280    35    chagbig    3    

История данных (Версионирование данных). Обычные и управляемые формы. Механизм платформы 1С

Журнал регистрации Структура метаданных v8 v8::УФ 1cv8.cf Абонемент ($m)

История данных - специальный механизм платформы 1С, который позволяет хранить в базе данных данные объектов конфигурации.

1 стартмани

30.09.2020    6243    50    yuryshestakov    0    

Получение запросом данных журнала регистрации хранящегося в SQLite Промо

Журнал регистрации v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.09.2014    74365    242    rtnm    38    

История изменения реквизитов для любых конфигураций

Инструменты администратора БД Журнал регистрации v8 1cv8.cf Россия Абонемент ($m)

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

5 стартмани

14.08.2020    4660    20    alvabul    2    

Список пользователей за период

Журнал регистрации v8 УНФ ДО Абонемент ($m)

Анализируя Журнал регистрации выводит список всех пользователей, которые заходили в текущую базу в выбранном периоде

1 стартмани

12.08.2020    3836    8    Gvozdod    1    

Объединение (слияние) журналов регистрации через СкопироватьЖурналРегистрации

Журнал регистрации v8 1cv8.cf Россия Абонемент ($m)

В основном это для тех, кто накосячил с журналом, а он оказался нужен.

1 стартмани

20.07.2020    5405    8    tech1c    2    

Монитор журнала регистрации Промо

Журнал регистрации Инструменты администратора БД WEB v8 1cv8.cf Абонемент ($m)

Позволяет в режиме реального времени отслеживать активность пользователей, накапливать и оповещать о возникновении ошибок, которые попадают в журнал регистрации

2 стартмани

29.06.2015    44608    155    andy23    51    

Экспорт журнала регистрации. Набор инструментов (приложения + исходный код)

Прочие инструменты разработчика Журнал регистрации v8 Абонемент ($m)

Набор инструментов для экспорта данных журнала регистрации во внешние хранилища для Windows и Linux (SQL Server, PostgreSQL, MySQL). Готовые приложения и исходный код.

10 стартмани

26.05.2020    13435    88    YPermitin    0    

Отправка сообщений о действиях в конфигураторе из журнала регистрации на почту письмом

Журнал регистрации v8 БП3.0 Россия Абонемент ($m)

Бывает, нужно знать, кто, кроме вас, открывал конфигуратор 1С и вносил ли изменения в саму конфигурацию. Представленная внешняя обработка добавляется в регламентные задания и по расписанию отправляет письмо по указанным адресам с отбором журнала регистрации за предыдущие сутки по действиям с конфигуратором за исключением указанных в ней пользователей (и пользователей операционной системы). Тестировалось на платформе 1С:Предприятие 8.3 (8.3.15.1830), в конфигурациях 1С ЗУП Проф 3.1.13.151 и 1С Бухгалтерия КОРП 3.0.75.93.

1 стартмани

13.05.2020    4796    2    Svetlanka_sv    0    

Отслеживание ошибок в журнале регистрации

Журнал регистрации v8 1cv8.cf Россия Абонемент ($m)

Как узнать об ошибках из журнала регистрации, когда вы не на рабочем месте? Легко!

1 стартмани

25.04.2020    6235    7    maslyann    0    

Подсистема: История изменений реквизитов объекта, в том числе табличных частей. 1с 8.2. Промо

Журнал регистрации Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

12.11.2012    43483    298    allert73    16    

Журнал регистрации в эластике с использованием службы без использования 1С (.net + elastic)

Журнал регистрации v8 Абонемент ($m)

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

1 стартмани

09.03.2020    5595    13    pashamak    5    

Версионирование (история изменений) объектов в 1С:Предприятие 8

Журнал регистрации v8 1cv8.cf Россия Абонемент ($m)

Версионирование представляет собой опцию, с помощью которой пользователь может легко установить, кто и когда изменил находящийся в базе документ, а также какие именно изменения имели место.  Платформа 1С:Предприятие 8 имеет сходную опцию – журнал регистрации, однако эта опция не позволяет выяснить характер изменений, журнал регистраций позволяет только узнать, когда был изменен документ и какой пользователь внес изменения. В платформе 8.3.11 данный механизм встроен "ИсторияДанных" и позволяет работать с версионированием через встроенные механизмы платформы, что является несомненным плюсом. Данная конфигурация предназначена для более ранних версий.

1 стартмани

15.01.2020    20512    46    ClickUp    0    

Журнал регистрации SQLite, кластер, метаданные

Журнал регистрации v8 Абонемент ($m)

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

1 стартмани

22.12.2019    7006    3    AlexSTAL    2    

Журнал регистрации на СКД (полностью программная реализация) Промо

Журнал регистрации v8 1cv8.cf Абонемент ($m)

Очередная вариация на тему отчет по журналу регистрации на СКД

1 стартмани

22.08.2013    27133    225    Жолтокнижниг    6    

Универсальная обработка (УФ) для работы с журналом регистрации в формате SQLite через ODBC

Универсальные обработки Журнал регистрации v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка позволяет подключиться к журналу регистрации в формате SQLite (.lgd) через ODBC и прочитать его события в привычном виде, как в стандартном журнале.

1 стартмани

27.11.2019    6550    10    Spartacus    6    

Выгрузка журнала регистрации в SQL

Журнал регистрации v8::УФ 1cv8.cf Россия Абонемент ($m)

Ни для кого не секрет, что для эффективного использования возможностей встроенного журнала регистрации требуется приложить немало усилий. Я не спорю, что тема избита, но тем не менее... Хотел предложить для Вас мое решение. Задача: Легкий способ ежедневно анализировать журнал регистрации. Для реализации не стал я использовать Elasticsearch. Возможно, это и удобный способ, но мне не понравилось по ряду причин. Меня устраивает, когда журнал с ошибками приходит на электронную почту ответственным за поддержку и открывается в excel. А также, когда лог-базу можно открыть как внешний источник данных, например, совсем в другой базе, где таких источников, как правило, несколько.

3 стартмани

25.11.2019    7635    15    MikeLetto    0    

Управление историей изменения данных

Журнал регистрации v8 1cv8.cf Россия Абонемент ($m)

Данная обработка позволяет включить версионирование объектов истории изменения данных.

10 стартмани

09.11.2019    10603    12    D_E_S131    3    

Анализ транзакций по журналу регистрации 1С 8 Промо

Журнал регистрации v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 УНФ Россия Абонемент ($m)

Из журнала регистрации (ЖР) можно почерпнуть немного информации о производительности. 28.08.2012 Новая версия с графическим представлением

1 стартмани

28.12.2011    28458    304    leksmut    30    

Версионирование объеков УТ 10 с возможностью перехода к сохраненной версии

Журнал регистрации Универсальные функции v8 УТ10 Абонемент ($m)

Версионирование объектов УТ 10.3 с возможностью перехода к сохраненной версии. Взята стандартная система версионирования УПП, добавлена возможность восстановления ранее сохраненной версии.

1 стартмани

28.10.2019    11300    51    art.prm    8    

Быстрый поиск в журналe регистрации 1С *.lgd

Журнал регистрации v8 1cv8.cf Абонемент ($m)

Обработка для быстрого поиска данных в журнале регистрации 1С SQLite (.lgd). 8.3.15.

1 стартмани

10.10.2019    10768    30    andboss    7    

Сложнейшая загрузка журнала регистрации в ElasticSearch (или делаем настоящий ETL)

Журнал регистрации v8 Россия Абонемент ($m)

Году в 2017ом возникло (наверное странное на тот момент) желание перегрузить журнал регистраций 1С в ELK. Чтобы журналы место на диске не съедали, 1С программисты забыв поставить фильтр сервер не подвешивали, все журналы лежали в одном месте да и можно было безопасно туда ответственных пользователей пускать, чтобы сами смотрели кто какой документ поправил.На предложение написать выгрузку сразу из 1С программисты благополучно забили ("ой на это минимум месяц", "у нас срочные бизнес-фичи" и т.д. и т.п.). Зато попалась статья от Aleksey.Bochkov (https://infostart.ru/public/182820/). Ну и решили мы все это запилить без 1С программистов. Во что влезаем я тогда еще не понимал. А вылилось почти в год допилок (хорошо хоть в фоновом режиме) в цельный ETL с использованием C#, T-SQL и прочими делами.

1 стартмани

27.09.2019    16084    6    DonAlPatino    33    

Версионирование объектов Промо

Журнал регистрации v8 КА1 БП2.0 ЗУП2.5 УТ10 УПП1 Россия Абонемент ($m)

Немного измененный механизм версионирования объектов. Может использоваться с любой конфигурацией (возможно с небольшими доработками). Тестировался на УТ 10.3. Основное отличие - контроль уже записанных версий объектов.

1 стартмани

25.05.2012    42366    414    kolos    23    

Удаление журнала регистрации с отбором

Журнал регистрации v8 1cv8.cf Россия Абонемент ($m)

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

2 стартмани

05.09.2019    8933    23    doctorov_s    5    

Журнали2Ст: сверхбыстрый журнал регистрации 1С

Журнал регистрации v8 Абонемент ($m)

Строит внешний индекс по журналам регистрации любого формата и делает поиск в них фантастически быстрым. Дополнительно ничего не нужно настраивать! Журналы Регистрации остаются на своём месте и не занимают дополнительного, а сервис Журнали2Ста обеспечивает их постоянную индексацию.

1 стартмани

22.08.2019    17223    104    MrWonder    71    

Отправление событий журнала регистрации в приватный / публичный канал Telegram в виде сообщений и файлов

WEB Журнал регистрации v8 v8::УФ Абонемент ($m)

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

1 стартмани

29.07.2019    8416    8    serg-lom89    0    

Отчет об изменениях в объектах Промо

Журнал регистрации v8 1cv8.cf Россия Абонемент ($m)

Обработка подписывается на событие записи выбранных объетов, и по команде, показывает таблицу изменений реквизитов в объекте. Обработка универсальная - не требует вносить изменения в конфигурацию. Eсть пример подключения к обмену ковертации данных через XML.

1 стартмани

21.11.2011    25646    210    i132    6    

Как отправить ошибки из журнала регистрации на почту? Продолжение. Отдельная база

Журнал регистрации v8 Абонемент ($m)

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

1 стартмани

27.05.2019    7686    4    wowik    0    

Запуск встроенного в платформу механизма История данных для ленивых

Журнал регистрации v8 1cv8.cf Абонемент ($m)

В последних версиях платформы 1С появился замечательный механизм Истории данных. Если кратко, механизм позволяет сохранять историю, просматривать, сверять и самое приятное, это восстанавливать любую версию объекта. А самое главное, чтобы это заработало, не нужно продумывать, писать и поддерживать тонны кода, все уже сделано за нас... Возникает вопрос: Как запустить встроенный в платформу механизм Истории данных ничего не кодируя?

1 стартмани

24.05.2019    13243    15    _root    13    

Подсистема для выгрузки, быстрого поиска и анализа журнала регистрации 1С в Elasticsearch

Журнал регистрации Поиск данных v8 1cv8.cf Абонемент ($m)

Elasticsearch - это opensource решение для очень быстрого поиска данных в больших массивах информации. Использование этого решения позволит решить проблемы с поиском и анализом больших объемов информации журнала регистрации. Протестировано на платформах начиная с 8.3.10.2580.

5 стартмани

15.05.2019    15358    32    Nikolo17    14    

Анализ времени проведения документов Промо

Журнал регистрации Статистика базы данных v8 1cv8.cf Абонемент ($m)

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

1 стартмани

06.05.2011    24605    205    anderson    20    

Журнал Регистрации ➜ Телеграмм

Журнал регистрации v8::УФ 1cv8.cf Россия Абонемент ($m)

Подключаемая обработка для рассылки ошибок журнала регистрации в телеграмм.

1 стартмани

14.05.2019    12875    25    🅵🅾️🆇    9    

История данных [Расширение] УТ11

Журнал регистрации v8 УТ11 Абонемент ($m)

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

10 стартмани

06.05.2019    8291    4    noprogrammer    6    

Журнал регистрации по навигационной ссылке

Журнал регистрации v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка получает записи журнала регистрации только по указанной навигационной ссылке (либо просто по ссылке).

1 стартмани

13.03.2019    7844    2    Смешной 1С    0    

Сообщение об ошибках журнала регистрации по электронной почте

Журнал регистрации Email v8 1cv8.cf ЗКГУ3.0 БП3.0 ЗУП3.x Россия Абонемент ($m)

Универсальная внешняя обработка по выгрузки ошибок журнала регистрации по электронной почте. Может работать как отдельно по команде, так и быть загруженной в справочник Дополнительные отчеты и обработки и запускаться по настраиваемому расписанию.

2 стартмани

04.03.2019    7891    7    ig-efrem    2    

Запрос к Журналу регистрации

Журнал регистрации v8 ЗКГУ3.0 Россия Абонемент ($m)

Краткая форма получения сведений из Журнала регистрации - изменение объекта с детализацией событий до минут; список неиспользуемых или редко используемых дополнительных отчетов и обработок

1 стартмани

03.03.2019    8118    21    mnb-next    2    

История версий объектов

Журнал регистрации v8 1cv8.cf Россия Абонемент ($m)

Подсистема для записи и хранения изменений любых объектов ссылочного типа. Формирует хронологию работы пользователей с базой данных. Позволяет произвести быстрый поиск версии объекта БД по указанным параметрам и восстановить данные выбранной версии. Протестирована в конфигурации ЗУП, редакция 2.5 на платформе 1С:Предприятие 8.2 (8.2.19.130). Обычные формы. В поставке выгрузка тестовой демонстрационной базы и файл CF c объектами подсистемы.

1 стартмани

22.02.2019    9583    13    dmitrydemenew    7    

Рассылка событий журнала регистрации

Журнал регистрации v8 1cv8.cf Абонемент ($m)

Отправка событий журнала регистрации на почту с возможностью группировки и фильтрации.

1 стартмани

07.02.2019    7332    8    Just4Fun    0