Каталог решений - Фиксим ошибки с созданием задачи администратору системы, на примере УТ 10.3

Фиксим ошибки с созданием задачи администратору системы, на примере УТ 10.3

Фиксим ошибки с созданием задачи администратору системы, на примере УТ 10.3

В наличии

При внедрении УТ 10.3, столкнулся с проблемой, связанной с людьми, возникла необходимость написания АРМ’ов для каждого из участка бизнес-процесса, для простоты отладки был задействован метод Попытка .. Исключение Сообщить (ОписаниеОшибки()); КонецПопытки; .
Однако пользователи системы звонили, говорили все, что угодно только не сообщение об ошибке :).

Категория:

Описание

В результате чего родилась идея создавать задачу администратору системы, для чего необходимо

 

1. Внести один предопределенный элемент в «План видов характеристик» — «НастройкиПользователей»  с типом булево  и наименование = «АдминистраторСистемы».

2. Общий модуль — «Общего назначения» положить экспортную процедуру

    Процедура СоздатьЗадачуАдминистраторуСистемы (СообщениеОбОшибке,Заказ=Null) Экспорт
   
Запрос = Новый Запрос;
   
Запрос.Текст = «ВЫБРАТЬ
    |НастройкиПользователей.Пользователь
    |ИЗ
    |    РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
    |ГДЕ
    |    НастройкиПользователей.Настройка = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НастройкиПользователей.АдминистраторСистемы)
    |    И НастройкиПользователей.Значение = ИСТИНА»
;

    Результат = Запрос.Выполнить();
    Если НЕ
Результат.Пустой() Тогда
   
Выборка = Результат.Выбрать();

    Пока Выборка.Следующий() Цикл

    ТекЗадача = Задачи.ЗадачиПользователя.СоздатьЗадачу();
   
ТекЗадача.Наименование=«Ошибка системы»;
   
ТекЗадача.Дата  = ТекущаяДата();
   
ТекЗадача.Выполнена = ложь;
   
ТекЗадача.ДатаИсполнения = ТекущаяДата()+900;
   
ТекЗадача.Инициатор = ПараметрыСеанса.ТекущийПользователь;
   
ТекЗадача.Исполнитель = Выборка.Пользователь;
   
ТекЗадача.Оповещение=Истина;

    ТекЗадача.Описание = СообщениеОбОшибке;
   
ТекЗадача.СрокИсполнения = ТекущаяДата() + 1800;
   
ТекЗадача.СрокОповещения = ТекущаяДата()+ 120;
    Если НЕ
Заказ=Null Тогда
   
ТекЗадача.Объект = Заказ;
    КонецЕсли;
    Попытка
   
ТекЗадача.Записать();
    Исключение
    КонецПопытки;
    КонецЦикла;
    КонецЕсли;
    КонецПроцедуры

3. Задать конкретным пользователям ИБ значение Администратор системы.

 

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

Принципиально она позволяет создавать задачу любой направленности для АдминистратораСистемы.

 

В итоге выловена ошибка на поиск которой ушел месяц из-за ее плавающего эффекта за 15 минут .

 

 

 

has been added to your cart:
Оформление заказа