Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Запуск клиентского сеанса на сервере

Запуск клиентского сеанса на сервере
Я
   SpellKeeper
 
04.10.17 - 16:26
Добрый день.
У меня есть внешняя dll с com-объектами, через которую надо подключиться к сторонней базе (не 1С) и забрать некоторые данные.
Хотел делать это в фоновом задании. Но фоновые задания запускаются на сервере, а там com-объект вызвать нельзя.
На инфостарте предлагается любопытный метод обойти эту проблему.
http://catalog.mista.ru/public/317865/
Но тут вылезает другая проблема.
Из фонового задания не запускается клиентский сеанс.
Если это регламентное задание запустит на клиенте - проходит в лет. А через фоновое - доходит до строки ЗапуститьПриложение(СтрокаЗапуска);
и все. Новый сеанс не создается, и фоновое подвисает в бесконечности. Убить получается только перезапуском службы 1С на сервере.
Подскажите, как обойти эту проблему?
 
 
   SpellKeeper
 
1 - 04.10.17 - 16:28
Забыл.
Работаем на 8.2.
Переход на 8.3 пока не возможен.
   SpellKeeper
 
2 - 04.10.17 - 17:33
up
   d4rkmesa
 
3 - 04.10.17 - 18:27
Я бы сделал по-другому:

СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
    
    appСоединение = Новый COMОбъект("V82.Application");
    
    Попытка
        
        appСоединение.Connect(СтрокаСоединения + " Usr=""" + СокрЛП(Константы._ПользовательЗапускКлиентскихПроцедур.Получить().Наименование) + """;Pwd=""" 
        + СокрЛП(Константы._ПарольПользователяЗапускКлиентскихПроцедур.Получить()) + """");        
        
    Исключение
        
        ЗаписьЖурналаРегистрации("Рассылка отчетов: " + СокрЛП(НастройкаРассылки.Наименование), УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
        Возврат;
        
    КонецПопытки;
    
    appСоединение.Visible = false;
    
    appСоединение.МодульЗапускаКлиентскихПроцедур.НашаКлиентскаяПроцедура(ПараметрЗапуска);
    
    appСоединение.ЗавершитьРаботуСистемы(Ложь);
   Tateossian
 
4 - 04.10.17 - 18:41
(3) Com-объект на сервере (вроде автор об этом упомянул) не создать. (0) А вне фонового задания запускает приложение?
   breezee
 
5 - 04.10.17 - 19:16
А точно ком нельзя на сервере? ComConnector ,tp ghj,ktv jnhf,fnsdfk
   Филиал-msk
 
6 - 04.10.17 - 19:39
(5) Представь себе, что это Линукс
   d4rkmesa
 
7 - 04.10.17 - 20:12
(4) Это же по сути обычный клиент запускается, не com-коннектор с собственным контекстом. Насколько я понял, проблема в том что процедура не работает на сервере. Главное установить 32-разрядный клиент  предприятия на сервере. К примеру, у нас так отчеты на базе универсального рассылаются.
   Филиал-msk
 
8 - 04.10.17 - 20:29
(0) Судя по всему оно хочет какого-то интерактива. Например, пожаловаться на отсутствие доступа, сообщить о нарушении безопасного режима, просто достучаться пользователем сервера до десктопа и т.п.
   SpellKeeper
 
9 - 06.10.17 - 10:33
Подниму тему, т.к. проблема так и не ушла.
Подвисание я убрал. У нас админы чего-то перемудрили при установке 1С. получилось, что процедура КаталогПрограммы() на клиенте и на сервере возвращала разные значения, хотя запускалась на одном компе.

Тем не менее. Ни фоновое задание, ни на сервере клиентское приложение не открывается. Я вывел данные в журнал регистрации, и, судя по ним, клиентская часть даже не запускается. При этом запуск делается через попытку.
    Попытка
        ЗапуститьПриложение(СтрокаЗапуска,,Истина);    
        ЗаписьЖурналаРегистрации("Загрузка ЭЦП", УровеньЖурналаРегистрации.Информация, , , "Клиентское приложение запущено");
    Исключение
        ЗаписьЖурналаРегистрации("Загрузка ЭЦП", УровеньЖурналаРегистрации.Ошибка, , , "Ошибка запуска клиентского приложения " + ОписаниеОшибки());
    КонецПопытки; 
В журнале регистрации сообщение "Клиентское приложение запущено". Т.е. ошибок нет, но по факту клиент не запустился.
   Мыш
 
10 - 06.10.17 - 10:38
(9) > процедура КаталогПрограммы() на клиенте и на сервере возвращала разные значения, хотя запускалась на одном компе

Легко. Сервер 64, клиент 32
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует