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

03.09.09

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

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

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

 

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

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

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

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

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

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

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


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

 

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

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

 

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

 

 

 

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

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3553    Abysswalker    9    

45

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

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

14.05.2025    6572    DeerCven    15    

57

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

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

21.05.2024    49297    dimanich70    83    

170

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

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

1 стартмани

18.03.2024    7369    6    John_d    13    

59

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

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

12.02.2024    61798    atdonya    31    

70

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

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

30.11.2023    9176    ke.92@mail.ru    17    

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

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

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

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