Отслеживание ошибок в журнале регистрации
База данных - Журнал регистрации
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Бывают в жизни моменты, когда, например, фоновое задание не отрабатывает. А ты думаешь, что всё должно работать, но что-то изменилось НЕ на твоей стороне, например к fpt доступ пропадает. Либо просто есть цель, узнать, какие ошибки при работе пользователей происходят. Для своего удобства создал маленькую внешнюю обработку, которая присылает на почту сообщение с ошибками из журнала регистрации. Настроил отправку 1 раз в час фоновым заданием. Решил поделиться этим и, возможно, начинающим разработчикам это будет полезно =)
Тестировалось на самописной конфигурации с библиотекой БСП 3.1.1.151.
Скриншоты мы можете увидеть в описании статьи.
ТаблицаЖурналаРегистрации = Новый ТаблицаЗначений;
ПериодВремени = 60*60; // Час
ОтборЖР = Новый Структура("ДатаНачала, ДатаОкончания, Уровень", ТекущаяДатаСеанса() - ПериодВремени, ТекущаяДатаСеанса(), УровеньЖурналаРегистрации.Ошибка);
ВыгрузитьЖурналРегистрации(ТаблицаЖурналаРегистрации, ОтборЖР, "Дата, ПредставлениеСобытия, Комментарий, ИмяПользователя, Компьютер, ИмяПриложения");
МассивСтрокТелаПисьма = Новый Массив;
СтрокаОшибки = "";
Для каждого СтрокаТЗ из ТаблицаЖурналаРегистрации Цикл
СтрокаОшибки = Строка(СтрокаТЗ.Дата);
СтрокаОшибки = СтрокаОшибки + " " + СтрокаТЗ.ПредставлениеСобытия;
СтрокаОшибки = СтрокаОшибки + " " + СтрокаТЗ.ИмяПользователя;
СтрокаОшибки = СтрокаОшибки + " " + СтрокаТЗ.ИмяПриложения;
СтрокаОшибки = СтрокаОшибки + " " + СтрокаТЗ.Компьютер;
СтрокаОшибки = СтрокаОшибки + Символы.ПС + СтрокаТЗ.Комментарий;
СтрокаОшибки = СтрокаОшибки + Символы.ПС + "---------------------";
МассивСтрокТелаПисьма.Добавить(СтрокаОшибки);
КонецЦикла;
ТелоСообщения = СтрСоединить(МассивСтрокТелаПисьма, Символы.ПС);
Если ПустаяСтрока(ТелоСообщения) Тогда
Возврат;
КонецЕсли;
СистемнаяУчетнаяЗапись = РаботаСПочтовымиСообщениями.СистемнаяУчетнаяЗапись();
СтруктураОтправки = Новый Структура;
СтруктураОтправки.Вставить("Кому", СистемнаяУчетнаяЗапись.АдресЭлектроннойПочты);
СтруктураОтправки.Вставить("Тема", "Отчет об ошибках");
СтруктураОтправки.Вставить("Тело", ТелоСообщения);
РаботаСПочтовымиСообщениями.ОтправитьПочтовоеСообщение(СистемнаяУчетнаяЗапись, СтруктураОтправки);
Вступайте в нашу телеграмм-группу Инфостарт