Имя: Пароль:
1C
1С v8
Как отловить в коде обработчика, что он вызывается фоновым заданием?
0 Pro-tone
 
10.10.12
16:34
1. Как отловить в коде обработчика, что он вызывается фоновым заданием?
2. После 1. Как отловить в коде имя пользователя из-под которого запускается фоновое данное задание (ведь ПараметрыСеанса не инициализируются, включая ТекущегоПользователя)?

Спасибо заранее)
1 Pro-tone
 
10.10.12
16:35
Пока мысль только о "#Если внешнее соединение Тогда..."
2 5 Элемент
 
10.10.12
16:35
1. Текущий пользователь будет не задан
2. см 1
3 Heckfy
 
10.10.12
16:36
База SQL?
4 Pro-tone
 
модератор
10.10.12
16:37
(3)да
5 Pro-tone
 
10.10.12
16:37
(2)а больше никак?
6 5 Элемент
 
10.10.12
16:39
Я честно говоря не уверен в 2
7 Pro-tone
 
10.10.12
16:40
(2) сама попытка получить неинициализировавший параметр сеанса скорее всего вызовет ошибку исполнения кода, поэтому твой вариант только через Попытка Исключение разве что возможен
8 Heckfy
 
10.10.12
16:41
(4) Под кем сервер 1С Предприятия запущет, под ним и фоновое задание будет стартовать.
9 5 Элемент
 
10.10.12
16:41
(7) я имел ввиду
МенеджерПользователейИнформационнойБазы (InfoBaseUsersManager)
ТекущийПользователь (CurrentUser)
10 Лефмихалыч
 
10.10.12
16:42
(0) зачем это надо? какая коду разница, кем он вызван?
11 Pro-tone
 
10.10.12
16:44
(8) (9) все же есть пользователь в планировщике еще, мне надо бы его узреть. Как-то не очень ваши варианты. Оба.
12 Pro-tone
 
10.10.12
16:46
(10) коду разница есть, для данного случая - отправка смс регламентно и руками через 1С-предприятие. Если регламентно, то надо из-под пользователя одного. Если ручной режим-то из-под текущего. Подразделение и первого и второго варианта привязаны к учетной записи провайдера смс.
13 5 Элемент
 
10.10.12
16:47
из типовой
Функция ЭтоСеансФоновогоЗадания()
   
   НомерСеанса = НомерСеансаИнформационнойБазы();
   Сеансы = ПолучитьСеансыИнформационнойБазы();
   
   Для каждого Сеанс Из Сеансы Цикл
       Если Сеанс.НомерСеанса = НомерСеанса Тогда
           Возврат Сеанс.ИмяПриложения = "BackgroundJob";
       КонецЕсли;
   КонецЦикла;
   
   Возврат Ложь;
   
КонецФункции
14 Pro-tone
 
10.10.12
16:49
При запуске задание на отправку смс надо анализировать на фоновый режим. И если он фоновый, то это другие учетные данные соединения.

Хотя можно обойтись просто 2мя разными процедурами-обработчиками. И если путного решения не будет предложено, то так и сделаю 2мя, но это менее красиво и вторая простыня кода появится новая.
15 Pro-tone
 
10.10.12
16:54
(13) в УТ11 такого кода не нашел, поэтому напиши тогда пожалуйста
функции, тела так сказать  

НомерСеансаИнформационнойБазы();ПолучитьСеансыИнформационнойБазы();
16 5 Элемент
 
10.10.12
16:55
Это платформенные
17 Pro-tone
 
10.10.12
16:56
(16) ага, спасибо тогда, попробую!
Независимо от того, куда вы едете — это в гору и против ветра!