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

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 человек.
Рекламное место пустует