Фиксим ошибки с созданием задачи администратору системы, на примере УТ 10.3
При внедрении УТ 10.3, столкнулся с проблемой, связанной с людьми, возникла необходимость написания АРМ’ов для каждого из участка бизнес-процесса, для простоты отладки был задействован метод Попытка .. Исключение Сообщить (ОписаниеОшибки()); КонецПопытки; .
Однако пользователи системы звонили, говорили все, что угодно только не сообщение об ошибке :).
- Описание
- Подробнее
Описание
В результате чего родилась идея создавать задачу администратору системы, для чего необходимо
1. Внести один предопределенный элемент в «План видов характеристик» — «НастройкиПользователей» с типом булево и наименование = «АдминистраторСистемы».
2. Общий модуль — «Общего назначения» положить экспортную процедуру
Процедура СоздатьЗадачуАдминистраторуСистемы (СообщениеОбОшибке,Заказ=Null) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
|НастройкиПользователей.Пользователь
|ИЗ
| РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
|ГДЕ
| НастройкиПользователей.Настройка = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НастройкиПользователей.АдминистраторСистемы)
| И НастройкиПользователей.Значение = ИСТИНА»;
Результат = Запрос.Выполнить();
Если НЕ Результат.Пустой() Тогда
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
ТекЗадача = Задачи.ЗадачиПользователя.СоздатьЗадачу();
ТекЗадача.Наименование=«Ошибка системы»;
ТекЗадача.Дата = ТекущаяДата();
ТекЗадача.Выполнена = ложь;
ТекЗадача.ДатаИсполнения = ТекущаяДата()+900;
ТекЗадача.Инициатор = ПараметрыСеанса.ТекущийПользователь;
ТекЗадача.Исполнитель = Выборка.Пользователь;
ТекЗадача.Оповещение=Истина;
ТекЗадача.Описание = СообщениеОбОшибке;
ТекЗадача.СрокИсполнения = ТекущаяДата() + 1800;
ТекЗадача.СрокОповещения = ТекущаяДата()+ 120;
Если НЕ Заказ=Null Тогда
ТекЗадача.Объект = Заказ;
КонецЕсли;
Попытка
ТекЗадача.Записать();
Исключение
КонецПопытки;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
3. Задать конкретным пользователям ИБ значение Администратор системы.
После чего можно в любом модуле в делать вызов данной функции.
Принципиально она позволяет создавать задачу любой направленности для АдминистратораСистемы.
В итоге выловена ошибка на поиск которой ушел месяц из-за ее плавающего эффекта за 15 минут .