Имя: Пароль:
1C
 
Вопрос от платформы в фоновом задании
0 DrLekter
 
05.06.19
07:51
Столкнулся сегодня с тем, что платформа задает вопросы фоновому заданию. В частности при запуске: "Конфигурация была изменена.Обновить конфигурацию базы данных?". Кто виноват, не интересует, то есть и так понятно. Интересует, что с этим делать - то есть можно ли программно отследить заданный вопрос и что-то ему вернуть, чтобы задание не останавливалось? Задание запускается под пользователем с административными правами.
1 Лодырь
 
05.06.19
08:03
(0) Искреннее интересно как вы это выяснили.
2 Галахад
 
гуру
05.06.19
08:49
(1) + 1.
3 DrLekter
 
05.06.19
08:50
(1) Случайно )
Рассказываю подробности. Обратились ко мне с вопросом, что фоновое задание не отрабатывает. Открываю предприятие под админом, всплывает вопрос про измененную конфигурацию. Я отказываюсь, т.к. не знаю, кто там что менял - мало ли. Запускаю обработку, которая использует фоновое задание, смотрю в журнал регистрации - аутентификация проходит и дальше молчок. Сбрасываю все сеансы, обновляю конфигурацию базы данных (уточнил, что там ничего критичного не меняли), при запуске под админом вопросов не всплывает, запускаю фоновое задание - оно моментально отрабатывает. Что это ещё может быть?
4 Галахад
 
гуру
05.06.19
08:54
(3) Это файловая, что ли? Какая аутентификация у фонового?
5 DrLekter
 
05.06.19
09:04
Платформа 8.3.14.1699, клиент-сервер, обычные формы.
А, вроде понял. Там хитрая схема - фоновое задание запускает приложение от имени выбранного пользователя, чтобы оно выполнило собственно задачу. То есть проходит нормальная аутентификация, это не совсем фоновое задание в обычном понимании. Но вопрос не снимается - все равно ведь сервер запускает 1С, окно приложения при этом не открывается, зачем туда какие-то вопросы задавать?
(зачем так сделано, это отдельный вопрос, нужно было заставить работать под RDP приложение, которое под RDP не работает :) )
6 ДенисЧ
 
05.06.19
09:07
Найти это сообщение и поставь вокруг него #Если Клиент
7 DrLekter
 
05.06.19
09:12
(6) это не мое сообщение, то есть не программное. Это платформа спрашивает )
8 ДенисЧ
 
05.06.19
09:16
(7) Нехорошо быть черепашкой.
Сделать глобальный поиск по конфигурации с этим текстом, почитай вокруг код и иди в угол посыпать голову пеполом
9 Smile 8D
 
05.06.19
09:16
(7) Запускать 1С с ключем:
/DisableStartupMessages -Подавляет стартовые сообщения: «Конфигурация базы данных не соответствует сохраненной конфигурации. Продолжить?»; «Возможностей Вашего компьютера недостаточно для редактирования справки по конфигурации. Для редактирования справки необходимо установить Microsoft Internet Explorer версии 6.0 или выше.»; «Возможностей Вашего компьютера недостаточно для редактирования html-документов, в том числе разделов справки. Для редактирования html-документов необходимо установить Microsoft Internet Explorer версии 6.0 или выше. В данном запуске редактирование html-документов будет недоступно.»

А вообще расписали какую-то кашу. Зачем фоновое задание запускает 1с под пользователем? Почему окно приложения при этом не запускается?
10 DrLekter
 
05.06.19
09:17
(8) Сообщение "Конфигурация была изменена. Сохранить изменения в базе данных?". Нет такого в конфигурации. НЕТ. Это вопрос платформы.
11 Smile 8D
 
05.06.19
09:17
(6) (8) Это же стандартное сообщение платформы. Зачем человека мучаете?
12 DrLekter
 
05.06.19
09:20
(9) Спасибо! Добавлю ключик. Что касается причин такого многоступенчатого решения, я их вкратце уже описал. Таким образом удается убедить внешнее приложение, что оно запускается не из-под RDP, в то время как пользователю нужен именно рабочий стол сервера. Это драйвер оборудования.
13 Cyberhawk
 
05.06.19
09:20
(9) "Зачем фоновое задание запускает 1с под пользователем?" // Видимо не умеет в фоновом (серверном) контексте код выполняться
14 DrLekter
 
05.06.19
09:23
Если я запускаю это приложение просто фоном, оно выполняется от имени виндового пользователя, под которым я запустил свой экземпляр 1с. Приложение видит, что работает под RDP, и бастует. Если же фоновое задание запускает отдельный сеанс 1С, то он выполняется уже от имени USR1CV8, под которым запущен сервер 1с, и приложение работает.
Такой вот костыль.