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

03.09.09

Разработка - Универсальные функции

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

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

 

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

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

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

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

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

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

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


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

 

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

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

 

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

 

 

 

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

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

14.05.2025    4087    DeerCven    9    

49

Универсальные функции Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

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

21.05.2024    43124    dimanich70    83    

158

Универсальные функции Программист 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    6359    6    John_d    12    

58

Универсальные функции Программист Стажер 1С v8.3 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    52661    atdonya    31    

67

Универсальные функции Программист 1С v8.3 Бесплатно (free)

На заключительных этапах, когда идет отладка или доработка интерфейса, необходимо много раз переоткрыть внешний объект. Вот один из способов автоматизации этого.

30.11.2023    8117    ke.92@mail.ru    17    

67

WEB-интеграция Универсальные функции Механизмы платформы 1С Программист 1С v8.3 1C:Бухгалтерия Бесплатно (free)

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

28.08.2023    21667    YA_418728146    8    

174
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Re:аниматор 337 01.09.09 12:57 Сейчас в теме
>В итоге выловена ошибка на поиск которой ушел месяц из-за ее плавающего эффекта за 15 минут .

а подключиться к пользователю или подойти к нему когда возникала ошибка сложно было?)

у нас по всем ошибкам, подключаемся к пользователю и все визуально видим. хотя идея гут, что то подобное делал, как по ошибки виндовса, отправить сообщение об ошибке.
2. d.snissarenko 153 01.09.09 15:37 Сейчас в теме
Ошибка была плавающей связанной с дата+время, шла запись в регистры сведений в итоге ТекущаяДата() успевала убежать отчего падал отбор, а идти не совсем рядом ;)
3. d.snissarenko 153 01.09.09 15:38 Сейчас в теме
пс у меня склад работает на тонких клиентах + в политиках подключение к терминальным сессиям заблокировано :(
4. artbear 1582 02.09.09 08:43 Сейчас в теме
(0) У меня сделано по аналогии :)

У тебя значение по умолчанию Заказ=NULL
даст ошибку на ТекЗадача.Объект = Заказ.Ссылка;
исправь :)
5. d.snissarenko 153 02.09.09 10:51 Сейчас в теме
Для отправки сообщения требуется регистрация/авторизация