Имя: Пароль:
1C
1С v8
Понять что код выполняется регламентным заданием, а не клиентом
, ,
0 Double_Medved
 
09.01.17
17:14
Добрый день!
Немножко специфики:
Есть сервер 1с, который стоит на линухе. Работают с базой из-под винды. Есть на винде папка, куда сыпятся всякие xml файлики. Папка синхронизируется с ларьками, рассыпанными по полям нашей родины. На винде это просто D:/папка, а на линуксе это примонтированный сетевой диск /y/папка. То есть разные пути. Регулярно выполняется регламентное задание на сервере, которое сыпет в /y/
Один документ был очень специфичный - его могут проводить тыча мышкой, и он может быть проведен еще и этим регламентым заданием.
При проведении выполняется подписка на событие - до этого проводили только вручную, и подписка на событие кидало фай в D:/папка, теперь проводит еще и регламентное задание. И пытается кинуть в D:/Папка, а не тут-то было! Онож на линуксе, у него нету D:/папка, ему нужен /y/папка! А кусок кода один и тот же. Собственно как можно понять - кто выполняет код? Бухгалтер тычет мышкой или это регламентное задание? В конфигураторе так и отображается - Пользователь(Фоновое задание). Как это понять в коде? Буду очень благодарен, расскажу анекдот
1 Вафель
 
09.01.17
17:15
сыпь в сетевой каталог
2 Вафель
 
09.01.17
17:16
или сделай кусок кода серверным
3 Cool_Profi
 
09.01.17
17:16
ДокументОбъект.<Имя документа>.ДополнительныеСвойства (DocumentObject.<Имя документа>.AdditionalProperties)
ДокументОбъект.<Имя документа> (DocumentObject.<Имя документа>)
ДополнительныеСвойства (AdditionalProperties)
Использование:

Только чтение.
Описание:

Тип: Структура.
Может использоваться в тех случаях, когда необходимо хранить некоторые значения, связанные с объектом, на время выполнения некоторых операций, без изменения объекта. Например, при обработке событий в подписке на события.

Доступность:

Сервер, толстый клиент, внешнее соединение.
4 Double_Medved
 
09.01.17
17:20
Объясню короче: в общем просто надо понять кто выполняет код, так как это пишется в активных пользователях в конфигураторе, например Серега(Толстый клиент), Администратор(Фоновое задание)
5 Double_Medved
 
09.01.17
17:21
(1)Там разные пути у каталога, если сыпать из-под винды или из-под линукса, в этом косяк. Просто надо понять откуда он сейчас сыпет - из-под винды или из-под линукса
6 Cool_Profi
 
09.01.17
17:22
(5) МенеджерПользователейИнформационнойБазы.ТекущийПользователь (InfoBaseUsersManager.CurrentUser)
МенеджерПользователейИнформационнойБазы (InfoBaseUsersManager)
ТекущийПользователь (CurrentUser)
Синтаксис:

ТекущийПользователь()
Возвращаемое значение:

Тип: ПользовательИнформационнойБазы.
Описание пользователя, аутентифицированного в текущем сеансе. Если список пользователей информационной базы пустой, то в качестве текущего пользователя будет возвращен пользователь с пустым именем и идентификатором объекта, полученного методом НайтиПоИмени, если в параметре указано пустое имя.
Описание:

Получает описание текущего пользователя информационной базы.
При начале сеанса работы пользователя с информационной базой описание аутентифицированного пользователя сохраняется в сеансе, и оно становится текущим пользователем. Значения всех свойств текущего пользователя в течение сеанса не меняются и остаются такими, какими они были в момент аутентификации.

Доступность:

Сервер, толстый клиент, внешнее соединение.
Примечание:

Доступен всем пользователям
7 France
 
09.01.17
17:34
а разве ж  UNC тут не прокатит??
8 Double_Medved
 
09.01.17
17:38
А как понять, что это именно тип - фоновое задание? Интересно уже

http://fastpic.ru/view/90/2017/0109/70180c80c299dd6fa107c89610e55476.jpg.html
9 xxTANATORxx
 
09.01.17
17:59
(0)тебе нужно понять на сервере выполняется код или на клиенте
10 Cyberhawk
 
09.01.17
18:10
#Если Клиент Тогда
11 Черный маклер
 
09.01.17
18:15
Какой-нить параметр сеанса в истина в модуле сеанса, а потом в ложь в модуле приложения
12 Fragster
 
гуру
09.01.17
18:18
Глобальный контекст.ПредставлениеПриложения (Global context.ApplicationPresentation)
Глобальный контекст (Global context)
ПредставлениеПриложения (ApplicationPresentation)
Синтаксис:

ПредставлениеПриложения(<ИмяПриложения>)
Параметры:

<ИмяПриложения> (обязательный)

Тип: Строка.
Строка, идентифицирующая приложение.
Допустимые имена:
1CV8 - идентификатор приложения 1С:Предприятие в режиме запуска "Толстый клиент";
1CV8C - идентификатор приложения 1С:Предприятие в режиме запуска "Тонкий клиент";
WebClient - идентификатор приложения 1С:Предприятие в режиме запуска "Веб-клиент";
Designer - идентификатор приложения Конфигуратор;
COMConnection - идентификатор сессии внешнего соединения 1С:Предприятия через COM;
WSConnection - идентификатор сессии Web-сервиса;
BackgroundJob - идентификатор сессии обработки заданий;
SystemBackgroundJob - идентификатор системного фонового задания;
SrvrConsole - идентификатор сессии консоли кластера;
COMConsole - идентификатор административной сессии внешнего соединения;
JobScheduler - идентификатор сессии планировщика заданий;
Debugger - идентификатор сессии отладчика;
OpenIDProvider - провайдер OpenID;
RAS - идентификатор сервера администрирования.
Возвращаемое значение:

Тип: Строка.

Описание:

Позволяет получить локализованное название приложения.

Доступность:

Сервер, толстый клиент, внешнее соединение.
--------------------------------------------------------------------------------

     Методическая информация
13 Cyberhawk
 
09.01.17
19:35
(12) Это ты так типа пошутил? Параметр-то указывать самому надо
14 Злопчинский
 
09.01.17
19:48
без всяких в частных случаях что мешает просто - проверяем наличие ресурса1, если не доступен - сыпем в ресурс2
?
15 youalex
 
09.01.17
21:06
(4) директивы компилятора, не?
16 Lama12
 
09.01.17
21:09
(0) Что б знать каким фоновым заданием меняются данные, под каждое задание делаем отдельного пользователя.